Hacked, redirecting or showing a blank page? We clean and restore WordPress sites in 24 hours.

Get emergency help
WP Site Kept.
All guides

WooCommerce

Speeding up a WooCommerce store

28 July 2026 · 6 min read

On this page

WooCommerce is heavier than a brochure site by design, and most general speed advice is written for pages that can be cached. A shop cannot cache the pages that matter most, so the work is different.

Why shops are slower

Cart, checkout and account pages cannot be cached. They are personal to each visitor. Every load runs PHP and queries the database — which means page caching, the biggest win on a normal site, does nothing for your most important pages.

More database work. Products, variations, meta, stock, tax, sessions. A product page with fifty variations is doing real work.

AJAX everywhere. Add to cart, cart fragments, quantity updates. The cart fragments request in particular runs on every page load by default, including pages with no cart on them.

More plugins in the path. Gateway, shipping, tax, subscriptions, reviews. Each adds queries and assets.

What works, in order

1. Hosting

Matters more for shops than for anything else, because the uncacheable pages hit the server directly on every request. If your TTFB is over 500ms, this is your problem and no plugin will fix it.

A shop on $3 shared hosting is an unforced error. WooCommerce-specific hosting is not marketing — more PHP workers and more memory genuinely matter here.

2. Object caching

The single most effective WooCommerce optimisation after hosting, and one most shops do not have.

Redis or Memcached stores database query results in memory, which helps precisely where page caching cannot — cart, checkout, account, and logged-in browsing. Ask your host whether they offer it, then install the matching plugin.

3. Disable cart fragments where they are not needed

WooCommerce loads a cart fragments AJAX request on every page by default, to keep the cart count live. On a site where most pages have no cart widget, that is an uncached request on every page load.

Plugins like Perfmatters or Disable Cart Fragments can limit it to pages that need it. Test the cart count still updates where you show it.

4. Images

Product images are usually the biggest payload on the site, and there are many of them. Resize, WebP, compress, dimensions set. Pay particular attention to variation image galleries, which often load every variation's image up front.

5. Page caching, carefully configured

Still worth it for product and category pages, which are the bulk of your traffic. With cart, checkout and account excluded — verify the exclusions exist after any caching plugin update, because this is a common cause of checkout breaking.

6. Database

WooCommerce session and log tables grow fast. Expired transients, old sessions and orphaned meta accumulate faster on a shop than anywhere else, and this is worth doing quarterly rather than annually.

Also check whether you are on HPOS (High-Performance Order Storage). Newer WooCommerce stores orders in dedicated tables rather than as posts, which is significantly faster at volume. Worth migrating if you have not.

What will break your checkout

Speed advice that is fine on a brochure site and dangerous on a shop:

  • Caching logged-in users. Customers see each other's carts. Never.
  • Aggressive JavaScript deferral or "delay until interaction". Breaks add-to-cart, variation selectors and gateway scripts. Test every payment method if you enable it.
  • Removing unused CSS. The tool guesses, and checkout is exactly the page it guesses wrong on.
  • Combining all JavaScript. Gateway scripts often must load in a specific order.
  • Lazy-loading product gallery images above the fold.

Test a complete order after every performance change. Not a page load — an order, through every payment method, on mobile. Performance work causes more checkout breakage than updates do, because it changes how scripts load.

Measuring it properly

Test the pages that matter: a product page, a category page, and the cart and checkout. Most speed reports only ever look at the homepage, which on a shop is the least important page you have.

Test three times, take the median, and watch Core Web Vitals on product pages specifically — that is where the revenue is.

If you want this done rather than done by you, our speed optimisation is $299 and on a shop includes a full order test afterwards on every payment method, which is the part that makes it safe.

Share this

Would rather not do it yourself?

We keep WordPress sites updated, backed up and fixed.

Weekly updates with a backup taken first and the site checked afterwards, daily off-site backups, malware monitoring with free cleanup, and engineers who answer. From $79 a month, covered within 24 hours.