A broken checkout is the most expensive problem a WooCommerce store can have. Every hour it’s down, customers who wanted to pay you simply can’t. If your WooCommerce checkout is not working, the cause is almost always one of a handful of things: a plugin conflict, a payment gateway problem, a caching issue, or a JavaScript error. Here’s how to narrow it down fast.
Step 1: Define “not working” precisely
The fix depends on the symptom. Does the checkout page load at all? Does the “place order” button spin forever? Do card fields never appear? Does the order go through but payment fails? Do customers get an error message, and if so, what does it say word for word? Run a test order yourself and write down exactly what happens. That detail cuts diagnosis time in half, whether you fix it yourself or hand it to us.
Step 2: Suspect a plugin conflict first
In our experience the most common cause of a broken checkout is a completely unrelated plugin interfering with it. We’ve seen contact form plugins break payment card fields, security plugins block the checkout’s own scripts, and optimization plugins strip out the JavaScript that powers the payment form. Test by deactivating non-essential plugins one at a time (ideally on a staging copy, not your live store) and re-running a test order after each one. When checkout starts working, the last plugin you deactivated is your conflict.
Step 3: Exclude checkout from caching
Caching plugins speed up your store, but a cached checkout page is a broken checkout page. Cart and checkout need to be dynamic for every visitor. Most caching plugins exclude WooCommerce pages automatically, but aggressive settings, server-level caching from your host, or leftover configuration from an old caching plugin can override that. Make sure the cart, checkout, and my-account pages are excluded from every layer of caching, then clear everything and test again.
Step 4: Check the payment gateway itself
If the page loads but payments fail, log in to your gateway dashboard (Stripe, PayPal, Square, or whichever you use) and look for declined or incomplete payment attempts. Expired API keys, a gateway account flagged for verification, or a gateway plugin that needs an update all produce failures that look like “checkout is broken” from the customer’s side. Also confirm your SSL certificate is valid, since gateways refuse to load card fields on a page that isn’t secure.
Frequently asked questions
An update changed something the checkout depends on. That could be the updated plugin itself, a conflict between it and WooCommerce, or a caching layer serving an outdated copy of the checkout page. Payment gateways are especially sensitive, since their card fields rely on scripts that other plugins can accidentally block. Identifying which update triggered the failure, then rolling back or resolving the conflict, restores checkout in most cases.
Yes. The safe approach is testing on a staging copy of your store while the live site keeps running. Fixes are confirmed on staging first, then applied to the live site in minutes. That is how we work on every store, because experimenting directly on a live checkout risks losing real orders while you troubleshoot.
Place a real test order yourself, start to finish, on both a phone and a computer. Many stores use their gateway’s test mode or a small refundable product for this. Note exactly where the process fails and capture any error message word for word. Doing this once a month catches checkout problems before your customers do.
Don’t experiment on a live store
Every test you run on a live checkout risks losing real orders. If the quick checks above don’t reveal the problem, it’s worth bringing in someone who troubleshoots WooCommerce for a living. We’ve untangled checkout failures caused by everything from form plugin conflicts to leftover caching files from plugins that were deleted years ago. Visit our WordPress and WooCommerce troubleshooting page or request help now, and we’ll test safely on staging while your store keeps selling.


