WooCommerce homepages with vs without the cart fragments request
| Metric | Fires get_refreshed_fragments | Does not | Base (with / without) |
|---|---|---|---|
| CWV pass rate | 34.5% | 37.3% | 9,346 / 11,220 with CrUX |
| Median p75 LCP | 2,758 ms | 2,618 ms | 9,346 / 11,220 |
| Median p75 TTFB | 1,639 ms | 1,491 ms | 9,346 / 11,220 |
| Median JavaScript | 1.10 MB | 0.91 MB | 9,889 / 12,110 |
| Share of Top 100K stores | 27.8% | 72.2% | 85 / 221 |
Source: PageSpeed Matters, Sept 2026. HTTP Archive top 1M crawl, mobile, CrUX p75. Speed gaps are correlations.
Summary
WooCommerce uses a request called get_refreshed_fragments to update the mini cart in a store's header, such as the item count and cart total. It is an AJAX call made after the page loads, and because the answer is different for every visitor, page caches usually cannot serve it. On a busy store, that means extra work for the server on every page view that triggers it.
We checked how many WooCommerce stores still fire it. Across the top 1M sites, 45.0% of WooCommerce store homepages (9,889 of 21,999) send the request on load. Popular stores fire it far less often, and stores that fire it are a little slower in real-user data.
What we measured
We used the HTTP Archive crawl of the top 1M sites from September 2026, on mobile. We took every page detected as running WooCommerce and flagged it when the crawl recorded a request to wc-ajax=get_refreshed_fragments during the page load. That gave 21,999 WooCommerce homepages and 21,511 inner pages.
For speed, we joined the homepages to Chrome UX Report (CrUX) field data at the 75th percentile. 9,346 firing homepages and 11,220 non-firing homepages had CrUX data. A store passes Core Web Vitals when loading, responsiveness and visual stability are all good for real visitors.
Two limits apply. Some themes fire the call only once per session, so a single crawl can miss it on stores that do use it. And the speed gaps below are correlations, not proof that the request causes them.
Nearly half of WooCommerce stores fire the request
9,889 of 21,999 WooCommerce homepages in the top 1M (45.0%) fire get_refreshed_fragments on load. Inner pages look the same: 46.1% of the 21,511 we crawled send the request too. So this is not a homepage quirk. The mini cart usually sits in a header that appears on every page, so the request tends to follow it across the site.
Some stores fire it more than once. 7.4% of firing homepages (733 of 9,889) send the request two or more times during a single page load. That likely points to more than one script listening for cart updates, such as a theme mini cart plus a plugin cart drawer, each asking the server for the same data.
45.0%
Share of top 1M WooCommerce store homepages (9,889 of 21,999) that fire the get_refreshed_fragments cart request on load.
Popular stores fire it far less
Among the 306 WooCommerce stores in the Top 100K, only 27.8% fire the request on their homepage. In the rest of the top 1M, 45.2% of 21,693 stores do.
The bigger stores are likely to have developers who have turned the request off, replaced the mini cart, or moved cart updates to a lighter method. Smaller stores more often run a theme and plugins as they came, and many of those still request cart fragments on every page.
Stores that fire it are slower, by a modest margin
WooCommerce homepages that fire the call pass Core Web Vitals 34.5% of the time (9,346 with CrUX data), against 37.3% for homepages that don't (11,220).
The timing numbers point the same way. Firing homepages have a median p75 time to first byte (TTFB) of 1,639 ms against 1,491 ms, and a median p75 Largest Contentful Paint (LCP) of 2,758 ms against 2,618 ms. They also load more JavaScript: a median 1.10 MB against 0.91 MB.
These gaps are modest, and the request is probably not the only reason for them. Firing stores also load more JavaScript, which points to heavier setups overall. Read the gap as a likely sign of a less tuned store, not as the measured cost of one request.
What this means for your store
Check whether your store fires the request. Open your homepage, open the browser's network panel, filter for get_refreshed_fragments and reload. Then open a product page and a blog post and check again, and note whether it fires more than once.
If it does fire, decide whether you need it:
- If your header shows a live cart count, keep the feature but make sure only one script requests it.
- If you have no mini cart, or the cart count can wait until the shopper adds an item, disable the cart fragments script on pages that do not need it.
- Exclude cart, checkout and account pages from any change, and test add to cart, cart totals and checkout after each change.
Then compare your TTFB and LCP before and after in PageSpeed Insights or your CrUX data, so you can see what the change was worth.
Sources
- HTTP Archive crawl of the top 1M sites, September 2026, mobile
- Chrome UX Report (CrUX) p75 field data, September 2026
- Chrome UX Report documentation, Google: https://developer.chrome.com/docs/crux
Embed this research
Paste this on your site to embed the chart. It links back to the source automatically.
<iframe id="psm-woocommerce-cart-fragments" src="https://www.pagespeedmatters.com/embed/data-studies/woocommerce-cart-fragments" width="100%" height="600" style="width:100%;border:1px solid #E2E3E1;border-radius:12px" loading="lazy" title="WooCommerce Cart Fragments: 45.0% of Stores Fire Them - PageSpeed Matters"></iframe>
<script>window.addEventListener("message",function(e){if(e&&e.data&&e.data.psmEmbed==="woocommerce-cart-fragments"&&e.data.height){var f=document.getElementById("psm-woocommerce-cart-fragments");if(f){f.style.height=e.data.height+"px";}}});</script>
<p style="font:14px/1.5 system-ui,sans-serif">Source: <a href="https://www.pagespeedmatters.com/resources/data-studies/woocommerce-cart-fragments">WooCommerce Cart Fragments: 45.0% of Stores Fire Them - PageSpeed Matters</a></p>
Frequently asked questions
What is get_refreshed_fragments in WooCommerce?
It is the AJAX request WooCommerce uses to update the mini cart, such as the item count in the header, after the page loads. 45.0% of top 1M WooCommerce store homepages (9,889 of 21,999) fire it on load.
Do WooCommerce cart fragments slow down a store?
Stores that fire the request are slower on average: they pass Core Web Vitals 34.5% of the time against 37.3% for stores that don't, with a median p75 TTFB of 1,639 ms against 1,491 ms. This is a correlation, not proof that the request alone causes the gap.
Do big WooCommerce stores use cart fragments?
Less often. Only 27.8% of the 306 WooCommerce stores in the Top 100K fire the request on their homepage, against 45.2% of the 21,693 in the rest of the top 1M.
How do I check if my store fires cart fragments?
Open your store in a browser, open the network panel, filter for get_refreshed_fragments and reload the page. In the crawl, 7.4% of firing homepages sent the request two or more times in one page load, so check how many times it appears too.
Cart fragments can usually be turned off or limited to the pages that need them without breaking the cart, which takes uncached work off the server on every page view. Need help with this? See our WooCommerce maintenance service.