{"id":1034,"date":"2026-07-28T21:28:24","date_gmt":"2026-07-28T21:28:24","guid":{"rendered":"https:\/\/www.ahosting.net\/blog\/?p=1034"},"modified":"2026-07-28T22:09:34","modified_gmt":"2026-07-28T22:09:34","slug":"fix-woocommerce-cart-fragments-slow","status":"publish","type":"post","link":"https:\/\/www.ahosting.net\/blog\/fix-woocommerce-cart-fragments-slow\/","title":{"rendered":"How to Fix WooCommerce Cart Fragments Slowing Every Page (2026)"},"content":{"rendered":"\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What is the wc-ajax=get_refreshed_fragments request and why does it slow every page?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Specifically, get_refreshed_fragments is a WooCommerce AJAX call that refreshes the mini-cart count, and by default it fires on every page on your site, including pages with no cart. Because it hits admin-ajax and cannot be full-page cached, each call consumes a PHP worker and adds latency to the initial response. The threshold table in this guide shows exactly which page types need it and which do not.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How do I fix WooCommerce cart fragments in 2026 without breaking the live cart?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Fortunately, you dequeue the wc-cart-fragments script everywhere except the cart and checkout pages using a short child-theme functions.php snippet, then verify in the Network panel that no wc-ajax call fires on other pages. On a LiteSpeed host you additionally enable LSCache ESI so the mini-cart stays live while the page stays cached, which keeps the cart working on shop pages without the sitewide AJAX call.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Dequeue script vs LSCache ESI: which method should a WooCommerce store use?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"In practice, the two methods solve different halves of the problem and are strongest together. Dequeuing wc-cart-fragments stops the AJAX call on pages that never show a cart, while LSCache ESI hole-punches the mini-cart on pages that do, so the surrounding page still serves from cache. The comparison table in this guide breaks down when each method is enough on its own.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Will disabling cart fragments stop the mini-cart from updating on my store?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Generally, no, provided you scope the fix correctly. Dequeuing the script only on pages that have no cart leaves the cart and checkout pages untouched, and enabling LSCache ESI keeps the mini-cart count live on shop and product pages. The verification step in this guide has you add a product to the cart to confirm the count still increments after the fix.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Why does the WooCommerce cart fragments call consume a PHP entry process on AHosting?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Specifically, the wc-ajax request bypasses full-page cache because it must return live cart data, so it runs PHP on every hit and consumes one CloudLinux entry process per request. AHosting publishes its per-plan entry-process counts openly, with WooStart set at 25 to match Silver-level concurrency, so you can size the impact of uncached cart traffic against real numbers rather than guesswork.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Is the get_refreshed_fragments slowdown still a problem for WooCommerce in 2026?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Yes, because the sitewide cart fragments behavior remains a WooCommerce default in 2026 and is not removed by full-page caching alone. Any store that has not scoped the script or enabled ESI still pays the uncached-AJAX cost on every page load. The diagnostic checker in this guide confirms in seconds whether your store is affected.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"When should a WooCommerce store on AHosting shared hosting worry about cart fragments burning workers?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Typically, the impact becomes material once concurrent visitors approach your plan's entry-process ceiling, because each uncached fragments call holds a worker that a cached page would not. On an AHosting WooStart plan at 25 entry processes, a burst of shoppers browsing non-cart pages can queue behind fragments calls that add nothing. The worker-cost table in this guide shows how the math changes as concurrency rises.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Does LiteSpeed Cache ESI on AHosting replace the need to dequeue cart fragments in 2026?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Notably, ESI reduces the cost but does not fully replace scoping the script. ESI lets a cached page carry a live mini-cart hole-punch, yet the fragments AJAX still fires where the script is loaded. Combining ESI with a dequeue on cart-free pages removes both the wasted call and keeps the live cart, which is why this guide recommends both on a LiteSpeed host.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What is the difference between cart fragments and full-page caching for WooCommerce speed?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"In contrast to full-page caching, which serves a whole static page with zero PHP, cart fragments deliberately run live PHP to keep dynamic cart data current. Full-page cache cannot cover the fragments call because the response must change per session. Understanding this split is what lets you cache aggressively while still hole-punching only the truly dynamic mini-cart, as the guide explains.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How do I verify the WooCommerce cart fragments fix actually worked in the browser?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"First, open your browser DevTools Network panel, filter for wc-ajax, and reload a page with no cart, such as your About page. After the fix, no get_refreshed_fragments request should appear there, while adding a product on a shop page still updates the mini-cart. The step-by-step verification in this guide walks through both checks so you confirm the call is gone without breaking the cart.\"\n      }\n    }\n  ]\n}\n<\/script>\n\n\n<div class=\"wp-block-aioseo-table-of-contents\"><ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-what-woocommerce-cart-fragments-actually-are-and-why-they-touch-every-page-5\">What WooCommerce Cart Fragments Actually Are (And Why They Touch Every Page)<\/a><ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-why-the-uncacheable-call-costs-more-than-it-looks-8\">Why the Uncacheable Call Costs More Than It Looks<\/a><\/li><\/ul><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-where-cart-fragments-fire-vs-where-they-are-actually-needed-11\">Where Cart Fragments Fire vs. Where They Are Actually Needed<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-how-to-fix-woocommerce-cart-fragments-in-four-steps-16\">How to Fix WooCommerce Cart Fragments in Four Steps<\/a><ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-first-confirm-the-symptom-in-the-network-panel-18\">First, Confirm the Symptom in the Network Panel<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-second-dequeue-wc-cart-fragments-outside-cart-and-checkout-20\">Second, Dequeue wc-cart-fragments Outside Cart and Checkout<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-third-enable-lscache-esi-to-keep-the-mini-cart-live-on-cached-pages-24\">Third, Enable LSCache ESI to Keep the Mini-Cart Live on Cached Pages<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-fourth-verify-the-fix-without-breaking-the-cart-27\">Fourth, Verify the Fix Without Breaking the Cart<\/a><\/li><\/ul><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-dequeue-script-vs-lscache-esi-which-method-does-what-29\">Dequeue Script vs. LSCache ESI: Which Method Does What To Fix WooCommerce Cart Fragments<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-what-cart-fragments-cost-in-php-workers-on-ahosting-32\">Cart Fragments Cost in PHP Workers on AHosting<\/a><ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-the-concurrency-math-worker-cost-by-visitor-load-34\">The Concurrency Math: Worker Cost by Visitor Load<\/a><\/li><\/ul><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-cart-fragments-diagnostic-checker-38\">How You Fix WooCommerce Cart Fragments &#8211; Our Diagnostic Checker<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-a-practical-checklist-is-your-woocommerce-store-cart-fragments-clean-41\">A Practical Checklist: Is Your WooCommerce Store Cart-Fragments-Clean?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#faq-cart-fragments\">Frequently Asked Questions About How to Fix WooCommerce Cart Fragments<\/a><ul><li><a class=\"aioseo-toc-item\" href=\"#faq-what-is-get-refreshed-fragments\">What is the wc-ajax=get_refreshed_fragments request and why does it slow every page?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#faq-fix-without-breaking-cart\">How do I fix WooCommerce cart fragments in 2026 without breaking the live cart?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#faq-dequeue-vs-esi\">Dequeue script vs LSCache ESI: which method should a WooCommerce store use to fix WooCommerce Cart Fragments?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#faq-disable-stops-minicart\">Will disabling cart fragments stop the mini-cart from updating on my store?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#faq-entry-process-cost\">Why does the WooCommerce cart fragments call consume a PHP entry process on AHosting and what will fix WooCommerce cart fragments?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#faq-still-a-problem-2026\">Is the get_refreshed_fragments slowdown still a problem for WooCommerce in 2026?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#faq-shared-hosting-worry\">When should a WooCommerce store on AHosting shared hosting worry about cart fragments burning workers?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#faq-esi-replaces-dequeue\">Does LiteSpeed Cache ESI on AHosting replace the need to dequeue cart fragments in 2026?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#faq-fragments-vs-fullpage\">What is the difference between cart fragments and full-page caching for WooCommerce speed?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#faq-verify-in-browser\">How do I verify the WooCommerce cart fragments fix actually worked in the browser?<\/a><\/li><\/ul><\/li><\/ul><\/div>\n\n\n<div class=\"ah-tldr\">\n  <span class=\"ah-tldr-badge\">TL;DR<\/span>\n  <p>To fix WooCommerce cart fragments slowing every page, dequeue the wc-cart-fragments script outside cart and checkout, then enable LSCache ESI so the mini-cart stays live while pages stay cached.<\/p>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">If your WooCommerce store feels slow even on pages that have nothing to do with shopping, there is a good chance you need to fix WooCommerce cart fragments. By default, WooCommerce fires a small AJAX request named <code>get_refreshed_fragments<\/code> on <em>every<\/em> page load, including your About page, your blog posts, and your contact page. Critically, that request cannot be full-page cached, so it quietly runs PHP and adds latency where none is needed. Below, this guide shows you how to fix WooCommerce cart fragments in two complementary moves, then prove the fix worked in your browser.<\/p>\n\n\n\n<figure class=\"wp-block-audio\"><audio controls src=\"https:\/\/www.ahosting.net\/blog\/wp-content\/uploads\/2026\/07\/COMPRESSED-Stop_WooCommerce_cart_fragments_from_slowing_stores.m4a\"><\/audio><figcaption class=\"wp-element-caption\">Listen: why WooCommerce cart fragments slow every page, and the two-lever fix that keeps the cart live while pages stay cached. By Matt Chrust, Director of Business Development, AHosting.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Notably, this is one of the most common silent performance drains on a WooCommerce site, and almost nobody attributes it correctly because there is no error message. Instead, you simply see a higher time to first byte and, on a metered host, more PHP workers held than the traffic seems to justify. Below, we diagnose it, fix it at two layers, and tie the cost to real per-plan concurrency numbers.<\/p>\n\n\n\n<h2 id=\"aioseo-what-woocommerce-cart-fragments-actually-are-and-why-they-touch-every-page-5\" class=\"wp-block-heading\">What WooCommerce Cart Fragments Actually Are (And Why They Touch Every Page)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">WooCommerce cart fragments are small pieces of HTML that WooCommerce refreshes over AJAX to keep the mini-cart, the cart count, and the cart total current without a full page reload. Specifically, the mechanism is the <code>get_refreshed_fragments<\/code> action, delivered through a script called <code>wc-cart-fragments<\/code>. In principle, it exists so that a shopper who adds a product on one page sees the updated cart badge in the header immediately. That is genuinely useful behavior on shop and product pages.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, WooCommerce enqueues that script sitewide, not only where a cart is relevant. As a result, the browser fires <code>wc-ajax=get_refreshed_fragments<\/code> on pages that display no cart at all. Consequently, the call reaches <code>admin-ajax<\/code>, which means it must run PHP on the server, which in turn means it cannot be served from full-page cache. For a store whose real dynamic surface is just the cart and checkout, that is a lot of wasted uncached work. Notably, the official behavior is documented in the <a href=\"https:\/\/developer.woocommerce.com\/docs\/\" target=\"_blank\" rel=\"noopener\">WooCommerce developer documentation<\/a>, and the underlying script-dequeue mechanism is a standard part of the <a href=\"https:\/\/developer.wordpress.org\/reference\/functions\/wp_dequeue_script\/\" target=\"_blank\" rel=\"noopener\">WordPress script API<\/a>.<\/p>\n\n\n\n<h3 id=\"aioseo-why-the-uncacheable-call-costs-more-than-it-looks-8\" class=\"wp-block-heading\">Why the Uncacheable Call Costs More Than It Looks<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Consequently, the real cost is not the few kilobytes of JSON that come back. Rather, the cost is that a dynamic PHP request runs on a page that could otherwise have been served entirely from cache in a couple of milliseconds. On a static, cached WordPress response, no PHP worker is consumed at all, because <a href=\"https:\/\/docs.litespeedtech.com\/lscache\/lscwp\/esi\/\" target=\"_blank\" rel=\"noopener\">LiteSpeed Cache serves the page at the web-server layer<\/a> before PHP starts. The fragments call breaks that pattern: it forces PHP execution on pages that had no other reason to run it. In practice, this is why the caching layer underneath a store matters as much as the store itself; AHosting&#8217;s <a href=\"\/wordpress-hosting.html\" target=\"_blank\" rel=\"noopener\">LiteSpeed-based WordPress hosting<\/a> serves cached pages at the web-server layer precisely so that PHP is reserved for requests that truly need it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Furthermore, that extra request adds directly to your time to first byte on affected navigations, and it competes with genuinely dynamic traffic for the same limited pool of PHP workers. The Mozilla developer network defines <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Glossary\/Time_to_first_byte\" target=\"_blank\" rel=\"noopener\">time to first byte<\/a> as the interval before the first byte of the response arrives, and every uncached PHP call sits squarely inside that window. Independent measurement corroborates how much server response time shapes real-world performance: the <a href=\"https:\/\/httparchive.org\/reports\/loading-speed\" target=\"_blank\" rel=\"noopener\">HTTP Archive loading-speed reports<\/a> track time to first byte across millions of sites, and slow uncached responses consistently drag those distributions down.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Fix WooCommerce Cart Fragments Slowing Every Page (2026)\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube-nocookie.com\/embed\/QuZ23k5VQ6c?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 id=\"aioseo-where-cart-fragments-fire-vs-where-they-are-actually-needed-11\" class=\"wp-block-heading\">Where Cart Fragments Fire vs. Where They Are Actually Needed<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Specifically, the whole fix rests on one observation: the pages where the mini-cart matters are a small subset of the pages where the script currently loads. Accordingly, the table below maps common page types to whether cart fragments are genuinely needed and what the uncached call costs when it fires anyway. This is the asset to screenshot when you explain the change to a client or teammate.<\/p>\n\n\n\n<figure class=\"wp-block-table ah-ladder\"><table><thead><tr><th>Page type<\/th><th>Mini-cart needed here?<\/th><th>Fragments call by default?<\/th><th>Cost when it fires<\/th><\/tr><\/thead><tbody><tr><td>Shop \/ product archive<\/td><td>Yes<\/td><td>Yes<\/td><td>Justified \u2014 keep it live<\/td><\/tr><tr><td>Single product page<\/td><td>Yes<\/td><td>Yes<\/td><td>Justified \u2014 keep it live<\/td><\/tr><tr><td>Cart page<\/td><td>Yes<\/td><td>Yes<\/td><td>Justified \u2014 never dequeue here<\/td><\/tr><tr><td>Checkout page<\/td><td>Yes<\/td><td>Yes<\/td><td>Justified \u2014 never dequeue here<\/td><\/tr><tr><td>Home page<\/td><td>Usually (header badge)<\/td><td>Yes<\/td><td>Use ESI, not a raw call<\/td><\/tr><tr><td>Blog post \/ article<\/td><td>Rarely<\/td><td>Yes<\/td><td>Wasted PHP worker<\/td><\/tr><tr><td>About \/ Contact page<\/td><td>No<\/td><td>Yes<\/td><td>Wasted PHP worker<\/td><\/tr><tr><td>Landing \/ policy pages<\/td><td>No<\/td><td>Yes<\/td><td>Wasted PHP worker<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">WooCommerce cart fragments coverage vs. need, by page type. The rows marked &#8220;wasted&#8221; are what the fix removes.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In practice, most stores find that the majority of their page views are exactly the rows marked &#8220;wasted&#8221; \u2014 content, informational, and policy pages that never show a functioning cart. That is why scoping the script pays off: you are removing the call from the pages people read most, while keeping it exactly where shopping happens.<\/p>\n\n\n\n<div class=\"ah-infographic\">\n<svg viewBox=\"0 0 1000 520\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" role=\"img\" aria-label=\"Diagram comparing WooCommerce cart fragments before and after the fix\">\n  <title>WooCommerce cart fragments: before vs after the fix<\/title>\n  <desc>Before the fix, every page fires an uncacheable wc-ajax get_refreshed_fragments call that consumes a PHP worker. After the fix, content pages serve from cache with zero PHP while the cart and checkout keep a live mini-cart via LSCache ESI.<\/desc>\n  <rect x=\"0\" y=\"0\" width=\"1000\" height=\"520\" fill=\"#0f172a\" rx=\"16\"\/>\n  <rect x=\"0\" y=\"0\" width=\"10\" height=\"520\" fill=\"#2563eb\" rx=\"6\"\/>\n  <text x=\"40\" y=\"52\" fill=\"#ffffff\" font-family=\"Poppins, Arial, sans-serif\" font-size=\"26\" font-weight=\"700\">WooCommerce Cart Fragments: Before vs After<\/text>\n  <text x=\"40\" y=\"80\" fill=\"#94a3b8\" font-family=\"Poppins, Arial, sans-serif\" font-size=\"16\">Where the uncacheable wc-ajax call fires \u2014 and what the fix removes<\/text>\n\n  <!-- BEFORE column -->\n  <text x=\"40\" y=\"128\" fill=\"#f87171\" font-family=\"Poppins, Arial, sans-serif\" font-size=\"19\" font-weight=\"700\">BEFORE \u2014 sitewide uncached call<\/text>\n  <rect x=\"40\" y=\"146\" width=\"420\" height=\"330\" fill=\"#111c33\" rx=\"12\"\/>\n  <g font-family=\"Poppins, Arial, sans-serif\">\n    <rect x=\"62\" y=\"168\" width=\"376\" height=\"52\" fill=\"#1e293b\" rx=\"8\"\/>\n    <text x=\"80\" y=\"200\" fill=\"#e2e8f0\" font-size=\"16\">About page<\/text>\n    <text x=\"422\" y=\"200\" fill=\"#f87171\" font-size=\"15\" text-anchor=\"end\">wc-ajax  PHP<\/text>\n    <rect x=\"62\" y=\"228\" width=\"376\" height=\"52\" fill=\"#1e293b\" rx=\"8\"\/>\n    <text x=\"80\" y=\"260\" fill=\"#e2e8f0\" font-size=\"16\">Blog post<\/text>\n    <text x=\"422\" y=\"260\" fill=\"#f87171\" font-size=\"15\" text-anchor=\"end\">wc-ajax  PHP<\/text>\n    <rect x=\"62\" y=\"288\" width=\"376\" height=\"52\" fill=\"#1e293b\" rx=\"8\"\/>\n    <text x=\"80\" y=\"320\" fill=\"#e2e8f0\" font-size=\"16\">Contact page<\/text>\n    <text x=\"422\" y=\"320\" fill=\"#f87171\" font-size=\"15\" text-anchor=\"end\">wc-ajax  PHP<\/text>\n    <rect x=\"62\" y=\"348\" width=\"376\" height=\"52\" fill=\"#1e293b\" rx=\"8\"\/>\n    <text x=\"80\" y=\"380\" fill=\"#e2e8f0\" font-size=\"16\">Product page<\/text>\n    <text x=\"422\" y=\"380\" fill=\"#fbbf24\" font-size=\"15\" text-anchor=\"end\">wc-ajax  PHP<\/text>\n    <text x=\"62\" y=\"438\" fill=\"#f87171\" font-size=\"15\">Every page runs PHP &#8211; workers burned<\/text>\n  <\/g>\n\n  <!-- arrow -->\n  <text x=\"500\" y=\"320\" fill=\"#2563eb\" font-family=\"Poppins, Arial, sans-serif\" font-size=\"40\" font-weight=\"700\" text-anchor=\"middle\">-&gt;<\/text>\n\n  <!-- AFTER column -->\n  <text x=\"540\" y=\"128\" fill=\"#86efac\" font-family=\"Poppins, Arial, sans-serif\" font-size=\"19\" font-weight=\"700\">AFTER \u2014 scoped + LSCache ESI<\/text>\n  <rect x=\"540\" y=\"146\" width=\"420\" height=\"330\" fill=\"#111c33\" rx=\"12\"\/>\n  <g font-family=\"Poppins, Arial, sans-serif\">\n    <rect x=\"562\" y=\"168\" width=\"376\" height=\"52\" fill=\"#1e293b\" rx=\"8\"\/>\n    <text x=\"580\" y=\"200\" fill=\"#e2e8f0\" font-size=\"16\">About page<\/text>\n    <text x=\"922\" y=\"200\" fill=\"#86efac\" font-size=\"15\" text-anchor=\"end\">cached  0 PHP<\/text>\n    <rect x=\"562\" y=\"228\" width=\"376\" height=\"52\" fill=\"#1e293b\" rx=\"8\"\/>\n    <text x=\"580\" y=\"260\" fill=\"#e2e8f0\" font-size=\"16\">Blog post<\/text>\n    <text x=\"922\" y=\"260\" fill=\"#86efac\" font-size=\"15\" text-anchor=\"end\">cached  0 PHP<\/text>\n    <rect x=\"562\" y=\"288\" width=\"376\" height=\"52\" fill=\"#1e293b\" rx=\"8\"\/>\n    <text x=\"580\" y=\"320\" fill=\"#e2e8f0\" font-size=\"16\">Contact page<\/text>\n    <text x=\"922\" y=\"320\" fill=\"#86efac\" font-size=\"15\" text-anchor=\"end\">cached  0 PHP<\/text>\n    <rect x=\"562\" y=\"348\" width=\"376\" height=\"52\" fill=\"#1e293b\" rx=\"8\"\/>\n    <text x=\"580\" y=\"380\" fill=\"#e2e8f0\" font-size=\"16\">Cart \/ Checkout<\/text>\n    <text x=\"922\" y=\"380\" fill=\"#38bdf8\" font-size=\"15\" text-anchor=\"end\">ESI  live cart<\/text>\n    <text x=\"562\" y=\"438\" fill=\"#86efac\" font-size=\"15\">Content cached &#8211; cart stays live via ESI<\/text>\n  <\/g>\n\n  <text x=\"40\" y=\"504\" fill=\"#64748b\" font-family=\"Poppins, Arial, sans-serif\" font-size=\"14\">AHosting.net  \u00b7  LiteSpeed + LSCache  \u00b7  WooStart = 25 entry processes<\/text>\n<\/svg>\n<\/div>\n\n\n\n<h2 id=\"aioseo-how-to-fix-woocommerce-cart-fragments-in-four-steps-16\" class=\"wp-block-heading\">How to Fix WooCommerce Cart Fragments in Four Steps<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">To fix WooCommerce cart fragments, dequeue the wc-cart-fragments script everywhere except cart and checkout, enable LSCache ESI so the mini-cart stays live on cached pages, then verify in DevTools that no wc-ajax call fires off-cart. The four steps below do exactly that, in order.<\/p>\n\n\n\n<h3 id=\"aioseo-first-confirm-the-symptom-in-the-network-panel-18\" class=\"wp-block-heading\">First, Confirm the Symptom in the Network Panel<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">First, open a page on your store that has no cart on it \u2014 your About page is ideal. Then, open your browser developer tools, select the Network panel, and type <code>wc-ajax<\/code> into the filter box. Reload the page. If your store is affected, you will see a request named <code>get_refreshed_fragments<\/code> appear even though nothing on that page uses a cart. That single request is the symptom you are about to eliminate. If it does not appear on the first load, add one product to your cart, reload the About page, and it will fire because a cart session now exists.<\/p>\n\n\n\n<h3 id=\"aioseo-second-dequeue-wc-cart-fragments-outside-cart-and-checkout-20\" class=\"wp-block-heading\">Second, Dequeue wc-cart-fragments Outside Cart and Checkout &#8211; The Forgotten Step to Fix WooCommerce Cart Fragments<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Next, add the following snippet to your <strong>child theme<\/strong> <code>functions.php<\/code>. Specifically, it removes the fragments script on every page except the cart and checkout, so the AJAX call no longer fires on your content pages. Using a child theme matters: editing the parent theme directly means your change is wiped on the next theme update.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>add_action( 'wp_enqueue_scripts', 'ahosting_scope_cart_fragments', 11 );\nfunction ahosting_scope_cart_fragments() {\n    if ( function_exists( 'is_cart' ) &amp;&amp; function_exists( 'is_checkout' ) ) {\n        if ( ! is_cart() &amp;&amp; ! is_checkout() ) {\n            wp_dequeue_script( 'wc-cart-fragments' );\n        }\n    }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Then save the file. The priority of <code>11<\/code> ensures the code runs after WooCommerce has enqueued its own scripts, so there is something to dequeue. If you prefer not to edit PHP, a code-snippets plugin can hold the same function \u2014 the logic is identical, only the delivery differs.<\/p>\n\n\n\n<h3 id=\"aioseo-third-enable-lscache-esi-to-keep-the-mini-cart-live-on-cached-pages-24\" class=\"wp-block-heading\">Third, Enable LSCache ESI to Keep the Mini-Cart Live on Cached Pages<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">On a LiteSpeed host, enable ESI next. Specifically, Edge Side Includes let LiteSpeed Cache serve a fully cached page while &#8220;hole-punching&#8221; one small dynamic region \u2014 in this case the mini-cart \u2014 so the badge stays live without making the whole page uncacheable. In the LiteSpeed Cache plugin, open <strong>Cache \u2192 ESI<\/strong>, turn <strong>Enable ESI<\/strong> on, and save. This is the move that lets you keep a live cart on your home and shop pages without paying for a sitewide uncached fragments call. Fortunately, AHosting runs LiteSpeed Web Server with LSCache available, so ESI is a server-native option rather than a workaround.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Moreover, ESI and the dequeue snippet are complementary, not redundant. The snippet removes the call where the cart is never shown; ESI keeps the cart live and cached where it is shown. Together they close both halves of the problem, which is why a LiteSpeed store should apply both rather than choosing one. If you want the background on why server-layer caching changes the math in the first place, our guide on <a href=\"https:\/\/www.ahosting.net\/blog\/wordpress-litespeed-hosting-2026\/\" target=\"_blank\" rel=\"noopener\">why LiteSpeed server-level caching changes everything<\/a> explains how the cache tier sits in front of PHP.<\/p>\n\n\n\n<h3 id=\"aioseo-fourth-verify-the-fix-without-breaking-the-cart-27\" class=\"wp-block-heading\">Fourth, Verify the Fix Without Breaking the Cart<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Finally, prove it. Then, return to your About page with the <code>wc-ajax<\/code> Network filter still active and hard-reload. The <code>get_refreshed_fragments<\/code> request should no longer appear. Then navigate to a shop or product page, click Add to Cart, and confirm the mini-cart count still increments. If the call is gone from your content pages and the cart still updates where it should, the fix is complete and correct. The checker below turns this into a quick self-diagnosis.<\/p>\n\n\n\n<h2 id=\"aioseo-dequeue-script-vs-lscache-esi-which-method-does-what-29\" class=\"wp-block-heading\">Dequeue Script vs. LSCache ESI: Which Method Does What To Fix WooCommerce Cart Fragments<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Because the two methods are easy to confuse, here is the direct comparison. Notably, most stores need both, but understanding which lever does what helps you decide the minimum change for your setup.<\/p>\n\n\n\n<figure class=\"wp-block-table ah-ladder\"><table><thead><tr><th>Factor<\/th><th>Dequeue wc-cart-fragments<\/th><th>LSCache ESI hole-punch<\/th><\/tr><\/thead><tbody><tr><td>What it does<\/td><td>Stops the AJAX call on chosen pages<\/td><td>Keeps a live mini-cart on a cached page<\/td><\/tr><tr><td>Best for<\/td><td>Content, blog, policy, About pages<\/td><td>Home, shop, product pages that need the badge<\/td><\/tr><tr><td>Requires code?<\/td><td>Yes \u2014 a small functions.php snippet<\/td><td>No \u2014 a LiteSpeed Cache toggle<\/td><\/tr><tr><td>Requires LiteSpeed?<\/td><td>No \u2014 works on any host<\/td><td>Yes \u2014 LiteSpeed Web Server + LSCache<\/td><\/tr><tr><td>Effect on PHP workers<\/td><td>Removes wasted uncached calls<\/td><td>Serves the page from cache, punches one region<\/td><\/tr><tr><td>Risk if misapplied<\/td><td>Dequeuing on cart\/checkout breaks the cart<\/td><td>None \u2014 falls back to normal caching<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Two levers, two jobs. On a LiteSpeed host, apply both; on a non-LiteSpeed host, the dequeue snippet is the primary fix.<\/figcaption><\/figure>\n\n\n\n<h2 id=\"aioseo-what-cart-fragments-cost-in-php-workers-on-ahosting-32\" class=\"wp-block-heading\">Cart Fragments Cost in PHP Workers on AHosting<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Specifically, the reason this fix matters on shared hosting is that every uncached fragments call consumes one CloudLinux entry process \u2014 one PHP worker slot \u2014 for the duration of the request. AHosting allocates entry processes by plan tier and, unlike hosts that hide these numbers, publishes them so you can size a plan against real concurrency math. In practice, Bronze provides 15 entry processes, Silver 25, Gold 40, and the WooCommerce-focused <a href=\"\/woocommerce-hosting.html\" target=\"_blank\" rel=\"noopener\">WooStart plan matches Silver at 25 entry processes<\/a> and 1024MB of container memory, sized for cart and checkout concurrency.<\/p>\n\n\n\n<h3 id=\"aioseo-the-concurrency-math-worker-cost-by-visitor-load-34\" class=\"wp-block-heading\">The Concurrency Math: Worker Cost by Visitor Load<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">As a result, the worker cost of unscoped cart fragments scales with how many people are browsing your non-cart pages at once. The table below shows the concurrency math. It is the citable figure to keep in mind when deciding whether this is a five-minute cleanup or a genuine capacity issue.<\/p>\n\n\n\n<figure class=\"wp-block-table ah-ladder\"><table><thead><tr><th>Concurrent visitors on content pages<\/th><th>Fragments calls in flight (unscoped)<\/th><th>Workers held on WooStart (25 EP)<\/th><th>After scoping the script<\/th><\/tr><\/thead><tbody><tr><td>5<\/td><td>Up to 5<\/td><td>Up to 5 of 25<\/td><td>0 \u2014 pages serve from cache<\/td><\/tr><tr><td>10<\/td><td>Up to 10<\/td><td>Up to 10 of 25<\/td><td>0 \u2014 pages serve from cache<\/td><\/tr><tr><td>20<\/td><td>Up to 20<\/td><td>Up to 20 of 25 (queue risk)<\/td><td>0 \u2014 pages serve from cache<\/td><\/tr><tr><td>25+<\/td><td>25+<\/td><td>Ceiling hit \u2014 queue or 503<\/td><td>0 \u2014 pages serve from cache<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Uncached cart fragments worker cost by concurrency on an AHosting WooStart plan (25 entry processes). Scoping the script drops the content-page cost to zero because those pages serve from cache with no PHP.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Notably, when a burst of visitors on content pages approaches your entry-process ceiling, CloudLinux LVE briefly queues the excess rather than rejecting it instantly, and only requests that cannot drain in time receive a 503. Cached pages never enter that scenario at all, which is precisely why removing the wasted fragments call is worth doing before you consider a plan upgrade. For the broader worker-sizing picture, our guide on <a href=\"https:\/\/www.ahosting.net\/blog\/woocommerce-hosting-2026\/\" target=\"_blank\" rel=\"noopener\">why most WooCommerce stores fail at checkout<\/a> covers how cart, checkout, and object caching fit together on the same worker budget.<\/p>\n\n\n\n<h2 id=\"aioseo-cart-fragments-diagnostic-checker-38\" class=\"wp-block-heading\">How You Fix WooCommerce Cart Fragments &#8211; Our Diagnostic Checker<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Use the checker below to decide which fix your store needs. Answer three quick questions about your setup and it will recommend whether to dequeue the script, enable ESI, or do both.<\/p>\n\n\n\n<style>\n.ahcf-tool{background:#0f172a;border-radius:14px;padding:26px 24px 30px;margin:26px 0;color:#e2e8f0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;}\n.ahcf-tool h3{color:#fff;font-size:1.25rem;margin:0 0 6px;font-weight:700;}\n.ahcf-sub{color:#94a3b8;font-size:.9rem;margin:0 0 20px;}\n.ahcf-q{margin:0 0 18px;}\n.ahcf-q p{color:#e2e8f0;font-size:.98rem;font-weight:600;margin:0 0 10px;}\n.ahcf-opts{display:flex;flex-wrap:wrap;gap:8px;}\n.ahcf-opt{background:#1e293b;border:1px solid #334155;color:#cbd5e1;border-radius:8px;padding:9px 14px;font-size:.9rem;cursor:pointer;transition:all .15s ease;}\n.ahcf-opt:hover{border-color:#2563eb;color:#fff;}\n.ahcf-opt.ahcf-on{background:#2563eb;border-color:#2563eb;color:#fff;font-weight:600;}\n.ahcf-out{background:#111c33;border-left:4px solid #2563eb;border-radius:0 8px 8px 0;padding:16px 18px;margin:22px 0 0;display:none;}\n.ahcf-out.ahcf-show{display:block;}\n.ahcf-out strong{color:#fff;display:block;font-size:1.02rem;margin:0 0 6px;}\n.ahcf-out span{color:#cbd5e1;font-size:.93rem;line-height:1.6;}\n.ahcf-cta{display:inline-block;margin:16px 0 0;background:#2563eb;color:#fff!important;text-decoration:none!important;font-weight:600;font-size:.92rem;padding:11px 20px;border-radius:8px;}\n<\/style>\n<div class=\"ahcf-tool\" id=\"ahcf-root\">\n  <h3>Cart Fragments Diagnostic Checker<\/h3>\n  <p class=\"ahcf-sub\">Three questions. Get the exact fix for your store.<\/p>\n  <div class=\"ahcf-q\" data-ahcf-q=\"cache\">\n    <p>1. Is your store on a LiteSpeed host with LSCache?<\/p>\n    <div class=\"ahcf-opts\">\n      <button type=\"button\" class=\"ahcf-opt\" data-ahcf-val=\"yes\">Yes, LiteSpeed + LSCache<\/button>\n      <button type=\"button\" class=\"ahcf-opt\" data-ahcf-val=\"no\">No \/ not sure<\/button>\n    <\/div>\n  <\/div>\n  <div class=\"ahcf-q\" data-ahcf-q=\"pages\">\n    <p>2. Do most of your page views land on content pages (blog, About, policy)?<\/p>\n    <div class=\"ahcf-opts\">\n      <button type=\"button\" class=\"ahcf-opt\" data-ahcf-val=\"yes\">Yes, mostly content<\/button>\n      <button type=\"button\" class=\"ahcf-opt\" data-ahcf-val=\"no\">Mostly shop \/ product<\/button>\n    <\/div>\n  <\/div>\n  <div class=\"ahcf-q\" data-ahcf-q=\"badge\">\n    <p>3. Do you need a live mini-cart badge in the header on those cached pages?<\/p>\n    <div class=\"ahcf-opts\">\n      <button type=\"button\" class=\"ahcf-opt\" data-ahcf-val=\"yes\">Yes, keep the badge live<\/button>\n      <button type=\"button\" class=\"ahcf-opt\" data-ahcf-val=\"no\">No, badge not needed there<\/button>\n    <\/div>\n  <\/div>\n  <div class=\"ahcf-out\" id=\"ahcf-out\">\n    <strong id=\"ahcf-out-title\"><\/strong>\n    <span id=\"ahcf-out-body\"><\/span>\n    <br>\n    <a class=\"ahcf-cta wp-element-button\" href=\"\/vps-hosting.html\">Need guaranteed workers? See VPS hosting<\/a>\n  <\/div>\n<\/div>\n<script>\n(function(){\n  document.addEventListener('DOMContentLoaded', function(){\n    var root = document.getElementById('ahcf-root');\n    if (!root) { return; }\n    var out = document.getElementById('ahcf-out');\n    var outTitle = document.getElementById('ahcf-out-title');\n    var outBody = document.getElementById('ahcf-out-body');\n    if (!out) { return; }\n    if (!outTitle) { return; }\n    if (!outBody) { return; }\n    var answers = { cache: '', pages: '', badge: '' };\n    \/\/ handle a click on any option button via delegation\n    root.addEventListener('click', function(e){\n      var btn = e.target;\n      if (!btn) { return; }\n      var val = btn.getAttribute('data-ahcf-val');\n      if (!val) { return; }\n      var group = btn.parentNode;\n      if (!group) { return; }\n      var qwrap = group.parentNode;\n      if (!qwrap) { return; }\n      var key = qwrap.getAttribute('data-ahcf-q');\n      if (!key) { return; }\n      \/\/ clear other buttons in this question\n      var sibs = group.getElementsByClassName('ahcf-opt');\n      var i;\n      for (i = 0; i < sibs.length; i++) {\n        sibs[i].classList.remove('ahcf-on');\n      }\n      btn.classList.add('ahcf-on');\n      answers[key] = val;\n      maybeRender();\n    });\n    function maybeRender(){\n      if (answers.cache === '') { return; }\n      if (answers.pages === '') { return; }\n      if (answers.badge === '') { return; }\n      render();\n    }\n    function render(){\n      var title = '';\n      var body = '';\n      var liteSpeed = answers.cache === 'yes';\n      var needBadge = answers.badge === 'yes';\n      if (liteSpeed) {\n        if (needBadge) {\n          title = 'Do both: dequeue the script and enable LSCache ESI.';\n          body = 'Dequeue wc-cart-fragments on content and policy pages, then enable LSCache ESI so the mini-cart badge stays live on your cached home and shop pages. This removes the wasted calls and keeps the cart working where it matters.';\n        } else {\n          title = 'Dequeue the script; ESI is optional here.';\n          body = 'Since you do not need a live badge on cached content pages, the dequeue snippet alone removes the wasted fragments call. Enable ESI later only if you add a header cart badge to cached pages.';\n        }\n      } else {\n        if (needBadge) {\n          title = 'Dequeue the script off-cart; consider LiteSpeed for ESI.';\n          body = 'The functions.php snippet removes the fragments call on content pages on any host. To keep a live badge on fully cached pages without the sitewide call, a LiteSpeed host with LSCache ESI is the clean path.';\n        } else {\n          title = 'Dequeue the script \u2014 that is your primary fix.';\n          body = 'On a non-LiteSpeed host with no need for a cached-page badge, the dequeue snippet is the whole fix. It stops the uncached call on every content page with no downside to the cart or checkout.';\n        }\n      }\n      outTitle.textContent = title;\n      outBody.textContent = body;\n      out.classList.add('ahcf-show');\n    }\n  });\n})();\n<\/script>\n\n\n\n<h2 id=\"aioseo-a-practical-checklist-is-your-woocommerce-store-cart-fragments-clean-41\" class=\"wp-block-heading\">A Practical Checklist: Is Your WooCommerce Store Cart-Fragments-Clean?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Before you call this done, run through the short checklist below. Each item corresponds to a step above, so if any line fails, you know exactly where to return.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Confirmed the <code>get_refreshed_fragments<\/code> call fires on a no-cart page in DevTools before the fix.<\/li>\n\n\n\n<li>Added the dequeue snippet to the <strong>child theme<\/strong> <code>functions.php<\/code>, not the parent theme.<\/li>\n\n\n\n<li>Left the cart and checkout pages untouched \u2014 the script still loads there.<\/li>\n\n\n\n<li>Enabled LSCache ESI on a LiteSpeed host so the mini-cart stays live on cached pages.<\/li>\n\n\n\n<li>Re-checked the About page: no <code>wc-ajax<\/code> call appears in the Network panel.<\/li>\n\n\n\n<li>Added a product on a shop page and confirmed the mini-cart count still increments.<\/li>\n\n\n\n<li>Purged your cache after the change so returning visitors get the corrected pages.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ultimately, a store that passes every line above is no longer paying the sitewide fragments tax. Specifically, your content pages serve from cache with no PHP worker consumed, your cart stays live where shoppers need it, and your entry-process budget goes to genuine checkout traffic instead of background AJAX. If concurrency is still tight after this cleanup, that is the point at which a look at your <a href=\"https:\/\/www.ahosting.net\/blog\/508-resource-limit-reached-wordpress\/\" target=\"_blank\" rel=\"noopener\">entry-process limits and the 508 resource error<\/a> tells you whether caching or capacity is the next lever.<\/p>\n\n\n\n<h2 id=\"faq-cart-fragments\" class=\"wp-block-heading\">Frequently Asked Questions About How to Fix WooCommerce Cart Fragments<\/h2>\n\n\n\n<h3 id=\"faq-what-is-get-refreshed-fragments\" class=\"wp-block-heading\">What is the wc-ajax=get_refreshed_fragments request and why does it slow every page?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Specifically, <code>get_refreshed_fragments<\/code> is a WooCommerce AJAX call that refreshes the mini-cart count, and by default it fires on every page on your site, including pages with no cart. Because it hits <code>admin-ajax<\/code> and cannot be full-page cached, each call consumes a PHP worker and adds latency to the initial response. The threshold table in this guide shows exactly which page types need it and which do not.<\/p>\n\n\n\n<h3 id=\"faq-fix-without-breaking-cart\" class=\"wp-block-heading\">How do I fix WooCommerce cart fragments in 2026 without breaking the live cart?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Fortunately, you dequeue the <code>wc-cart-fragments<\/code> script everywhere except the cart and checkout pages using a short child-theme <code>functions.php<\/code> snippet, then verify in the Network panel that no <code>wc-ajax<\/code> call fires on other pages. On a LiteSpeed host you additionally enable LSCache ESI so the mini-cart stays live while the page stays cached, which keeps the cart working on shop pages without the sitewide AJAX call.<\/p>\n\n\n\n<h3 id=\"faq-dequeue-vs-esi\" class=\"wp-block-heading\">Dequeue script vs LSCache ESI: which method should a WooCommerce store use to fix WooCommerce Cart Fragments?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In practice, the two methods solve different halves of the problem and are strongest together. Dequeuing <code>wc-cart-fragments<\/code> stops the AJAX call on pages that never show a cart, while LSCache ESI hole-punches the mini-cart on pages that do, so the surrounding page still serves from cache. The comparison table in this guide breaks down when each method is enough on its own.<\/p>\n\n\n\n<h3 id=\"faq-disable-stops-minicart\" class=\"wp-block-heading\">Will disabling cart fragments stop the mini-cart from updating on my store?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Generally, no, provided you scope the fix correctly. Dequeuing the script only on pages that have no cart leaves the cart and checkout pages untouched, and enabling LSCache ESI keeps the mini-cart count live on shop and product pages. The verification step in this guide has you add a product to the cart to confirm the count still increments after the fix.<\/p>\n\n\n\n<h3 id=\"faq-entry-process-cost\" class=\"wp-block-heading\">Why does the WooCommerce cart fragments call consume a PHP entry process on AHosting and what will fix WooCommerce cart fragments?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Specifically, the <code>wc-ajax<\/code> request bypasses full-page cache because it must return live cart data, so it runs PHP on every hit and consumes one CloudLinux entry process per request. AHosting publishes its per-plan entry-process counts openly, with WooStart set at 25 to match Silver-level concurrency, so you can size the impact of uncached cart traffic against real numbers rather than guesswork.<\/p>\n\n\n\n<h3 id=\"faq-still-a-problem-2026\" class=\"wp-block-heading\">Is the get_refreshed_fragments slowdown still a problem for WooCommerce in 2026?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Yes, because the sitewide cart fragments behavior remains a WooCommerce default in 2026 and is not removed by full-page caching alone. Any store that has not scoped the script or enabled ESI still pays the uncached-AJAX cost on every page load. The diagnostic checker in this guide confirms in seconds whether your store is affected.<\/p>\n\n\n\n<h3 id=\"faq-shared-hosting-worry\" class=\"wp-block-heading\">When should a WooCommerce store on AHosting shared hosting worry about cart fragments burning workers?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Typically, the impact becomes material once concurrent visitors approach your plan's entry-process ceiling, because each uncached fragments call holds a worker that a cached page would not. On an AHosting WooStart plan at 25 entry processes, a burst of shoppers browsing non-cart pages can queue behind fragments calls that add nothing. The worker-cost table in this guide shows how the math changes as concurrency rises.<\/p>\n\n\n\n<h3 id=\"faq-esi-replaces-dequeue\" class=\"wp-block-heading\">Does LiteSpeed Cache ESI on AHosting replace the need to dequeue cart fragments in 2026?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Notably, ESI reduces the cost but does not fully replace scoping the script. ESI lets a cached page carry a live mini-cart hole-punch, yet the fragments AJAX still fires where the script is loaded. Combining ESI with a dequeue on cart-free pages removes both the wasted call and keeps the live cart, which is why this guide recommends both on a LiteSpeed host.<\/p>\n\n\n\n<h3 id=\"faq-fragments-vs-fullpage\" class=\"wp-block-heading\">What is the difference between cart fragments and full-page caching for WooCommerce speed?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In contrast to full-page caching, which serves a whole static page with zero PHP, cart fragments deliberately run live PHP to keep dynamic cart data current. Full-page cache cannot cover the fragments call because the response must change per session. Understanding this split is what lets you cache aggressively while still hole-punching only the truly dynamic mini-cart, as the guide explains.<\/p>\n\n\n\n<h3 id=\"faq-verify-in-browser\" class=\"wp-block-heading\">How do I verify the WooCommerce cart fragments fix actually worked in the browser?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">First, open your browser DevTools Network panel, filter for <code>wc-ajax<\/code>, and reload a page with no cart, such as your About page. After the fix, no <code>get_refreshed_fragments<\/code> request should appear there, while adding a product on a shop page still updates the mini-cart. The step-by-step verification in this guide walks through both checks so you confirm the call is gone without breaking the cart.<\/p>\n\n\n\n<script>\n(function(){\n  document.addEventListener('DOMContentLoaded', function(){\n    var allH3s = document.querySelectorAll('h3.wp-block-heading');\n    var inFaq = false;\n    for (var i = 0; i < allH3s.length; i++) {\n      var h3 = allH3s[i];\n      var prev = h3.previousElementSibling;\n      if (prev) {\n        if (prev.tagName === 'H2') {\n          var prevId = prev.getAttribute('id');\n          if (prevId) {\n            if (prevId.indexOf('faq-') === 0) {\n              inFaq = true;\n            } else {\n              inFaq = false;\n            }\n          }\n        }\n      }\n      if (inFaq) {\n        initToggle(h3);\n      }\n    }\n    function initToggle(h3) {\n      var answer = h3.nextElementSibling;\n      if (!answer) { return; }\n      if (answer.tagName !== 'P') { return; }\n      var chev = document.createElement('span');\n      chev.className = 'ahfaq-chev ahfaq-chev-closed';\n      chev.setAttribute('aria-hidden', 'true');\n      h3.appendChild(chev);\n      h3.setAttribute('tabindex', '0');\n      h3.setAttribute('aria-expanded', 'false');\n      answer.classList.add('ahfaq-collapsed');\n      h3.addEventListener('click', function(){ doToggle(h3, answer, chev); });\n      h3.addEventListener('keydown', function(e){\n        if (e.key === 'Enter') { e.preventDefault(); doToggle(h3, answer, chev); }\n        if (e.key === ' ') { e.preventDefault(); doToggle(h3, answer, chev); }\n      });\n    }\n    function doToggle(h3, answer, chev) {\n      var isOpen = h3.getAttribute('aria-expanded') === 'true';\n      if (isOpen) {\n        answer.classList.remove('ahfaq-open');\n        answer.classList.add('ahfaq-collapsed');\n        h3.setAttribute('aria-expanded', 'false');\n        chev.classList.add('ahfaq-chev-closed');\n        chev.classList.remove('ahfaq-chev-open');\n      } else {\n        answer.classList.remove('ahfaq-collapsed');\n        answer.classList.add('ahfaq-open');\n        h3.setAttribute('aria-expanded', 'true');\n        chev.classList.remove('ahfaq-chev-closed');\n        chev.classList.add('ahfaq-chev-open');\n      }\n    }\n  });\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>TL;DR To fix WooCommerce cart fragments slowing every page, dequeue the wc-cart-fragments script outside cart and checkout, then enable LSCache ESI so the mini-cart stays live while pages stay cached. If your WooCommerce store feels slow even on pages that have nothing to do with shopping, there is a good chance you need to fix [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":1035,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[128,45],"tags":[158,159,104,62,73,157,46,131],"class_list":["post-1034","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-how-to","category-woocommerce","tag-cart-fragments","tag-esi","tag-litespeed-cache","tag-php-workers","tag-ttfb","tag-woocommerce","tag-wordpress-hosting","tag-wordpress-performance"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"WooCommerce cart fragments fire an uncacheable AJAX call on every page. Learn to fix WooCommerce cart fragments without breaking the live cart.\" \/>\n\t<meta name=\"robots\" content=\"max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n\t<meta name=\"author\" content=\"Matt Chrust\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.ahosting.net\/blog\/fix-woocommerce-cart-fragments-slow\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"AHosting Blog Home | AHosting Blog\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Fix WooCommerce Cart Fragments Slow in 2026 | AHosting\" \/>\n\t\t<meta property=\"og:description\" content=\"WooCommerce cart fragments fire an uncacheable AJAX call on every page. Learn to fix WooCommerce cart fragments without breaking the live cart.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.ahosting.net\/blog\/fix-woocommerce-cart-fragments-slow\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/www.ahosting.net\/blog\/wp-content\/uploads\/2026\/07\/fix-woocommerce-cart-fragments-slow-ahosting.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/www.ahosting.net\/blog\/wp-content\/uploads\/2026\/07\/fix-woocommerce-cart-fragments-slow-ahosting.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t\t<meta property=\"og:image:height\" content=\"675\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-07-28T21:28:24+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-07-28T22:09:34+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Fix WooCommerce Cart Fragments Slow in 2026 | AHosting\" \/>\n\t\t<meta name=\"twitter:description\" content=\"WooCommerce cart fragments fire an uncacheable AJAX call on every page. Learn to fix WooCommerce cart fragments without breaking the live cart.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/www.ahosting.net\/blog\/wp-content\/uploads\/2026\/07\/fix-woocommerce-cart-fragments-slow-ahosting.jpg\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/fix-woocommerce-cart-fragments-slow\\\/#article\",\"name\":\"Fix WooCommerce Cart Fragments Slow in 2026 | AHosting\",\"headline\":\"How to Fix WooCommerce Cart Fragments Slowing Every Page (2026)\",\"author\":{\"@type\":\"Person\",\"name\":\"Matt Chrust\",\"url\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/author\\\/matt-chrust\\\/\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/fix-woocommerce-cart-fragments-slow-ahosting.jpg\",\"width\":1200,\"height\":675,\"caption\":\"How to fix WooCommerce cart fragments slowing every page. By Matt Chrust, Director of Business Development, AHosting.\"},\"datePublished\":\"2026-07-28T21:28:24+00:00\",\"dateModified\":\"2026-07-28T22:09:34+00:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/fix-woocommerce-cart-fragments-slow\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/fix-woocommerce-cart-fragments-slow\\\/#webpage\"},\"articleSection\":\"How To, WooCommerce, cart fragments, ESI, litespeed cache, PHP workers, TTFB, WooCommerce, WordPress Hosting, wordpress performance\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/fix-woocommerce-cart-fragments-slow\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.ahosting.net\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/category\\\/woocommerce\\\/#listItem\",\"name\":\"WooCommerce\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/category\\\/woocommerce\\\/#listItem\",\"position\":2,\"name\":\"WooCommerce\",\"item\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/category\\\/woocommerce\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/fix-woocommerce-cart-fragments-slow\\\/#listItem\",\"name\":\"How to Fix WooCommerce Cart Fragments Slowing Every Page (2026)\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/fix-woocommerce-cart-fragments-slow\\\/#listItem\",\"position\":3,\"name\":\"How to Fix WooCommerce Cart Fragments Slowing Every Page (2026)\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/category\\\/woocommerce\\\/#listItem\",\"name\":\"WooCommerce\"},\"item\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/fix-woocommerce-cart-fragments-slow\\\/\"}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/#organization\",\"name\":\"AHosting\",\"description\":\"AHosting Blog\",\"url\":\"https:\\\/\\\/www.ahosting.net\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.ahosting.net\\\/assets\\\/img\\\/ahosting-logo.svg\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/fix-woocommerce-cart-fragments-slow\\\/#organizationLogo\"},\"image\":{\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/fix-woocommerce-cart-fragments-slow\\\/#organizationLogo\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/author\\\/matt-chrust\\\/#author\",\"url\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/author\\\/matt-chrust\\\/\",\"name\":\"Matt Chrust\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/fix-woocommerce-cart-fragments-slow\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/795895edac1c44589f6c7f5e6bb79df405fbbaac15817bdd387ec57da61731ec?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Matt Chrust\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/fix-woocommerce-cart-fragments-slow\\\/#webpage\",\"url\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/fix-woocommerce-cart-fragments-slow\\\/\",\"name\":\"Fix WooCommerce Cart Fragments Slow in 2026 | AHosting\",\"description\":\"WooCommerce cart fragments fire an uncacheable AJAX call on every page. Learn to fix WooCommerce cart fragments without breaking the live cart.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/fix-woocommerce-cart-fragments-slow\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/author\\\/matt-chrust\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/author\\\/matt-chrust\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/fix-woocommerce-cart-fragments-slow-ahosting.jpg\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/fix-woocommerce-cart-fragments-slow\\\/#mainImage\",\"width\":1200,\"height\":675,\"caption\":\"How to fix WooCommerce cart fragments slowing every page. By Matt Chrust, Director of Business Development, AHosting.\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/blog\\\/fix-woocommerce-cart-fragments-slow\\\/#mainImage\"},\"datePublished\":\"2026-07-28T21:28:24+00:00\",\"dateModified\":\"2026-07-28T22:09:34+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/#website\",\"url\":\"https:\\\/\\\/www.ahosting.net\\\/\",\"name\":\"AHosting\",\"description\":\"AHosting Blog\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.ahosting.net\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Fix WooCommerce Cart Fragments Slow in 2026 | AHosting","description":"WooCommerce cart fragments fire an uncacheable AJAX call on every page. Learn to fix WooCommerce cart fragments without breaking the live cart.","canonical_url":"https:\/\/www.ahosting.net\/blog\/fix-woocommerce-cart-fragments-slow\/","robots":"max-snippet:-1, max-image-preview:large, max-video-preview:-1","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/www.ahosting.net\/blog\/fix-woocommerce-cart-fragments-slow\/#article","name":"Fix WooCommerce Cart Fragments Slow in 2026 | AHosting","headline":"How to Fix WooCommerce Cart Fragments Slowing Every Page (2026)","author":{"@type":"Person","name":"Matt Chrust","url":"https:\/\/www.ahosting.net\/blog\/author\/matt-chrust\/"},"publisher":{"@id":"https:\/\/www.ahosting.net\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/www.ahosting.net\/blog\/wp-content\/uploads\/2026\/07\/fix-woocommerce-cart-fragments-slow-ahosting.jpg","width":1200,"height":675,"caption":"How to fix WooCommerce cart fragments slowing every page. By Matt Chrust, Director of Business Development, AHosting."},"datePublished":"2026-07-28T21:28:24+00:00","dateModified":"2026-07-28T22:09:34+00:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/www.ahosting.net\/blog\/fix-woocommerce-cart-fragments-slow\/#webpage"},"isPartOf":{"@id":"https:\/\/www.ahosting.net\/blog\/fix-woocommerce-cart-fragments-slow\/#webpage"},"articleSection":"How To, WooCommerce, cart fragments, ESI, litespeed cache, PHP workers, TTFB, WooCommerce, WordPress Hosting, wordpress performance"},{"@type":"BreadcrumbList","@id":"https:\/\/www.ahosting.net\/blog\/fix-woocommerce-cart-fragments-slow\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.ahosting.net\/blog#listItem","position":1,"name":"Home","item":"https:\/\/www.ahosting.net\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/www.ahosting.net\/blog\/category\/woocommerce\/#listItem","name":"WooCommerce"}},{"@type":"ListItem","@id":"https:\/\/www.ahosting.net\/blog\/category\/woocommerce\/#listItem","position":2,"name":"WooCommerce","item":"https:\/\/www.ahosting.net\/blog\/category\/woocommerce\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.ahosting.net\/blog\/fix-woocommerce-cart-fragments-slow\/#listItem","name":"How to Fix WooCommerce Cart Fragments Slowing Every Page (2026)"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.ahosting.net\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.ahosting.net\/blog\/fix-woocommerce-cart-fragments-slow\/#listItem","position":3,"name":"How to Fix WooCommerce Cart Fragments Slowing Every Page (2026)","previousItem":{"@type":"ListItem","@id":"https:\/\/www.ahosting.net\/blog\/category\/woocommerce\/#listItem","name":"WooCommerce"},"item":"https:\/\/www.ahosting.net\/blog\/fix-woocommerce-cart-fragments-slow\/"}]},{"@type":"Organization","@id":"https:\/\/www.ahosting.net\/#organization","name":"AHosting","description":"AHosting Blog","url":"https:\/\/www.ahosting.net\/","logo":{"@type":"ImageObject","url":"https:\/\/www.ahosting.net\/assets\/img\/ahosting-logo.svg","@id":"https:\/\/www.ahosting.net\/blog\/fix-woocommerce-cart-fragments-slow\/#organizationLogo"},"image":{"@id":"https:\/\/www.ahosting.net\/blog\/fix-woocommerce-cart-fragments-slow\/#organizationLogo"}},{"@type":"Person","@id":"https:\/\/www.ahosting.net\/blog\/author\/matt-chrust\/#author","url":"https:\/\/www.ahosting.net\/blog\/author\/matt-chrust\/","name":"Matt Chrust","image":{"@type":"ImageObject","@id":"https:\/\/www.ahosting.net\/blog\/fix-woocommerce-cart-fragments-slow\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/795895edac1c44589f6c7f5e6bb79df405fbbaac15817bdd387ec57da61731ec?s=96&d=mm&r=g","width":96,"height":96,"caption":"Matt Chrust"}},{"@type":"WebPage","@id":"https:\/\/www.ahosting.net\/blog\/fix-woocommerce-cart-fragments-slow\/#webpage","url":"https:\/\/www.ahosting.net\/blog\/fix-woocommerce-cart-fragments-slow\/","name":"Fix WooCommerce Cart Fragments Slow in 2026 | AHosting","description":"WooCommerce cart fragments fire an uncacheable AJAX call on every page. Learn to fix WooCommerce cart fragments without breaking the live cart.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/www.ahosting.net\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/www.ahosting.net\/blog\/fix-woocommerce-cart-fragments-slow\/#breadcrumblist"},"author":{"@id":"https:\/\/www.ahosting.net\/blog\/author\/matt-chrust\/#author"},"creator":{"@id":"https:\/\/www.ahosting.net\/blog\/author\/matt-chrust\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/www.ahosting.net\/blog\/wp-content\/uploads\/2026\/07\/fix-woocommerce-cart-fragments-slow-ahosting.jpg","@id":"https:\/\/www.ahosting.net\/blog\/fix-woocommerce-cart-fragments-slow\/#mainImage","width":1200,"height":675,"caption":"How to fix WooCommerce cart fragments slowing every page. By Matt Chrust, Director of Business Development, AHosting."},"primaryImageOfPage":{"@id":"https:\/\/www.ahosting.net\/blog\/fix-woocommerce-cart-fragments-slow\/#mainImage"},"datePublished":"2026-07-28T21:28:24+00:00","dateModified":"2026-07-28T22:09:34+00:00"},{"@type":"WebSite","@id":"https:\/\/www.ahosting.net\/#website","url":"https:\/\/www.ahosting.net\/","name":"AHosting","description":"AHosting Blog","inLanguage":"en-US","publisher":{"@id":"https:\/\/www.ahosting.net\/#organization"}}]},"og:locale":"en_US","og:site_name":"AHosting Blog Home | AHosting Blog","og:type":"article","og:title":"Fix WooCommerce Cart Fragments Slow in 2026 | AHosting","og:description":"WooCommerce cart fragments fire an uncacheable AJAX call on every page. Learn to fix WooCommerce cart fragments without breaking the live cart.","og:url":"https:\/\/www.ahosting.net\/blog\/fix-woocommerce-cart-fragments-slow\/","og:image":"https:\/\/www.ahosting.net\/blog\/wp-content\/uploads\/2026\/07\/fix-woocommerce-cart-fragments-slow-ahosting.jpg","og:image:secure_url":"https:\/\/www.ahosting.net\/blog\/wp-content\/uploads\/2026\/07\/fix-woocommerce-cart-fragments-slow-ahosting.jpg","og:image:width":1200,"og:image:height":675,"article:published_time":"2026-07-28T21:28:24+00:00","article:modified_time":"2026-07-28T22:09:34+00:00","twitter:card":"summary_large_image","twitter:title":"Fix WooCommerce Cart Fragments Slow in 2026 | AHosting","twitter:description":"WooCommerce cart fragments fire an uncacheable AJAX call on every page. Learn to fix WooCommerce cart fragments without breaking the live cart.","twitter:image":"https:\/\/www.ahosting.net\/blog\/wp-content\/uploads\/2026\/07\/fix-woocommerce-cart-fragments-slow-ahosting.jpg"},"aioseo_meta_data":{"post_id":"1034","title":"Fix WooCommerce Cart Fragments Slow in 2026 | AHosting","description":"WooCommerce cart fragments fire an uncacheable AJAX call on every page. Learn to fix WooCommerce cart fragments without breaking the live cart.","keywords":null,"keyphrases":{"focus":{"keyphrase":"fix woocommerce cart fragments","score":100,"analysis":{"keyphraseInTitle":{"score":9,"maxScore":9,"error":0},"keyphraseInDescription":{"score":9,"maxScore":9,"error":0},"keyphraseLength":{"score":9,"maxScore":9,"error":0,"length":4},"keyphraseInURL":{"score":5,"maxScore":5,"error":0},"keyphraseInIntroduction":{"score":9,"maxScore":9,"error":0},"keyphraseInSubHeadings":{"score":9,"maxScore":9,"error":0},"keyphraseInImageAlt":[],"keywordDensity":{"type":"best","score":9,"maxScore":9,"error":0}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":{"faqs":[],"keyPoints":[],"schemas":[],"titles":[],"descriptions":[],"socialPosts":{"email":{"subject":"","preview":"","content":""},"linkedin":[],"twitter":[],"facebook":[],"instagram":[]}},"created":"2026-07-28 21:19:25","updated":"2026-07-28 22:14:43","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.ahosting.net\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.ahosting.net\/blog\/category\/woocommerce\/\" title=\"WooCommerce\">WooCommerce<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tHow to Fix WooCommerce Cart Fragments Slowing Every Page (2026)\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.ahosting.net\/blog"},{"label":"WooCommerce","link":"https:\/\/www.ahosting.net\/blog\/category\/woocommerce\/"},{"label":"How to Fix WooCommerce Cart Fragments Slowing Every Page (2026)","link":"https:\/\/www.ahosting.net\/blog\/fix-woocommerce-cart-fragments-slow\/"}],"_links":{"self":[{"href":"https:\/\/www.ahosting.net\/blog\/wp-json\/wp\/v2\/posts\/1034","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ahosting.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ahosting.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ahosting.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ahosting.net\/blog\/wp-json\/wp\/v2\/comments?post=1034"}],"version-history":[{"count":4,"href":"https:\/\/www.ahosting.net\/blog\/wp-json\/wp\/v2\/posts\/1034\/revisions"}],"predecessor-version":[{"id":1041,"href":"https:\/\/www.ahosting.net\/blog\/wp-json\/wp\/v2\/posts\/1034\/revisions\/1041"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ahosting.net\/blog\/wp-json\/wp\/v2\/media\/1035"}],"wp:attachment":[{"href":"https:\/\/www.ahosting.net\/blog\/wp-json\/wp\/v2\/media?parent=1034"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ahosting.net\/blog\/wp-json\/wp\/v2\/categories?post=1034"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ahosting.net\/blog\/wp-json\/wp\/v2\/tags?post=1034"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}