Why a green score and a slow store coexist
It is entirely possible for a WooCommerce store to pass every test an owner runs and still be slow for real shoppers, because the test and the experience are measuring different things. The owner tests the homepage, in a tool, once, on a fast connection. The shopper experiences a product page, on a phone, on mobile data, with reviews and related products and a cart loading, after clicking through from an ad. These are not the same event, and a store is full of places where they diverge. The score is not lying. It is answering a narrower question than the owner thinks they asked. Understanding a store’s real performance means understanding the specific ways the standard audit and the real experience come apart.
Gap one: the audit tests your fastest page
The homepage is almost always the fastest, most optimised, most cacheable page on a store, and it is the page nearly everyone tests. It is built to load fast, it is served from cache to most visitors, and it carries less of the heavy machinery the shopping pages do. Meanwhile the pages that actually matter for an ecommerce business, the product page, the category and shop pages, the cart, and the checkout, are heavier, more dynamic, and frequently slower, and they are the pages a buyer spends time on. Judging a store by its homepage score is like judging a restaurant by how quickly it pours the water. Google does not score the homepage in isolation, and neither should the owner. The honest test is the product and category pages a real customer lands on, not the front door.
Gap two: the lab score is not what Google ranks
The number most owners read, the score from a single test run, is a lab measurement: a simulated load under controlled conditions, useful for diagnosis but not what Google uses to rank. Google ranks on field data, the Core Web Vitals of real visitors collected over the previous twenty-eight days, drawn from actual devices and connections. The two can disagree sharply. A store can score in the nineties in the lab and fail in the field, because real customers are on slower phones and worse connections than the test assumes, and because the field data includes the heavy, interactive, uncacheable pages that a lab test of the homepage never touched. Optimising the lab score until it is green, and assuming the field has followed, is the most common way a store owner spends effort without moving the number that actually counts.
Gap three: your checkout cannot be cached
The usual answer to a slow WordPress site is caching, and on a store it has a specific blind spot the audit hides. Page caching works by serving a saved copy of a page, which is why the homepage and static pages are fast. But the cart, the checkout, the account area, and anything personalised cannot be served from a static cache, because they are different for every visitor and change in real time. These are precisely the pages where money changes hands, and they are precisely the pages caching does not help. So the homepage flies, the audit looks healthy, and the checkout, the single most important page in the business, is left running at full weight with no cache to rescue it. An audit of cacheable pages tells you nothing about the performance of the uncacheable ones, which on a store are the ones that decide whether the sale completes.
The WooCommerce weight tax
WooCommerce adds weight to a site in ways a standard audit reports but rarely explains, and much of it lands on every page rather than only the shop. By default, WooCommerce loads its styles and scripts across the whole site, including pages with nothing to do with shopping, so a contact page can be carrying the cart’s machinery for no reason. The best-known example is cart fragments, a script that updates the cart total live and, in its default state, runs on every single page load across the entire site, querying the server constantly even where no cart is shown. Individually these are small. Together they are a tax applied site-wide, and because the audit shows the symptom, a slow score, without naming the cause, owners rarely connect the slowness on an unrelated page to the store engine running underneath it. Loading WooCommerce’s assets only where they are actually used is one of the larger wins available, and it is invisible to a homepage score.
Why INP is the metric that catches stores out
Of the three Core Web Vitals, the one that punishes WooCommerce hardest is responsiveness, measured as Interaction to Next Paint, and it is the one homepage audits most often miss. INP measures how quickly a page reacts when a visitor interacts with it, and a store is nothing but interactions: variation swatches, quantity steppers, add-to-cart, filters, sorting, mini-cart updates. Each of those is JavaScript, and the more of it running, the longer the delay between a tap and a response. A homepage has little to interact with, so it posts a clean INP and the audit looks fine, while the product page, dense with interactive controls and the scripts behind them, responds sluggishly to every tap. Because responsiveness is felt rather than seen, owners often register it only as a vague sense that the store feels heavy, without realising it is a measured failure on the exact pages where buying decisions happen. A general explanation of why sites carry this kind of script weight is covered in a separate Targetiv article.
The third-party script load stores carry
Stores accumulate more third-party scripts than almost any other kind of site, and each one is loaded from someone else’s server, on the owner’s page, at the visitor’s expense. A typical WooCommerce store runs payment provider scripts, a reviews widget, trust and security badges, live chat, analytics, a marketing pixel or two, and often retargeting and advertising tags layered on over time for campaigns that have long since ended. Every one delays the page and competes for the browser’s attention, and several of them load on every page rather than only where they are needed. A standard audit will flag that third-party code is slowing the site, but it will not tell the owner which scripts are still earning their place and which are dead weight from a forgotten campaign. That judgement, what to keep, what to defer, and what to remove, is where the real recovery is, and it is specific to each store’s history.
How to measure a store's Core Web Vitals honestly
Measuring a WooCommerce store properly means correcting for each gap the standard audit leaves:
- Test the revenue pages, not the homepage. Run the product, category, cart, and checkout pages, because those are what customers use and what the field data reflects.
- Read the field data, not just the lab score. Google’s own field measurements, available through Search Console and the Chrome User Experience data, show what real visitors experience over time, which is what ranking and reality both depend on.
- Measure on real mobile conditions. A mid-range phone on mobile data is the representative case, not a desktop on office wifi.
- Separate cacheable from uncacheable. Know that the homepage and static pages are the easy case and the cart and checkout are the real one, and judge them apart.
- Watch responsiveness specifically. INP on interactive pages will reveal problems a load-time score on a simple page hides.
None of this requires expensive tools. It requires testing the right pages, on the right conditions, against the right data, which is exactly what the convenient homepage audit avoids.
What actually moves the numbers
Once a store is measured honestly, the fixes that matter on WooCommerce are fairly consistent, and they are mostly about removing weight rather than adding tools:
- Load WooCommerce’s styles and scripts only on the pages that use them, so the rest of the site stops carrying the shop’s machinery.
- Tame or disable cart fragments where the live cart total is not needed, removing a constant drain from every page.
- Audit the third-party scripts ruthlessly, keeping what earns its place, deferring what can wait, and removing what no longer serves a purpose.
- Give every product image explicit dimensions and a sensible format, so images stop shifting the layout and dragging loading times.
- Reduce and defer the JavaScript behind interactive elements, which is what improves the responsiveness stores fail on.
- Use a caching and hosting setup built for the dynamic pages a store actually runs, not one tuned only for static content.
These are build and configuration decisions, not a plugin to install, and their effect shows up where it matters: on the product and checkout pages, in the field data, for a real customer on a phone. The full method by which we diagnose and prioritise this is covered in a separate Targetiv article on what a performance audit involves.
Key takeaways
- A green homepage score and a slow store routinely coexist, because the audit and the customer’s experience measure different things.
- The standard audit tests the homepage, the fastest and most cacheable page, not the product and checkout pages that carry the business.
- The lab score is not what Google ranks. Google uses field data from real visitors, which includes the heavy, uncacheable pages.
- The cart and checkout cannot be cached, so caching, the usual fix, does nothing for the pages where the sale completes.
- WooCommerce applies a weight tax site-wide, loading its assets and cart fragments even on pages that do not need them.
- Responsiveness, measured as INP, is where stores fail hardest, because shopping pages are dense with interactive JavaScript the homepage lacks.
- Stores carry an unusually heavy third-party script load, much of it outdated, and the audit names the symptom without identifying the cause.
- Measure the revenue pages on real mobile conditions against field data, and fix by removing weight, not adding tools.
Frequently asked questions
Why does my WooCommerce store score well but feel slow?
Because the score almost always comes from testing the homepage, the fastest and most cacheable page, in a lab. The pages customers use, product, cart, and checkout, are heavier, more interactive, and often uncacheable, and they are not reflected in a homepage test. The store feels slow where the homepage score never looked.
Does caching fix WooCommerce Core Web Vitals?
Only partly. Caching speeds up static and homepage content, but the cart, checkout, and account pages cannot be cached because they are unique to each visitor and change in real time. Those are the pages where buying happens, so caching alone leaves the most important performance untouched.
What is the biggest performance problem on WooCommerce?
There is no single one, but the most overlooked are the site-wide weight WooCommerce loads on every page, including cart fragments running everywhere, and the responsiveness cost of interactive shopping pages dense with JavaScript. Both are hidden by a homepage audit and felt most on the pages that drive sales.
Should I test my homepage or my product pages?
Your product, category, cart, and checkout pages. Those are what customers use and what Google’s field data reflects. The homepage is the least representative page on the store and the one most likely to give a falsely reassuring result.
Is lab data or field data more important for my store?
Field data, for what matters. Lab data is useful for diagnosing a specific page in detail, but Google ranks on field data from real visitors, and field data is what reflects the real conditions, slower phones, worse connections, heavier pages, that your customers actually face.
Request a WooCommerce performance audit from Targetiv. We test the pages that matter, on real mobile conditions, against the field data Google actually uses, and give you a ranked list of what to fix and what each item is worth.
