WooCommerce cart empty after adding a product
If WooCommerce adds a product but the Cart page says it is empty, the Cart page is almost always being served from a cache, or the shopper’s session cookie is not surviving from one page to the next. Exclude Cart, Checkout and My Account and the WooCommerce cookies from every cache layer, make the site load on a single URL (one protocol, one host), and confirm the right page is assigned as the Cart page. A plugin that hooks into add to cart events is the next thing to rule out.
What you'll see
A shopper adds an item, the header mini cart may even show it, but opening the Cart page displays "Your cart is currently empty". In other cases the cart fills and then empties when the shopper moves to another page, or it works on desktop and keeps clearing on an iPhone. It often looks random because it depends on which cached copy a visitor happens to get.
Why it happens
1. The Cart page is cached
Plugin caches such as LiteSpeed Cache or WP Rocket, server caches such as Varnish, and CDNs can store a copy of the Cart page taken when it was empty. Every visitor then sees that empty copy, whatever their own session holds.
2. The session cookie is lost
WooCommerce tracks a guest cart with a session cookie. If the site is reachable on both http and https, or with and without www, the cookie set on one version is not sent to the other, so the cart appears to vanish.
3. A plugin interferes with add to cart events
Tracking pixels and analytics plugins that listen for add to cart can trigger extra requests or break cart fragments. One reported case cleared up after changing how a tracking plugin fired its event.
4. The wrong page is set as the Cart page
If the page assigned as the Cart page does not contain the Cart block or the [woocommerce_cart] shortcode, or a different page is assigned, shoppers land somewhere that cannot show their cart.
How to fix it
- Go to WooCommerce > Settings > Advanced > Page setup and confirm the Cart page is set to the page you expect, and that the page contains the Cart block or [woocommerce_cart].
- In every cache layer you have (plugin, host panel, CDN, Varnish), exclude Cart, Checkout and My Account and bypass caching when WooCommerce cookies are present. Then purge everything.
- Check that the site has one canonical address: http should redirect to https, and either www or non-www should redirect to the other. Settings > General should use that same address in both fields.
- Under WooCommerce > Status > Tools, run Clear customer sessions. Be aware this empties every current cart, so do it at a quiet time.
- Use Health Check & Troubleshooting Mode to test with only WooCommerce active. If the cart then persists, add plugins back, starting with tracking and analytics plugins.
- Retest in Safari on an iPhone, which is stricter about cookies than most desktop browsers.
How to check it's fixed
- Logged out in a private window, add a product, visit two other pages, then open the Cart page: the item should still be there.
- Open the site with http:// and with the other www variant and confirm both redirect to the same https address.
- Repeat the add, browse and open-cart test in mobile Safari.
What a QAlaunch scan shows for this
- The response headers it receives, including whether the page is served over HTTPS.
- Failed network requests and JavaScript errors as a logged-out visitor sees them.
- Dead or redirecting links in the navigation, which can reveal mixed http and https or www addresses.
- It loads pages as a fresh visitor and does not carry a cart from one page to the next, so cart persistence needs a manual test.
See exactly what a full report contains in the sample report.
Frequently asked questions
Why does the mini cart show items when the Cart page does not?
The mini cart is refreshed by a separate request that bypasses the page cache, while the Cart page itself was served from cache. That mismatch is the classic sign of a cached Cart page.
Is LiteSpeed Cache the problem?
Not by itself. LiteSpeed Cache and other caches handle WooCommerce well when cart, checkout and account pages are excluded. The trouble starts when those exclusions are missing or a CDN in front ignores them.
Will clearing customer sessions lose orders?
No. It removes carts that have not been checked out yet, not orders. Anyone mid-shop will find their cart empty, so warn customers or run it when traffic is low.
Rather have a QA engineer test it by hand?
If this is a site you're launching or handing to a client, I'll go through it by hand, including the WooCommerce-specific issues a scan can't reach, like logged-in flows.
- Up to 10 key pages tested by hand, not a scan
- Every flow a customer uses: forms, sign-up, checkout, booking
- Real mobile and desktop browsers
- A written report in plain language, with screenshots
- A 15-minute call to walk you through it
- 10 years of professional QA experience
Tell me about your site and I'll reply personally, usually the same day.
No payment now. I'll confirm scope and price first.
Related fixes
More for WooCommerce: all WooCommerce fixes · WooCommerce testing
Written by Waqas Ahmad, QA engineer with 10 years of professional testing experience. Last checked October 26, 2026.
Sources: WordPress.org support: cart randomly empty with LiteSpeed installed · Business Bloomer: solving the WooCommerce cart empty issue