---
title: WooCommerce Cart Caching
url: "https://pressable.com/knowledgebase/woocommerce-cart-caching/"
published: 2026-07-29
modified: 2026-10-05
author: Nox Dineen-Porter
---

WooCommerce Cart Caching lets your visitors keep getting cached pages from Edge Cache after they add something to their cart. The page arrives from our edge network instead of waiting on the origin server to build it, so it loads faster and feels more responsive.

> Before you start:  Cart Caching is off by default, and can be enabled from your Pressable dashboard on a per site basis. [Edge Cache](https://pressable.com/knowledgebase/edge-cache/) must be enabled to use this feature on a site.

> 
> Edge Cache comes with every plan and is on by default, but you should confirm it’s currently toggled on.

> 
> **A site with Edge Cache switched off cannot use Cart Caching.**

### How WooCommerce Cart Caching Works

Normally, the moment a shopping cart cookie appears, every request after that bypasses the cache. That keeps cart contents accurate and private to the shopper, at the cost of a full origin request for every page view, including product and category pages that have not changed in weeks.

WooCommerce Cart Caching splits the page in two. The body of the page comes from our Edge Cache network. The cart elements (cart count, mini cart, subtotal) get filled in afterward by WooCommerce’s own JavaScript.

Three cookies mark a visitor as having a cart, and WooCommerce Cart Caching allows all three to keep receiving cached pages: `wp_woocommerce_session_*`, `woocommerce_items_in_cart`, and `woocommerce_cart_hash`.

### Cart, Checkout, and My Account Pages Are Unchanged

WooCommerce Cart Caching never touches `/cart`, `/checkout`, or `/my-account`. Those stay uncached and fully dynamic, the same as today. What changes is how the rest of your site gets served to someone who has a cart.

### Cart Data Stays Private to Each Visitor

Only the cart-free body of the page is cached and shared. Each visitor’s cart data is fetched separately for their own session and never written into Edge Cache, so there is no path by which one shopper sees another shopper’s cart.

### What WooCommerce Cart Caching Does Not Do

WooCommerce Cart Caching serves pages from the cache. It does not add pages to it. A page requested by a visitor who has a cart is never written into the cache.

Cart-specific HTML cannot end up in the cache, so turning the feature on and off again leaves nothing behind to clean up.

One caveat: a shopper with a cart who lands on a page that is not already cached still triggers an origin request. If you have a large catalog with a long tail of rarely visited products, the benefit lands mostly on your popular pages.

### When WooCommerce Cart Caching Is Not a Good Fit

WooCommerce Cart Caching only works if your theme and plugins support WooCommerce’s cart refresh system. If your theme or plugins don’t support this native WooCommerce function, the WooCommerce Cart Caching feature will not be compatible with your site.

Whether the WooCommerce Cart Caching feature suits your store is something only testing on your own site will tell you.

### Check for the Cloudflare Proxy Before You Test

 Warning:  If your site sits behind Cloudflare’s proxy (the orange cloud), your test results will likely be skewed by the additional cache layer. Cloudflare adds its own caching layer in front of us, which conflicts with our built-in CDN. Switch the relevant DNS records to DNS Only for the duration of the test, or test on a [staging clone](https://pressable.com/knowledgebase/how-to-clone-website-to-staging/) that is not proxied. For background, see [Understanding Pressable’s Security and Cloudflare’s Proxy](https://pressable.com/knowledgebase/understanding-pressables-security-and-cloudflares-proxy/).

### Enabling WooCommerce Cart Caching

For site’s with WooCommerce installed, you will see a `WooCommerce` option in the site menu on your My Pressable dashboard.

![](https://i0.wp.com/pressable.com/wp-content/uploads/2026/07/Screenshot-2026-10-05-at-2.06.33-PM-1.png?resize=661%2C526&ssl=1)Once on that tab, you’ll see the option to enable or disable the `WooCommerce Cart Caching` feature.

![](https://i0.wp.com/pressable.com/wp-content/uploads/2026/07/Screenshot-2026-10-05-at-2.08.20-PM.png?resize=1024%2C609&ssl=1) 
 New Site:  If your site was just recently created, you may not see the WooCommerce option in the site menu of your My Pressable dashboard.

This is normal as our system scans sites twice a week to determine if the feature should be shown or not. If the option has not appeared for your site 72hrs after installing WooCommerce, or if like to skip waiting, please reach out to our Support team.

### Test Cart Caching on Your Own Session

If you’d like to test WooCommerce Cart Caching, before enabling it on a site – You can enable it for just your own browser session.

**You should either use the browser session testing method, or enable the feature on a staging site to test the before *before* enabling it on a live site.**

To test in your own browser sessions:

1. Open a Private Browsing or Incognito window. Logged-in users always bypass the cache, so an authenticated session shows you neither the benefit nor the problems.
2. Set the `a8c_edge_enable_woocommerce_cart_caching` cookie from your browser’s developer console:

javascript

```
document.cookie='a8c_edge_enable_woocommerce_cart_caching=1; path=/;'
```

3. Add products to your cart and browse the store.

Closing the private window when you are finished ends the test, since the cookie goes with the session. You can also expire it manually, though the `path` has to match exactly or the cookie survives and you carry on testing without knowing it:

javascript

```
document.cookie='a8c_edge_enable_woocommerce_cart_caching=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT;'
```

### Confirm That WooCommerce Cart Caching Engaged

With products in your cart, check the `x-ac` response header on a page request in your browser’s developer tools. That is where Edge Cache reports itself, with a value of `HIT`, `STALE`, `EXPIRED`, `UPDATING`, `MISS`, or `BYPASS`.

A request carrying a cart cookie returns `BYPASS` when WooCommerce Cart Caching is not active. Any other value means it engaged. `MISS` means it engaged but that page was not cached yet on the edge server you reached, which is the limitation covered above, not a failure.

Do not go looking for a Batcache marker. WooCommerce Cart Caching works at the Edge Cache layer, and Batcache staying quiet tells you nothing about whether it worked. We have seen store owners check for Batcache, find nothing, and write their site off as incompatible when both cache layers were fine.

### What to Check During Your Test

With products in your cart, browse the store and confirm each of these behaves correctly:

- Several different product types, especially products with custom fields.
- Subscription products, if your store sells them.
- Any complex or conditional cart logic your store depends on.
- The full cart and checkout flow. Multi-stage and non-standard checkouts need particular attention.
- Cart count, subtotal, and mini cart in the header and sidebar, on pages other than the cart.

These are worth a look too, because they are the kind of thing that tends to break:

- Sticky or floating cart widgets.
- Already in your cart messaging on product pages.
- Free shipping threshold notices, cart-based upsells, and dynamic discount messaging.

Treat that as a starting point. Anything on your store that changes based on cart contents deserves a check.

### Cart Fragments and WooCommerce Cart Caching

Cart fragments are how WooCommerce refreshes cart elements after a page has loaded without reloading the page itself. Every fragment request goes to your origin, which makes fragments a frequent target for performance work. Our guidance on that is in [Maximizing WooCommerce Performance With Proper Use of Cart Fragments](https://pressable.com/knowledgebase/maximizing-woocommerce-performance-with-proper-use-of-cart-fragments/).

Read it carefully if you are running WooCommerce Cart Caching, because the two interact. Cart Caching applies only to visitors who have a cart, and those visitors are exactly the ones who need fragments, since fragments are what populate the cart UI on a cached page. **Any optimization that stops fragments loading for a visitor with a cart will break WooCommerce** **Cart Caching and leave the cart UI empty for good.** Trimming fragments for visitors with no cart is safe, and still worth doing.
