WordPress April 22, 2025 4 min read

WordPress Critical Error: What It Means and How to Fix It

"There has been a critical error on this website." That's WordPress telling you something broke badly enough that it can't render the page. Here's how to diagnose it and get your site back online.

Osiris Nunez
Osiris Nunez
Author

What the Critical Error Actually Means

Since WordPress 5.2, when PHP throws a fatal error, WordPress catches it and shows a white screen with the message: “There has been a critical error on this website.” Before that update, you’d get the raw PHP error or a blank page. The new behavior is friendlier to visitors, but less informative for you.

Under the hood, something caused PHP to halt execution entirely. A plugin called a function that doesn’t exist. A theme tried to use a PHP feature your server doesn’t support. A database query failed in a way that WordPress can’t recover from. The “critical error” label is WordPress saying: “I can’t do my job because something upstream broke.”

Step 1: Check Your Email

WordPress sends a recovery mode email to the admin email address when a critical error occurs. This email contains a link that lets you log into WordPress in recovery mode — with the offending plugin or theme automatically paused.

Check your inbox and spam folder. The email comes from “WordPress” at your domain. If you find it, click the recovery link, deactivate the problematic plugin or theme, and the site comes back.

If you don’t have the email — maybe the admin email is outdated, or your server can’t send mail — you’ll need to fix it manually.

Step 2: Enable Debug Mode

Without seeing the actual error, you’re guessing. Edit wp-config.php (via SFTP or your hosting file manager) and add or change these lines:

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

This writes errors to wp-content/debug.log without showing them to visitors. Reload the broken page, then check that file. The error message tells you exactly what failed and which file caused it.

A typical entry looks like: Fatal error: Uncaught Error: Call to undefined function some_function() in /wp-content/plugins/some-plugin/file.php on line 42. That tells you the plugin name and the exact problem.

Step 3: Deactivate the Offending Plugin or Theme

If you can access wp-admin (sometimes the error only affects the front end), go to Plugins, find the culprit, and deactivate it.

If you can’t access wp-admin, rename the plugin’s folder via SFTP. For example, rename wp-content/plugins/broken-plugin to wp-content/plugins/broken-plugin-disabled. WordPress will deactivate it automatically because it can’t find the folder.

If the error is theme-related, rename your active theme’s folder. WordPress will fall back to a default theme (like Twenty Twenty-Four) and the site will come back online.

Step 4: Identify the Root Cause

Knowing which plugin broke is step one. Knowing why it broke prevents recurrence. Common causes:

  • PHP version incompatibility. The plugin requires PHP 8.1+ but your server runs 7.4. Or your host upgraded PHP and the plugin hasn’t caught up.
  • Plugin update conflict. Plugin A updated its code, and Plugin B depends on the old behavior. This is especially common with page builders and their add-on ecosystems.
  • Memory limit exhaustion. WordPress ran out of allocated memory during a heavy operation. Increase the limit in wp-config.php: define('WP_MEMORY_LIMIT', '256M');
  • Corrupted plugin files. An incomplete update left partial files. Delete the plugin folder and reinstall fresh from the repository.

Step 5: Restore from Backup If Needed

If the error happened after a batch update and multiple plugins are involved, a backup restore is often faster than debugging each conflict. Roll back to the state before the updates, then apply them one at a time to isolate the problem.

If you don’t have backups — and that’s more common than it should be — this is the moment where the pain of not having them becomes real. A managed WordPress operations service like Parameter Protect includes daily tested backups with verified recovery, so you always have a clean rollback point.

When to Call for Help

Some critical errors are straightforward: deactivate the plugin, contact the developer, wait for a fix. Others point to deeper problems — corrupted database tables, server misconfigurations, or malware that’s modifying core files.

If this keeps happening, the critical error is a symptom of something deeper. Start with a free audit to find the root cause.

If the error keeps coming back, if multiple plugins are failing, or if you see errors referencing files you don’t recognize, the problem may be bigger than a single plugin. Parameter’s emergency diagnostic gets to the root cause fast — a 2-hour hands-on triage with a clear action plan, and the $250 fee credits toward ongoing protection.

Turn debug mode off when you’re done: define('WP_DEBUG', false);. Leaving it on in production exposes error details that attackers can use.

Want WordPress to feel handled?

Self-serve onboarding takes minutes. Parameter takes care of the rest — hosting, ops, and improvements when you need them.