Blog › WooCommerce performance

How to speed up a WooCommerce store

A 100-millisecond delay in checkout load time can cost you 7% in conversions. WooCommerce sites carry more performance risk than standard WordPress sites — more plugins, more images, and more dynamic content. Here’s what’s slowing yours down and what to fix first.

Why are WooCommerce stores slower than regular WordPress sites?

WooCommerce adds a layer of complexity that doesn’t exist on a blog or brochure site. Cart state, session handling, and real-time stock checks mean pages can’t always be fully cached. Product images are often uploaded at full camera resolution. And most stores accumulate plugins for payment gateways, reviews, wishlists, live chat, and abandoned cart recovery — each one loading its own scripts on every page.

The result is that a WooCommerce store that was fast at launch gradually slows as the product catalog grows and plugins accumulate. A PageSpeed score below 50 is common on stores that haven’t been optimized.

What causes the biggest performance drag on WooCommerce?

1. Unoptimized product images

This is the single biggest contributor on most WooCommerce sites. Product photography is typically shot at high resolution and uploaded without compression. A catalog page with 30 products, each with a 2–4 MB hero image, is downloading 60–120 MB before any optimization — when the same images at the right format and size would total 3–6 MB.

Product images also directly hurt LCP (Largest Contentful Paint) — the main image on a product page is almost always the LCP element. If it’s large and slow to load, your LCP score will be poor regardless of everything else.

2. Too many plugins loading scripts on every page

WooCommerce stores typically run more plugins than a standard WordPress site. Payment gateways, review widgets, live chat tools, and marketing pixels each inject JavaScript. These scripts are often loaded on every page — including the homepage and blog — even when they’re only needed on the cart or product pages. The combined TBT (Total Blocking Time) impact is significant.

3. Cart and session scripts that bypass caching

WooCommerce injects a small piece of JavaScript on every page to check cart state. This script, along with the fragments API call it triggers, can prevent full-page caching from working and forces a PHP render on every visit. Most caching plugins handle this, but only when configured correctly for WooCommerce specifically.

4. Slow server response time

WooCommerce is more demanding on the server than a standard WordPress site. Shared hosting that handles a brochure site acceptably will often struggle with a store. Product page queries, inventory checks, and the WooCommerce session system add database load that cheap shared hosting wasn’t built for.

What are the fastest fixes for a slow WooCommerce store?

Fix 1: Optimize your product images

This is where you’ll get the biggest return for the least effort. Picqlo converts your entire WordPress media library — including all product images — to AVIF and WebP automatically. JPEG product photos typically drop 20–50%; PNG graphics like badges and icons can drop 70–95%+ — with no visible quality difference. New product images are converted as you upload them, so the library stays optimized without manual work.

Picqlo works with WooCommerce without any configuration: it converts the source files in your media library, not the storefront output, so it’s compatible with any WooCommerce theme.

Fix 2: Use a WooCommerce-aware caching plugin

Standard WordPress caching plugins can break WooCommerce cart functionality if not configured correctly. WP Rocket has a dedicated WooCommerce mode that excludes cart, checkout, and account pages from page caching while caching everything else. LiteSpeed Cache is a strong free alternative on LiteSpeed-based hosting. Both handle WooCommerce sessions and fragment caching without manual setup.

Without a caching plugin, every product page visit triggers a full PHP and database cycle. With one, static pages and category pages load from cache instantly.

Fix 3: Audit and defer plugin scripts

Review your installed plugins and remove any you don’t actively use — uninstalling is cleaner than deactivating, as deactivated plugins can leave JavaScript behind. For the plugins you keep, WP Rocket and Perfmatters both let you disable scripts on pages where they aren’t needed, and delay non-critical scripts so they load after the page is visible. A review widget doesn’t need to load on your homepage. A wishlist script doesn’t need to load at checkout.

Fix 4: Enable lazy loading for product images

Lazy loading means images below the fold are only downloaded when the visitor scrolls to them. On a WooCommerce category page with dozens of products, this can reduce the initial data download by 80%. WordPress has had native lazy loading since version 5.5 — check that your theme is not disabling it, and that your WooCommerce product templates include the standard WordPress image functions rather than hardcoded <img> tags.

Fix 5: Check your hosting

If your server response time (TTFB) is consistently over 600ms, hosting is your bottleneck and no front-end optimization will fully compensate. Managed WordPress hosts with WooCommerce-specific infrastructure — like Kinsta or WP Engine — handle the database load WooCommerce creates significantly better than shared plans. If you’re running more than a few hundred products or getting meaningful traffic, managed hosting is worth the cost.

Does WooCommerce itself make a site slow?

WooCommerce adds overhead, but it’s not the primary cause of poor scores on most stores. A well-configured WooCommerce store on decent hosting with optimized images can score 70–85 on PageSpeed Insights. The stores that score in the 20s and 30s are almost always there because of unoptimized images, too many plugins, or underpowered hosting — not WooCommerce itself.

Where should you start?

Run your store’s URL through PageWeight to see your current performance score, which product images are largest, and which third-party scripts are adding the most blocking time. For most WooCommerce stores, fixing images alone moves the score up 15–30 points. That’s the first fix, and it requires no technical knowledge.