WordPress: “There has been a critical error on this website”
This plain message replaced the old white screen of death. Underneath, it’s a PHP fatal error: some code — in practice, a plugin or theme, often right after an update — crashed hard enough that WordPress couldn’t render the page. WordPress usually emails the site admin a recovery-mode link; that email is the fastest door back in.
The fix, in order
- Check the admin email inbox for the recovery link. WordPress sends “Your Site is Experiencing a Technical Issue” with a special login that disables the faulty code so you can get into the dashboard.
- In recovery mode (or the dashboard), note what changed last. The error almost always follows a plugin/theme update or install. Update everything pending, or roll back/deactivate the most recent change.
- No email? Disable plugins via the file manager or FTP: in your hosting panel’s file manager, open wp-content and rename the plugins folder to plugins-off. The site will lose plugin features but should load — then rename it back and reactivate plugins one at a time until the error returns. That last one is the culprit.
- Switch to a default theme the same way — rename your theme’s folder under wp-content/themes — to rule the theme in or out.
- Turn on debug logging to see the real error: in wp-config.php set define( ‘WP_DEBUG’, true ) and define( ‘WP_DEBUG_LOG’, true ), reload the page, then read wp-content/debug.log — the fatal error names the file and line. Turn debugging back off when done.
Back up before surgery if you can (hosting panels usually offer one-click backups). Renaming folders is reversible, but a backup turns every experiment here into a safe one.
If it still happens
If the error survives all plugins off and a default theme active, check the PHP version in your hosting panel — a host upgrade to a much newer PHP can break an old WordPress or old plugins; updating WordPress core is the next step, then your host’s support.
Common questions
Did my site get hacked? Almost never — this message is an ordinary code crash, and the timing (right after an update) usually identifies it. Hacks more often show spam content or redirects, not this error.
Visitors see the error but I need the site up now. Fastest path? Recovery mode via the email link, then deactivate the last-updated plugin. If no email: rename the plugins folder. Both take minutes, not hours.
Related errors