To speed up WooCommerce, start with the store-specific fixes that general WordPress advice misses: disable cart fragments on non-shop pages, enable High-Performance Order Storage (HPOS), and keep cart, checkout, and account pages out of your cache. Then add fast hosting, Redis object caching, WebP images, and a clean database. Together these changes cut most stores’ load times by 50 to 80%.

We optimize WooCommerce stores, and the pattern is almost always the same. The owner has already tried WP Rocket, switched themes, and deleted a few plugins, and the store got a little faster, then crept back to slow.

The reason is that WooCommerce is not a normal WordPress site, and generic speed advice stops short of the parts that actually make a store heavy. This guide is written for store owners and covers the WooCommerce-specific fixes first, because those are the ones moving the needle on your revenue.

Why is my WooCommerce store so slow?

Your WooCommerce store is slow because it does far more work per page than a normal WordPress site. Every product page runs 60 to 150 database queries for pricing, variations, inventory, reviews, and related products, rebuilt from scratch on each visit, while cart fragments, payment scripts, and session management pile on more load.

The result shows up in the data. WooCommerce stores average just 30 to 55 on Google PageSpeed Mobile, well below the 90 threshold Google treats as good, according to a 2026 performance analysis. WooCommerce powers over 5 million active stores as the world’s most popular eCommerce platform, and out of the box, it is heavy by design because it is doing genuinely complex work.

The specific culprits, in rough order of impact: budget shared hosting without the CPU and RAM a store needs, no server-level or object caching, AJAX cart fragments running on every page, unoptimized product images, a database clogged with expired transients and abandoned sessions, and too many plugins each adding their own scripts. The good news is that every one of these is fixable, and the biggest wins come from a handful of changes.

Why store speed is really about money

For a store, speed is not a vanity metric; it is conversion rate, and the research is blunt about it. Google’s own research shows a one-second delay in mobile load time can cut conversions by up to 20%. Deloitte’s retail study found every 100-millisecond improvement in load time increased conversion rates by 8.4%.

The reason a slow store hurts more than a slow blog is what gets lost. A slow blog loses a reader. A slow store loses a sale, through an abandoned cart, a failed checkout, or a shopper who leaves before the product page even renders. Speeding up your store is one of the few technical changes that pays for itself directly in revenue.

Fix 1: Disable cart fragments on non-shop pages

This is the highest-impact WooCommerce-specific fix, and most store owners have never heard of it. WooCommerce uses an AJAX call called cart fragments to keep the mini-cart updated in real time, and by default it runs on every single page of your site, including your homepage and blog posts where no cart is shown.

That single request adds roughly 200 to 500 milliseconds to every page load, and it conflicts with caching plugins because it is dynamic. Disabling cart fragments on pages that do not need them (everywhere except the shop, cart, and checkout) removes that delay across most of your site.

You can do this with a lightweight plugin like Disable Cart Fragments, or with a small code snippet that dequeues the script off non-shop pages. For most stores this is the single fastest visible improvement available.

Fix 2: Enable High-Performance Order Storage (HPOS)

HPOS is a WooCommerce feature that stores your orders in dedicated database tables instead of the general WordPress posts table, and it is one of the biggest structural speed wins for any store with real order volume. According to WooCommerce’s own tests, HPOS makes creating orders up to five times faster and the checkout process about 1.5 times quicker.

Here is why it matters. In the old system, WooCommerce stored orders in the same table as blog posts and pages, so every order operation had to search through a bloated, shared table. As stores accumulate thousands of orders, that gets slow, especially in your admin where your team works daily. HPOS gives orders their own optimized tables and indexes.

New stores built on WooCommerce 8.2 (October 2023) or later have it on by default, but stores built before that, or migrated from elsewhere, often still run the old way. Turn it on under WooCommerce, then Settings, then Advanced, then Features. Leave compatibility mode on at first so you can switch back cleanly, and confirm your order-related plugins support HPOS, since an incompatible one disables the option until it updates.

Fix 3: Cache correctly (and know what NOT to cache)

Caching is essential for a store, but WooCommerce caching has a rule that breaks stores when ignored: never cache the cart, checkout, or my-account pages. These pages are dynamic and personal to each shopper, and serving a cached version shows one customer another’s cart or a stale total.

Set up caching in two layers. Full-page caching serves static HTML for your homepage, product pages, and category pages, the pages that can safely be cached, using a plugin like WP Rocket or LiteSpeed Cache.

Object caching with Redis stores the results of those heavy database queries so they are not rebuilt every time, which is one of the highest-impact fixes for the dynamic pages caching cannot touch.

Just confirm your caching setup automatically excludes cart, checkout, and account, which quality WooCommerce hosts and cache plugins do by default. If shoppers report seeing the wrong cart, a caching misconfiguration is almost always the cause.

Fix 4: Get hosting built for eCommerce

Hosting sets the ceiling for everything else, and a store demands more from a server than a blog does. Because cart, checkout, and logged-in pages cannot be cached, they run full PHP and hit the database on every visit, so your raw server speed directly shapes the shopping experience.

Look for hosting with modern PHP (8.2 or higher), Redis object caching support, server-level full-page caching, and enough dedicated CPU and RAM. Moving from budget shared hosting to commerce-focused hosting can cut Time to First Byte by 40 to 60% on its own. If your store makes money, hosting is not the place to save $10 a month; it is the foundation the rest of these fixes build on.

Fix 5: Optimize product images

Product images are the heaviest visible asset on most stores, and a catalog full of unoptimized photos crawls. A category page loading dozens of large product thumbnails is a common, fixable bottleneck.

Do three things. Convert images to WebP, which cuts file size significantly with no visible quality loss, using a plugin like ShortPixel or Imagify. Enable lazy loading so off-screen product images load only as the shopper scrolls. And serve properly sized images rather than shrinking huge files with CSS, so a thumbnail is actually a thumbnail. For stores with large catalogs, batch conversion tools handle the whole library at once.

Fix 6: Clean and maintain your database

WooCommerce databases bloat faster than regular WordPress because every order, session, and transient adds rows. Over time this clutter slows the queries your store runs on every page.

Clean it regularly: remove expired transients, delete abandoned cart sessions, clear old order and product revisions, and remove trashed orders. A plugin like WP-Optimize handles routine cleanup safely, and always back up before database work. This is ongoing maintenance, not a one-time task, because a busy store re-accumulates clutter continuously. Enabling HPOS (Fix 2) also reduces the order-table bloat that hits this layer hardest.

Fix 7: Trim scripts, plugins, and payment gateways

Every plugin and payment gateway loads its own JavaScript and CSS, and on a store these stack up fast. Payment gateway scripts are a frequent hidden cause, because gateways like Stripe and PayPal often load their scripts site-wide even though they are only needed at checkout.

The fixes: load payment gateway scripts only on the checkout page, not across the whole site. Defer non-critical JavaScript so it loads after the page renders. Remove plugins that duplicate functionality, and prefer a lightweight, WooCommerce-friendly theme (Kadence, GeneratePress, Blocksy) over a heavy multipurpose one.

A note on page builders: Elementor and Divi add 200 to 400KB of CSS and JavaScript per page, so for cart, checkout, and product pages, native WooCommerce blocks and a light theme convert better than a builder-heavy layout.

How fast should a WooCommerce store be, and how much can you improve it?

Aim for load times under two to three seconds and passing Core Web Vitals (LCP, INP, CLS), the same signals Google uses for ranking. Most stores can realistically get there. With the combination above, hosting, caching, HPOS, cart fragments, images, and database, stores commonly cut load times by 50 to 80%, and stores previously loading in 6 to 8 seconds regularly reach 1 to 2 seconds after full optimization.

One honest limit worth knowing: caching plugins improve your static pages but cannot speed up cart, checkout, and logged-in pages, which are the highest-value pages in your store. Those depend on hosting, Redis, HPOS, and clean code rather than page caching. That is why “just install a caching plugin” advice only takes a store so far, and why the store-specific fixes in this guide matter more than generic tips.

When to bring in a professional

Many of these fixes, cart fragments, image optimization, database cleanup, enabling HPOS, are safe for a store owner to do.

Others carry real risk on a live store that is taking orders. Configuring Redis with correct cache invalidation, setting cache-bypass rules so checkout never serves stale data, or replacing a misbehaving plugin is where a mistake can cost you sales or expose customer data.

If you have worked through these fixes and the store is still slow, or you would rather not experiment on a store generating active revenue, that is a reasonable point to bring in a WooCommerce performance specialist.

The math is simple: if speed drives conversions and every 100 milliseconds measurably moves revenue, professional optimization on a real store usually pays for itself.

Conclusion

Speeding up WooCommerce is different from speeding up a normal WordPress site, and the store-specific fixes are what general guides miss. Start with the big three: disable cart fragments on non-shop pages, enable HPOS for up to five-times-faster orders, and cache correctly while never caching cart, checkout, or account pages.

Add commerce-grade hosting with Redis, WebP images, and regular database cleanup, and most stores cut load times by 50 to 80%. This matters because store speed is revenue: a one-second delay can cut conversions by up to 20%. And when the risky, high-value pages need work beyond caching, a specialist usually pays for themselves.

Frequently Asked Questions

Why is my WooCommerce store so slow?

WooCommerce does far more work per page than a normal site, running 60 to 150 database queries per product page plus cart fragments, payment scripts, and session management. Common causes are cheap hosting, no caching, cart fragments on every page, large images, and a bloated database. Most stores average just 30 to 55 on PageSpeed Mobile.

What are cart fragments and should I disable them?

Cart fragments are an AJAX request WooCommerce runs on every page to update the mini-cart, adding 200 to 500 milliseconds per load and conflicting with caching. You should disable them on pages that do not show a cart (everywhere except shop, cart, and checkout). It is often the single fastest visible speed improvement for a store.

Does HPOS make WooCommerce faster?

Yes. High-Performance Order Storage moves orders into dedicated database tables, and WooCommerce’s own tests show up to five-times-faster order creation and about 1.5-times-faster checkout. The improvement is biggest on stores with many orders, especially in the admin. It is on by default for stores built on WooCommerce 8.2 or later, and switchable on for older stores.

Why is my WooCommerce cart and checkout still slow after caching?

Because cart and checkout cannot be cached; they are dynamic and personal to each shopper, so they run full PHP on every visit. Page caching only speeds up static pages. To speed up cart and checkout, you need fast hosting, Redis object caching, HPOS, and lean code rather than page caching.

How much can I speed up my WooCommerce store?

With the right combination of commerce hosting, Redis caching, a CDN, HPOS, image optimization, and database cleanup, most stores reduce load times by 50 to 80%. Stores previously loading in 6 to 8 seconds regularly reach 1 to 2 seconds after full optimization. Hosting and caching deliver the largest single improvements.

Should I use a page builder for my WooCommerce store?

Not for cart, checkout, or product pages. Page builders like Elementor and Divi add 200 to 400KB of CSS and JavaScript per page, which hurts conversion where it matters most. Use a lightweight theme (Kadence, GeneratePress, Blocksy) with native WooCommerce blocks for shop and checkout pages instead.

Want your store fast without risking a live checkout?

Store speed is revenue, but the highest-impact fixes (Redis, cache-bypass rules, HPOS, code cleanup) are also the riskiest to test on a store that is taking orders. That is where we come in. Survyc optimizes WooCommerce stores for speed and Core Web Vitals, safely, and keeps them fast with ongoing maintenance. Reach out to Survyc and tell us about your store, and we will find what is slowing it down and fix it without putting your sales at risk.