Why Does My WooCommerce Checkout Show a 404 Error?
Why a WooCommerce Checkout 404 Happens
WordPress relies on rewrite rules to translate a clean URL like /checkout/ into the correct page request internally, and these rules are cached and only regenerated in specific circumstances (a permalink settings save, certain plugin activations). A change to the server, a migration, or an update that alters URL structure without triggering a rule refresh can leave WordPress unable to correctly resolve the checkout URL, resulting in a 404 despite everything otherwise being configured correctly.
Common Causes of a Checkout 404
- Stale permalink rewrite rules, particularly after a server migration, a caching plugin change, or a .htaccess file being overwritten or reset.
- The page assigned as checkout being deleted, unpublished, or moved to trash, sometimes accidentally during a content cleanup that didn't account for it being a functional page rather than regular content.
- A conflicting page or post using the same slug as the checkout page, confusing which one WordPress should actually serve.
- A caching or CDN layer serving a stale 404 response cached from before a fix was applied, making a genuinely resolved issue appear to persist.
How to Fix the Checkout 404
- Go to WordPress → Settings → Permalinks and simply click Save (no changes needed) to force a rewrite rule refresh — this alone resolves many cases.
- Confirm the checkout page still exists and is published, and re-select it under WooCommerce → Settings → Advanced if needed.
- Check for a slug conflict with another page or post using the same URL.
- Clear all caching and CDN layers after any fix, to rule out a stale cached 404 response.
Checkout completely down and losing orders right now? See WooCommerce fixes for urgent help.