# Never cache the WooCommerce cart and checkout

> A cached cart shows one shopper another's basket and breaks checkout. Exclude /cart/, /checkout/ and /my-account/ at every cache layer, including the CDN.

WordPress & WooCommerce · HTML version: https://getreport.app/learn/woocommerce-cart-cache

## Cached cart and checkout

Passing looks like: Cart and checkout bypass the page cache.

**Why it matters.** A cached /cart/ or /checkout/ shows one visitor another visitor's basket, breaks nonces and payment forms, and produces the "session expired" errors shoppers abandon on. Every caching plugin excludes these pages by default; a CDN or host cache in front of them often does not.

**How to fix it.**

1. Exclude /cart/, /checkout/ and /my-account/ (and their translations) from every cache layer: the caching plugin, the host's page cache and the CDN (Cloudflare: a Cache Rule with "Bypass cache" for those paths and for requests with a woocommerce_* cookie).
2. Re-test after purging: the responses should carry cache-control: no-store or a cache status of BYPASS/MISS.

Check your own page: https://getreport.app/
