Online Store Checkout Not Working or Customers Cannot Add to Cart: What to Check First
When an online store's checkout stops working or customers cannot add to cart, the cause is usually something that changed on the store itself: a plugin, theme or app update, a caching setting that is serving saved copies of cart pages, an expired SSL certificate, or a shipping, tax or stock setting that leaves the customer with no valid option. Start by placing a test order yourself on a phone and a desktop, write down the exact step and message where it fails, and list what changed in the last few days.
This guide covers the store's own cart and checkout. If customers reach the payment step and the card is declined, or orders are paid but never appear, that is a payment provider or webhook problem with its own checks, covered in our guide to online payments or webhooks that stopped working. On a custom or heavily customized store, the fix usually sits with whoever handles your ecommerce development and customization.
What does it usually mean when checkout or add to cart stops working?
It usually means one of six things has gone wrong, and most of them follow a recent change.
- An update. A plugin, theme or app was updated, added or removed, and it now conflicts with the cart or checkout.
- Caching. A caching plugin, host cache or CDN is saving cart, checkout or account pages and showing one visitor's saved copy to everyone, so carts look empty or never update.
- An expired SSL certificate. Browsers show a security warning instead of the checkout. Let's Encrypt, a widely used certificate authority, states that its default certificates are valid for 90 days (checked October 6, 2026), so a failed automatic renewal shows up quickly.
- No valid shipping or tax option. A rule excludes the customer's country, region or basket, and the checkout cannot continue.
- Product setup. The item is out of stock, has no price or weight, or a variant is missing, so the button is disabled or the product is rejected.
- A browser script error. The button does nothing, or the page shows a spinner that never ends.
What can I safely check in about 10 minutes?
You can safely do seven checks that only involve looking, buying as a customer would, and reading settings pages. None of them changes how the store works.
- Place a test order yourself. Use a low-priced product, a real address and your phone on mobile data, then repeat on a desktop computer. Refund the order afterwards if it goes through.
- Try a private or incognito window. If it works there but not in your normal browser, the cause is likely a saved cookie, a cached page or a browser extension, not the whole store.
- Record the exact step and message. Note whether it fails on the product page, the cart, the address step or the shipping step. Take a screenshot of any message, word for word.
- Check the platform's status page. Shopify publishes live status at shopifystatus.com, with Checkout and Storefront listed as separate components. For WooCommerce or another self-hosted store, check your hosting company's status page.
- Look at the padlock. If the browser shows "Not secure" or a certificate warning, note the expiry date it displays.
- Try a second product and a second address. If only one product or one country fails, look at that product's stock and price, or the shipping zone for that country.
- List what changed. Check the update history in your admin, recent emails from your host or app vendors, and ask staff what was installed or edited in the last week.
What do WooCommerce and Shopify say about caching and checkout problems?
WooCommerce's documentation says the Cart, My Account and Checkout pages must be excluded from caching, and Shopify's documentation points to shipping setup as the common reason a checkout cannot continue.
WooCommerce
The WooCommerce guide to configuring caching plugins explains that these three pages need to stay dynamic because they show information specific to the current customer and their cart. If your cart problem began after a caching plugin, a host-level cache or a CDN was added or reconfigured, tell your developer that first. For a checkout that shows a spinner forever, WooCommerce lists JavaScript errors or conflicts caused by themes or extensions among the causes, along with mismatched site URLs and a low memory limit.
Shopify
Shopify hosts the checkout itself, so a store owner does not configure page caching there. The usual culprits are apps, theme edits and settings. Shopify's page on troubleshooting shipping rates says customers see "Your order cannot be shipped to the selected address" when their checkout matches no shipping rate. Its checklist includes confirming that physical products have a shipping weight and that the customer's country sits in a market and a shipping zone with rates assigned.
What should I not do?
Do not make changes to the live store that you cannot undo, because the most common way a small checkout fault becomes a full outage is a hurried fix.
- Do not deactivate plugins or switch themes on the live store to "see what happens". WooCommerce's own conflict testing guide recommends a backup first and a staging copy of the site, so the live store is not affected and you do not lose revenue.
- Do not run every pending update at once in the hope that one fixes it. You will no longer know which change mattered.
- Do not restore a backup yourself. On a store, that can wipe out orders and customer accounts created since the backup was taken.
- Do not edit theme code, change DNS records or delete files, even if a forum post says it worked for someone else.
- Do not switch off shipping, tax or stock rules without writing down the original values.
When should I call a developer, and what should I send?
Call a developer when the failure affects every product and every device, when it began right after an update, or when you see a certificate warning, a blank page or an endless spinner. Those point to code, caching or server configuration, which is not safe to change without a test copy.
Send one message containing the store address and platform (Shopify, WooCommerce, Magento or custom); the exact step that fails, the message word for word, and screenshots; the device, browser and whether a private window behaved differently; when it was first noticed and the last order that went through normally; everything that changed recently, including updates, new apps, hosting or CDN changes and new shipping or tax rules; and whether one product or country is affected or all of them. Say who can grant admin and hosting access, but share logins through a password manager or a dedicated staff account, not by email.
How do I stop it happening again?
Treat checkout as the one part of the store that is tested after every change. Apply updates on a staging copy first, one group at a time, and place a test order before and after. Keep cart, checkout and account pages excluded from every layer of caching, and recheck that after any hosting or CDN change. Make sure SSL renewal is automatic and that expiry warnings go to a mailbox someone reads. Set up a simple weekly test order, and agree in writing who is responsible for updates and monitoring; our guide to software maintenance and support explains what that agreement normally covers.
Quick answers
Why is my add to cart button not working?
An add to cart button usually stops working because of a script error after a plugin, theme or app update, a cached page, or a product that is out of stock or missing a price or variant. Test a second product in a private browser window to see which one it is.
Why does my cart show as empty after a customer adds a product?
A cart that empties itself is most often a caching problem: the cart or checkout page is being served from a saved copy instead of being built for each visitor. WooCommerce's documentation says the Cart, My Account and Checkout pages must be excluded from caching.
Can an expired SSL certificate break checkout?
Yes. When a certificate expires, browsers show a security warning before the page loads, and most customers leave. Check the padlock in the address bar and ask your host or developer to renew the certificate.
Why does Shopify say an order cannot be shipped to the selected address?
Shopify shows that message when the checkout does not match any shipping rate. Common reasons are a country missing from a market or shipping zone, a zone with no rates, or a physical product with no shipping weight.
Should I disable plugins to find the cause of a checkout problem?
Not on the live store. WooCommerce recommends taking a backup and running conflict tests on a staging copy, so that customers and orders are not affected while plugins are switched off.
Conclusion
Most checkout and add to cart failures trace back to a recent change, a cache serving the wrong page, an expired certificate, or a rule that leaves the customer with no way forward. A test order and a written list of what changed will either reveal a setting you can correct or tell a developer where to start.
Entrant Technologies builds websites, web applications, mobile apps and custom software. If your developer is not available, you can contact us and we will take a look.