80% off for waitlist membersJoin now and lock in Launch from $39.80 or Lifetime from $49.80 

← Back to Guides

WooCommerce PageSpeed Score: What Is Good and How to Improve It

WPBundle Team··11 min read
woocommerce pagespeed scorewoocommerce google pagespeedimprove woocommerce pagespeedwoocommerce lighthouse score

You ran your WooCommerce store through Google PageSpeed Insights and the score is... not great. Maybe it's 38. Maybe 52 if you're lucky. You're now searching for answers, and every guide tells you the same things: install a caching plugin, optimise images, use a CDN.

Those help. But they don't fix the root problem. This guide explains why WooCommerce PageSpeed scores are low, what you can realistically achieve with optimisation, and what to do when you hit the ceiling.

Check your score

Run your store through our free WooCommerce Speed Audit to get your mobile PageSpeed score, Core Web Vitals, and the top 5 things slowing you down. Or install the WooCommerce Speed Audit plugin for a deeper audit including Shop, Cart, and Checkout pages plus headless compatibility scanning.

What is a good PageSpeed score for WooCommerce?

Google rates scores on a traffic-light system: 0–49 is red (poor), 50–89 is orange (needs improvement), and 90–100 is green (good). But for WooCommerce, you need to calibrate your expectations:

30–50

Average WooCommerce store

60–80

Well-optimised WooCommerce

90–100

Headless WooCommerce

If your WooCommerce store scores above 60 on mobile, you're ahead of most competitors. That doesn't mean 60 is good enough — it means the platform has a structural limitation that most people don't talk about.

Why WooCommerce scores are inherently low

WooCommerce is built on WordPress, which generates pages using PHP on the server. Every page request triggers a full execution cycle: load WordPress core, load the theme, load all plugins, query the database, render HTML, and send it to the browser.

For cacheable pages (homepage, product listings), a caching plugin can serve pre-built HTML and skip most of that process. But WooCommerce has three critical pages that cannot be cached:

  • Cart — shows user-specific items, quantities, and prices. Must be generated fresh every time.
  • Checkout — dynamic form with shipping rates, payment gateway integration, and nonce tokens. Cannot be cached.
  • My Account — user-specific order history, addresses, and subscriptions.

These are also your highest-value pages — the pages that directly generate revenue. And they're the slowest pages on your site because no caching plugin can help them.

Test all your pages

Many store owners only test their homepage. Your homepage is usually your fastest page because caching works well there. Test your product pages, cart, and checkout separately. The WooCommerce Speed Audit plugin audits Shop, Cart, and Checkout automatically so you see the full picture.

What affects your PageSpeed score

Server response time (TTFB)

Time to First Byte measures how long your server takes to respond. For WooCommerce, this is heavily influenced by your hosting, the number of active plugins, and database query complexity. A typical WooCommerce TTFB is 600ms–2s on shared hosting, 200–600ms on managed hosting, and under 100ms with a headless CDN-served frontend.

JavaScript execution

WooCommerce and its plugins inject significant JavaScript: jQuery, cart fragments (wc-cart-fragments.js), payment gateway scripts, tracking pixels, and theme JS. Each script must be downloaded, parsed, and executed. This directly impacts Total Blocking Time and Time to Interactive.

Image optimisation

Product images are often the largest assets on the page. Without proper sizing, lazy loading, and modern formats (WebP/AVIF), images can account for 80%+ of page weight. WooCommerce generates multiple image sizes but the default theme handling is rarely optimal.

Plugin overhead

The average WooCommerce store runs 30–50 plugins. Each plugin adds PHP execution time, database queries, and often frontend CSS and JavaScript — even on pages where the plugin isn't needed. This is the silent killer of WooCommerce performance.

How to improve your score: the realistic version

Quick wins (can gain 10–25 points)

  1. Install a caching plugin — WP Rocket, LiteSpeed Cache, or WP Super Cache. This is the single highest-impact change for cacheable pages.
  2. Optimise images — install Smush or ShortPixel. Enable WebP conversion and lazy loading. Set appropriate dimensions on all product images.
  3. Disable cart fragments on non-cart pages — the wc-cart-fragments.js script fires an AJAX request on every page load. Disable it everywhere except the cart page.
  4. Use a CDN — Cloudflare (free tier works) puts your static assets closer to visitors. Set up proper cache headers.

Medium effort (can gain 5–15 more points)

  1. Audit and remove plugins — use Query Monitor to identify which plugins add the most database queries and frontend scripts. Remove or replace the worst offenders.
  2. Switch to a lighter theme — page builders like Elementor, Divi, and WPBakery add 1–3MB of extra assets. Switching to a lightweight theme like Kadence or GeneratePress can significantly reduce page weight.
  3. Enable object caching — install Redis or Memcached to cache database queries. This helps most on uncached pages.
  4. Upgrade hosting — shared hosting is a bottleneck. Managed WordPress hosting (Cloudways, WP Engine, Kinsta) typically halves your TTFB.

The ceiling

After all these optimisations, most WooCommerce stores land between 65 and 80 on PageSpeed for cacheable pages. Cart and Checkout pages will still be 40–60 because they can't benefit from page caching. That's not a configuration problem — it's an architecture problem.

Breaking through the ceiling

If you've optimised everything and your score is stuck, you've hit the architectural limit of traditional WooCommerce. The PHP rendering pipeline, the plugin-loaded JavaScript, and the uncacheable commerce pages all create a hard floor that no configuration can eliminate.

The fix is headless commerce: keep WooCommerce as your backend (products, orders, payments, plugins) but replace the PHP frontend with a Next.js storefront served from a CDN. The result:

  • Pages load in under 1 second from edge servers worldwide
  • Cart and Checkout pages are as fast as your homepage
  • No PHP execution on the frontend — just pre-rendered React components
  • Core Web Vitals that consistently score 90+

Your WooCommerce admin, plugins, payment gateways, and product catalogue stay exactly as they are. You just get a frontend that actually performs.

Audit your store now

Start with the data. Run your audit, understand your scores, fix the quick wins, and see where you land:

Ready to go headless?

Join the WPBundle waitlist and get beta access completely free.

Join the Waitlist