WooCommerce Troubleshooting

WooCommerce Checkout Not Working? Here’s How to Fix It

Match the symptom to the fix: a checkout page that won’t load, a dead button, failing payments, or a cart that empties.

6 min readTroubleshooting
In this guide
  1. 1. Identify the failure
  2. Page won’t load
  3. Button not working
  4. Payment fails
  5. Shipping & tax
  6. Empty cart
  7. 2. Conflict test
  8. Prevention
  9. Get a developer
  10. FAQ

A broken checkout is the most expensive kind of website problem, because shoppers who reach it intend to buy. The cause is rarely mysterious, but it depends on exactly how the checkout fails. A page that won’t load needs a different fix from a button that does nothing.

Short answer: to fix a WooCommerce checkout that isn’t working, first identify the symptom, then check the checkout page setup, exclude cart and checkout from caching, test for plugin and theme conflicts, review JavaScript errors and the payment gateway’s settings, and read WooCommerce’s logs.

Test safely.Make changes on a staging copy where you can. If you must test on the live store, use your gateway’s test mode and avoid disrupting real customers.
WooCommerce checkout fix guide for page errors, payment failures and cart problems
Start by matching your symptom to its likely cause, then work through the fix.

Step 1: Identify exactly what is failing

Place a test order yourself in a private browser window, then match what you see to a row below.

SymptomMost likely causes
Checkout page won’t load or shows an errorPage not assigned, missing block or shortcode, fatal error, plugin conflict
“Place order” does nothingJavaScript error, script optimisation, conflicting plugin
Payment fails or hangsGateway keys, test/live mode, webhooks, SSL
No shipping or wrong taxShipping zones, tax settings, address fields
Cart is empty at checkoutCaching, cookies, URL mismatch

Also open WooCommerce → Status. The System Status report flags missing pages, outdated templates and server settings that need attention.

If the checkout page won’t load

  • Go to WooCommerce → Settings → Advanced and confirm the Checkout page is assigned.
  • Open that page in the editor. It should contain the Checkout block or, on classic setups, the [woocommerce_checkout] shortcode. Stores can use either, so check which yours uses.
  • Check for a fatal error in WooCommerce → Status → Logs or your server error log.
  • If the page shows a server error, see our guide to fixing a WordPress 500 error.

If “Place order” doesn’t respond

Open your browser’s developer tools (F12) and check the Console tab for red errors when you click the button. A JavaScript error is the most common reason a button silently fails.

  • Temporarily turn off minification, “combine JavaScript” and “delay JavaScript” options in your optimisation or caching plugin, then retest.
  • Check anti-spam or reCAPTCHA plugins that attach to checkout forms.
  • Look at the error’s file path, which usually names the plugin or theme responsible.

If payment fails or hangs

  • Confirm the gateway is in the right mode and that live API keys, not test keys, are entered for live sales.
  • Check that your site runs on HTTPS across the whole checkout.
  • Many gateways rely on webhooks. Make sure the webhook is configured and your server or firewall isn’t blocking it.
  • Review the gateway’s own dashboard for declined or errored attempts. It often gives a clearer reason than WooCommerce does.

If shipping or tax is missing or wrong

Check WooCommerce → Settings → Shipping to ensure the customer’s address falls inside a configured shipping zone, with at least one method enabled. For tax, review the tax options and rates, and confirm the store’s base location is correct. Missing shipping methods at checkout almost always trace back to zone setup.

If the cart appears empty at checkout

WooCommerce relies on cookies and sessions to remember the cart. Cart, checkout and My Account pages must not be served from a page cache, so exclude them in your caching plugin, your host’s cache and any CDN. Also check that the WordPress Address and Site Address under Settings → General use the same version of your domain (with or without www), because a mismatch can drop the session.

Step 2: Run a conflict test

  1. Use Troubleshooting ModeThe official Health Check & Troubleshooting plugin disables plugins and the theme for your session only, so visitors are unaffected.
  2. Keep only WooCommerce activeSwitch to a default theme such as Storefront, then retest checkout.
  3. Re-enable one by oneWhen the failure returns, the last item you enabled is the cause.

How to prevent checkout failures

  • Update WooCommerce and extensions on staging before production.
  • Place a test order after every significant update.
  • Keep the number of checkout-related plugins low.
  • Keep regular backups so you can roll back quickly.

When to bring in a developer

Involve a developer if the log shows errors in custom code, the issue involves payment gateway integration, or you’re losing orders and need a quick, safe fix.

Frequently asked questions

Why did checkout break after an update?

An update can introduce a conflict between WooCommerce, an extension, your theme or your PHP version. Roll back on staging, then run the conflict test above.

Can caching break WooCommerce checkout?

Yes. If cart or checkout pages are cached, customers may see stale or empty carts. Exclude those pages from every cache layer.

Will changing the checkout page layout affect payments?

It can, if a block or shortcode is removed or a custom layout interferes with the payment fields. Test an order after any change.

How can I test checkout without taking real payments?

Use your gateway’s test mode with its test card details, or a coupon that reduces the order total to zero, depending on what you need to verify.

Losing orders to a broken checkout?

Our WordPress development services cover WooCommerce debugging and store maintenance.

Get checkout help

Leave a Comment