There Has Been a Critical Error on This Website: What It Means and How to Fix It
What you're seeing
- Front end, admin (/wp-admin), or both show a plain white page reading "There has been a critical error on this website."
- On newer setups the message adds "Please check your site admin email inbox for instructions" with a link.
- An email from WordPress arrives titled something like "Your Site is Experiencing a Technical Issue" naming the plugin or theme at fault.
- The error often appears right after updating, installing, or editing a plugin, theme, or PHP version.
- The same page works intermittently, or only one section (like checkout or a single template) is broken.
What causes it
Plugin or theme conflict
The most common trigger: a plugin or theme update introduces code that conflicts with another plugin, your theme, or your PHP version. WordPress hits an uncatchable PHP fatal error while loading it and stops. The recovery email usually names the exact extension responsible.
PHP fatal error in code
A call to an undefined function, a syntax error in a customization, or code written for an incompatible PHP version throws a fatal error. This is frequent after a host upgrades PHP (say 7.4 to 8.2) and older plugin or theme code can no longer run.
PHP memory exhaustion
WordPress ran out of allocated PHP memory mid-request, often "Allowed memory size of X bytes exhausted." Heavy plugins, large imports, or page builders on a low memory limit are the usual cause. Raising the WP_MEMORY_LIMIT or the host's PHP limit typically clears it.
Corrupt or missing core file
A WordPress core, plugin, or theme file got corrupted or partially uploaded, often during a failed update or an interrupted transfer. PHP can't parse the broken file and fails fatally. Re-uploading clean copies of WordPress core usually resolves it.
Failed or interrupted update
An update that timed out or was cut off can leave a plugin, theme, or core half-installed, with mismatched or missing files. The site then crashes loading the inconsistent code. Completing or rolling back the update restores a consistent state.
Corrupt .htaccess or wp-config issue
A malformed .htaccess rule, a bad constant or stray character in wp-config.php, or a database connection set incorrectly there can fault the entire site. Because these load on every request, a single mistake takes everything down. Restoring a clean version fixes it.
How to fix it yourself
Back up your site first, then work through these from safest to most involved.
Check the WordPress recovery email and Recovery Mode
Look in the site admin's inbox (the address under Settings, General) for the "Your Site is Experiencing a Technical Issue" email. It usually names the exact plugin or theme that crashed and includes a Recovery Mode link. That link logs you into a special dashboard where the faulty extension is paused, so you can deactivate or update it without the white screen.
Turn on debugging to read the real error
Edit wp-config.php and set WP_DEBUG to true, plus WP_DEBUG_LOG to true and WP_DEBUG_DISPLAY to false, so errors write quietly to wp-content/debug.log. Reload the broken page, then open that log to see the exact file and line of the fatal error. Set WP_DEBUG back to false when you're done, never leave debug output showing on a live site.
Deactivate plugins to isolate the conflict
If you can't reach the dashboard, connect via SFTP or your host's file manager and rename wp-content/plugins to plugins-off to deactivate everything at once. If the site returns, rename it back and disable plugins one at a time (rename each plugin's folder) until the culprit reappears. Take a backup before touching files so you can always revert.
Switch to a default theme
If plugins aren't the cause, the theme may be. Via SFTP, rename your active theme's folder in wp-content/themes so WordPress falls back to a default theme like Twenty Twenty-Four. If the error clears, the problem is in your theme or its latest update, and a child theme or rollback is the next step.
Raise the PHP memory limit
If the log points to exhausted memory, add define('WP_MEMORY_LIMIT', '256M'); to wp-config.php above the "That's all, stop editing" line. Some hosts also require raising the PHP memory_limit in php.ini or the hosting panel. If the site still crashes after this, the memory use is a symptom of a deeper bug, not the root cause.
Rather not risk it? We'll fix it for you.
If the recovery email doesn't name a culprit, the debug log is unfamiliar, or you're nervous editing wp-config.php and plugin files over SFTP, hand it to us. Our Emergency Rescue ($299) is handled by senior WordPress engineers: we take a full backup before touching anything, find and fix the actual fatal error, and document exactly what was wrong and what we changed. It's backed by our money-back guarantee, so if we can't fix it, you don't pay.