WooCommerce & Online Payments
WooCommerce Cart Empty at Checkout? Fix Guest Session Problems
Investigate disappearing WooCommerce carts through cookies, sessions, caching and domain routing. Test guest journeys without clearing every customer’s cart.

In this guide
- Mark the last page with the correct basket
- Understand what the session cookie is doing
- Review caching at every layer that touches the journey
- Check domains and assigned pages without guessing
- Preserve existing baskets while testing a repair
- Frequently asked questions
- Get help tracing the disappearing cart
The shopper adds an item, sees it in the basket, then reaches an empty checkout. Before rewriting the checkout button or clearing customer sessions, find where the cart stops being recognized. The key distinction is between an item that was never added and a valid cart that disappears later in the journey.
Technical references checked: 9 November 2026. This guide focuses on cart continuity. An empty checkout does not, by itself, prove that a payment failed or the website was hacked.
Mark the last page with the correct basket
Use a controlled test product and trace product page, cart and checkout in the same browser session. Note the full hostname and whether each step uses HTTPS. Record any sign-in, language change, redirect or custom purchase link between the working basket and the empty view.
| Observation | What to compare | Evidence worth preserving |
|---|---|---|
| Cart is empty immediately after adding | Normal product form versus custom purchase link | The add request and resulting cart response |
| Cart works; checkout uses another hostname | Public cart URL and final checkout URL | The redirect chain and session behavior |
| Guests fail; signed-in users work | Independent guest and account journeys | Cookie handling and cache responses |
| A refresh shows an older basket | Current session response versus displayed page | Cache headers and requests at the failing step |
Understand what the session cookie is doing
WooCommerce’s cookie documentation identifies wp_woocommerce_session_ as a way to locate each customer’s cart data, alongside cart-change cookies. If the browser does not retain or send the relevant session state, the next page may not identify the same basket.
Ask the developer to check whether the expected cookies are set and returned during the affected journey. A privacy or consent tool’s handling is a testable factor, not a reason to remove all consent controls. Check the store’s intended configuration and applicable requirements with the responsible person.
Use an independent browser session for comparison. Do not ask every customer to clear all cookies as a permanent remedy: that can remove useful state while leaving the underlying store issue unresolved. Never publish session-cookie values in a support screenshot.
Review caching at every layer that touches the journey
The official caching guidance calls for Cart, Checkout and My Account to remain dynamic. A WordPress cache setting is only part of the picture if hosting or a CDN also serves stored responses.
Ask the host or developer to document the actual exclusions and confirm their effect on a guest journey. Compare the browser’s response with the cart request rather than concluding that a successful purge proves the configuration correct.
A precise fix preserves useful caching on ordinary public pages while keeping customer-specific behavior correct. Turning every performance feature off forever can hide the original cause and create another maintenance problem.
Check domains and assigned pages without guessing
If the journey moves between an old domain, a www address and a different checkout host, trace which transition loses the expected state. Review recent migrations, proxy changes and custom button destinations.
WordPress’s site URL guidance distinguishes the public site address from the location of WordPress files. Do not make settings identical just because they look different: some installations intentionally use separate locations. Agree the intended architecture before changing addresses.
Also confirm that the intended Cart and Checkout pages are assigned and contain the supported components. WooCommerce’s page troubleshooting documentation covers assignments and routing. A styled page named “Checkout” is not enough to establish that it is the active checkout.
Preserve existing baskets while testing a repair
Use your own test session and a staging environment where practical. Do not clear all live customer sessions or empty every cart to make one example succeed. If a session-store operation is proposed, ask for its necessity, impact and rollback precautions before approving it.
Keep unrelated order records and payment settings out of a cart-only fix. Adding a browser-controlled price parameter to a link is not a safe way to recover a lost basket. The existing server-side product and pricing rules should remain authoritative.
Retest with an empty starting basket and with an unrelated item already present. Add, change quantity, visit checkout and return to cart. Include guest and sign-in transitions that the store actually supports. The acceptance result should describe preserved items and quantities, not only a redirect reaching the desired URL.
Frequently asked questions
Will clearing all WooCommerce sessions solve it?
It can disrupt real customers and does not identify the cause. Start with a controlled session and investigate where continuity breaks.
Why does the basket work when I am logged in?
Guests and account holders can follow different session or caching paths. Compare both without assuming one successful administrator test represents customers.
Should I disable every cache permanently?
Use evidence to configure the necessary dynamic exclusions. Preserve appropriate caching elsewhere once the affected journey is verified.
Does changing the checkout link’s price fix the basket?
No. Price data in a URL cannot replace secure cart/session handling. Keep product selection and totals validated by the existing server-side commerce system.
Get help tracing the disappearing cart
Send Nithu the product, cart and checkout URLs with the point where the basket changes. For planned improvements, review WooCommerce development services. Share a sanitized journey description, not session cookies, passwords or payment secrets.
Prepared for website owners by Nithu / Suthakaran Nithursan. Dated incident facts link to their primary sources. Illustrative scenarios are examples, not client results or guarantees.