WooCommerce speed test & optimization

WooCommerce is WordPress plus a shop, so it inherits every WordPress speed issue and adds a few of its own: cart and checkout pages can’t be fully cached, and product catalogues grow the database fast. Test a product page and your shop page, then work down the list.

Try:

Free, no sign-up. Lighthouse on mobile and desktop at once, plus real-user Chrome data, in about 20–40 seconds.

What you can change on WooCommerce

You control hosting, caching, theme, plugins and how images are uploaded. Cart, checkout and account pages are personal to each shopper, so they need a fast server rather than a page cache. Each fix below lists the metric it usually moves; check that metric in your test result to pick where to start.

  1. TTFB

    Cache everything except cart, checkout and account

    Product, category and content pages can be served from a full-page cache. Good caching plugins and managed WooCommerce hosts already exclude the cart, checkout and My Account pages; check that yours does, then make sure the rest are actually cached.

  2. TTFB

    Use hosting with object caching

    Uncacheable pages hit PHP and the database on every request. A persistent object cache (Redis or Memcached) and a current PHP version make those pages respond noticeably faster.

  3. TBT

    Stop loading shop scripts on every page

    Many themes and plugins load WooCommerce scripts and styles site-wide, including on blog posts. Use an asset-manager plugin or theme option to load them only on shop pages.

  4. TBT

    Check cart fragments

    The cart-fragments script keeps the mini-cart updated with an AJAX request. If your theme doesn’t show a live mini-cart, it can be disabled on non-shop pages; recent WooCommerce versions already load it only where the cart widget needs it.

  5. LCP

    Size product images properly

    Set product image sizes in Appearance → Customize → WooCommerce → Product Images to match your theme, regenerate thumbnails, and serve WebP or AVIF. Don’t lazy-load the main product image.

  6. TTFB

    Enable High-Performance Order Storage

    HPOS stores orders in dedicated tables instead of the WordPress posts table, which speeds up order queries on busy stores. It is the default for new stores; older stores can switch in WooCommerce → Settings → Advanced → Features.

Common mistakes

  • Caching the cart or checkout page, which can show one shopper another shopper’s cart.
  • Installing a separate plugin for every small feature: each one can add scripts, styles and database queries.
  • Uploading 4,000 px product photos and relying on the browser to shrink them.

For platform-independent fixes, see the speed optimization checklist, and check page weight with the page size checker.

Questions people ask

Why is my WooCommerce site so slow?

Usually a mix of uncached pages, cheap shared hosting, large product images and plugins that load scripts everywhere. Test a product page: a slow server response points to hosting or caching, a slow LCP with a fast server points to images.

Can I cache WooCommerce pages?

Yes, all except the personal ones. Product, category and content pages can be fully cached; cart, checkout and account pages must not be, because they differ for every shopper.

Is WooCommerce slower than Shopify?

Not inherently. Shopify runs hosting and caching for you, so a default store is predictable. A well-hosted, cached WooCommerce store can be just as fast, but it depends on choices you make.