WooCommerce fixes / critical error

WooCommerce Critical Error on Your Website? Causes & Fix

"There has been a critical error on this website" on your store means PHP hit a fatal error and stopped. WordPress already emailed your admin address with the details — that email is the fastest way to find the cause. Here's how to read it and fix the store.

Last updated: 16 Jul 2026 · ~7 min read

Quick answer

The usual cause is a PHP fatal in a WooCommerce extension that doesn't work with your installed WooCommerce or PHP version. Check the admin inbox for the WordPress email titled "Your Site is Experiencing a Technical Issue" — it names the plugin and usually the exact file and line. Deactivate that extension (rename its folder over SFTP if you can't reach wp-admin) and the store comes back.

What the critical error page actually is

It's WordPress's fatal-error handler doing its job. PHP hit an E_ERROR it couldn't continue past, so instead of a white screen WordPress catches it, shows a plain page, and emails the site admin. On a store the fatal is nearly always in the WooCommerce lane — an extension, a snippet, or a template override — because that's where most of the code is.

What your customers see depends on where it fires: sometimes only a single product or checkout page dies, sometimes the whole site including /wp-admin. Either way nothing has been deleted. Orders, products and settings are untouched, and the store returns as soon as the throwing file stops running.

The most common causes (most likely first)

  1. An extension is incompatible with your installed WooCommerce versionThe error email names a plugin, and the details show Uncaught Error: Call to undefined method or Call to undefined function in a file under wp-content/plugins/. Started right after a WooCommerce or extension update. The most common cause by a distance.
  2. The store is on a PHP version the extension was never built forThe error appeared after your host bumped PHP, not after a plugin update. Look for Uncaught TypeError, Uncaught Error: Call to a member function ... on null, or a Parse error in an older, unmaintained extension. WooCommerce itself keeps up with PHP; abandoned add-ons don't.
  3. A snippet or template override in your theme calls a WooCommerce function that no longer existsThe file path in the email is inside your theme — functions.php, or a woocommerce/ template folder in the theme. Classic tell: the homepage is fine and only shop, cart or checkout pages throw the critical error.
  4. PHP ran out of memoryThe details say Allowed memory size of X bytes exhausted. Nothing is wrong with the code — it just needed more room. Typically shows up on heavy screens first (Analytics, a big order list, an import) and can come and go.
  5. A plugin's files are incomplete after a failed updateThe details say Failed opening required, or name a missing vendor/autoload.php or a class that should exist. The update was interrupted, or PHP's OPcache is still serving compiled code for files that changed. Re-install that plugin from a fresh zip.

Where to look first

Don't want to read a stack trace with the store down?

The email tells you the file; it doesn't tell you what to do about it, or whether the same extension is about to take checkout with it. DiagnosticIQ's free dashboard watches WooCommerce and its extensions on a schedule, so a critical error isn't the first you hear of a broken store, and the AI pinpoint diagnosis turns the fatal into a plain-English root cause and a safe fix. The steps above still work perfectly well on their own.

Get the free plugin

Made by Prima Digital — the team behind this guide. Free forever; no card to install.

How to know you fixed it

Verify

The page that showed the critical error loads normally in a private window, WooCommerce → Status opens without an error, and no new fatal appears in wp-content/debug.log after you retry the same action.

Frequently asked

Is my store data gone?

No. A fatal error stops PHP executing — it doesn't touch the database. Orders, products, customers and settings are all still there.

I never got the email. Why?

It goes to the address under Settings → General, which is often nobody's real inbox, and it's frequently caught by spam filters or lost on hosts with poor mail delivery. Check spam, then fall back to the debug log.

What is recovery mode?

The link in that email logs you into wp-admin with the offending plugin paused, so you can fix things through the dashboard even when the front end is down. The link is time-limited, so use it promptly or trigger a fresh one by reloading the broken page.

Can customers still order while this is happening?

Only if the fatal doesn't fire on their path. If it hits a shop, cart or checkout page, they can't buy — treat it as a full outage until you've confirmed a test order goes through.

>_
John O'Keane — Founder, Prima Digital · LinkedIn
Contributions by David Zhang · LinkedIn
I build DiagnosticIQ, the WooCommerce diagnostic plugin, and I've traced enough "there has been a critical error" pages back to one stale WooCommerce extension to check the fatal-error email before anything else.