"There has been a critical error" – Using Recovery Mode Properly

6 min read Auf Deutsch lesen

Since WordPress 5.2 there’s a protection feature that replaces the old white screen in most cases: instead of a blank page, WordPress shows “There has been a critical error on this website” – and sends an email in the background with the key to the fix.

First: Check the Recovery Email

On a fatal error, WordPress automatically sends a message to the administrator email address (Settings → General). This email contains:

  • the specific error message including the affected file and line,
  • a note on which plugin or theme triggered the error,
  • a recovery mode link.

The link gets you into a safe-mode backend where the problematic extension is paused. There you can deactivate or update it, and the site runs again.

What Typically Triggers the Error

In the vast majority of cases, one of three causes is behind it:

  • A plugin or theme update that collides with another extension or your PHP version.
  • A PHP version switch, after which old, unmaintained code no longer runs.
  • A conflict between two plugins that only surfaces on a specific action.

The error email almost always names the responsible file – and with it the extension you need to work on.

If No Email Arrives

Not every install sends email reliably. If nothing arrives, you have two routes:

  1. Turn on debugging to see the message directly. In wp-config.php:

    define( 'WP_DEBUG', true );
    define( 'WP_DEBUG_LOG', true );
    define( 'WP_DEBUG_DISPLAY', false );

    The details are then in /wp-content/debug.log. Turn it back off on live sites.

  2. Isolate plugins via FTP: rename the /wp-content/plugins/ folder, check whether the site returns, then reactivate one by one.

Keep the Email Address Reachable

Recovery mode is only as useful as the email address on file. Enter an address you can access even when the WordPress site itself is down – ideally not on the same domain. That saves you the detour via database and FTP in an emergency.

Critical Error or White Screen?

The two are related: if WordPress catches the error, you see the “critical error” message; if the catch doesn’t work, the page stays white. If you get the latter, the White Screen of Death guide takes over. An overview of all common error patterns is in the overview of WordPress errors.


If no email arrives and you can’t find the cause: drop us a line – we’ll identify the extension and bring the site back.

Frequently Asked Questions

What does 'There has been a critical error on this website' mean?

This message appears when a serious PHP error (fatal error) occurs in WordPress – usually triggered by a plugin, a theme or a PHP incompatibility after an update. Since WordPress 5.2, the built-in error protection catches this and shows this notice instead of a blank page. At the same time, WordPress sends an email with the exact cause and a recovery mode link to the administrator.

How do I use WordPress recovery mode?

Via the link in the automatic error email that goes to the administrator address. The link leads to a safe-mode backend where the problematic extension is paused. There you can deactivate or update the offending plugin or theme, and the site runs again. The email also names the affected file and line.

What do I do if no recovery email arrives?

Not every install sends email reliably. Then there are two routes: enable debugging in wp-config.php with WP_DEBUG_LOG to see the exact message in the debug.log file. Or isolate the problem via FTP by renaming the plugins folder, checking whether the site returns, and then reactivating the plugins one by one.

What's the difference between a critical error and a white screen?

Both go back to the same serious error. If WordPress catches it via the error protection, you see the message There has been a critical error. If the catch doesn't work – for instance with an error too early in the load process – the page stays completely white (White Screen of Death). The fix is similar, only the entry point differs.

Daniel Nilges
Daniel Nilges

Founder & Full-Stack Developer

20+ years of web development experience. Specialised in Laravel, WordPress and custom software for mid-sized businesses.