The symptom
- Orders suddenly stopped;
/checkout/shows "There has been a critical error on this website", a blank page or a 500. - It started right after a plugin, theme, WooCommerce or PHP update.
- Cart page loads but checkout does not (or the reverse).
Why it matters
Nobody buys from their own shop, so a broken checkout goes unnoticed until a customer complains. Meanwhile ads, SEO and AI recommendations send buyers to a dead end — and crawlers record the error too.
Common causes: PHP fatal error from an incompatible plugin (payment gateway, shipping, checkout-field editor) after an update; PHP version change on the host; memory limit exceeded; a checkout block/shortcode removed from the page; expired SSL on the payment endpoint.
How to check it yourself
- Open
/cart/and/checkout/in a private window with a product in the cart. - WordPress → Tools → Site Health → Info → *Server* and WooCommerce → Status → *Logs* (fatal-errors log) show the failing plugin and file.
- Enable
WP_DEBUG_LOGbriefly if the log is empty; hosting error logs (cPanel/Plesk) also show the PHP fatal.
How to fix it
- Read the fatal error line: it names the plugin. Deactivate that plugin (via WP admin, or rename its folder over SFTP if admin is broken) and re-test checkout.
- If it was WooCommerce or PHP: roll back with WP Rollback / your host’s backups, or update the incompatible plugin to a version supporting the new WooCommerce.
- Check the checkout page content contains the *Checkout* block or
[woocommerce_checkout]shortcode and is assigned in WooCommerce → Settings → Advanced. - Raise
memory_limitto 256M+ if the error is *Allowed memory size exhausted*. - Afterwards set up uptime monitoring on
/checkout/specifically (not just the home page), and use a staging site for updates.