How to Fix the WordPress White Screen of Death
Diagnose a blank WordPress page or "There has been a critical error": use recovery mode, enable debug logging, isolate plugins and themes, raise memory sensibly and check PHP versions.

Table of Contents
- Step 1: Check your email for recovery mode
- Step 2: Turn on debug logging
- Step 3: Disable the failing plugin
- Step 4: Switch the theme
- Step 5: Check the PHP version
- Step 6: Fix memory exhaustion
- Step 7: Check for a failed update
- Step 8: Restore if nothing else works
- Worked example: reading a fatal error
- Common fatal error messages and what they suggest
- Prevent it next time
- Frequently Asked Questions
- Related reading
- Sources
The WordPress "white screen of death" (a blank page) and the message "There has been a critical error on this website" both mean PHP stopped with a fatal error. The most common causes are a plugin or theme update, a PHP version change, or running out of memory. The fix is to find the exact error message, then disable or update the component that caused it.
Here is the order that finds the cause fastest.
Step 1: Check your email for recovery mode
Since WordPress 5.2, when a plugin or theme causes a fatal error, WordPress sends an email to the site's admin address with the subject "Your Site is Experiencing a Technical Issue". It names the plugin or theme and includes a special recovery mode link that lets you log in with that component paused.
- Open the link and log in.
- Deactivate or update the named plugin or theme.
- Exit recovery mode and check the site.
If no email arrived (email delivery problems are common), continue below.
Step 2: Turn on debug logging
Edit wp-config.php and set:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Reload the broken page, then open wp-content/debug.log. Look at the last lines for "PHP Fatal error". The message includes a file path, for example /wp-content/plugins/some-plugin/..., which tells you which component failed.
Also check your hosting error log (cPanel → Metrics → Errors, or an error_log file in the site folder).
Turn debugging off afterwards
Set WP_DEBUG back to false when you have finished, and delete debug.log. Leaving debug output enabled can expose file paths and other details.
Step 3: Disable the failing plugin
If the error points to a plugin and you cannot reach the dashboard:
- In File Manager or FTP, go to
wp-content/plugins/. - Rename the plugin's folder, for example
some-plugintosome-plugin.off. - Reload the site.
If you cannot tell which plugin is at fault, rename the whole plugins folder to plugins.off, check the site, then rename it back and re-enable plugins one by one from the dashboard.
Step 4: Switch the theme
If the path points to wp-content/themes/your-theme/, rename that theme's folder. WordPress falls back to an installed default theme (such as Twenty Twenty-Five) if one is present. If no default theme is installed, upload one first.
Step 5: Check the PHP version
If the error started after your host or you changed the PHP version, an older plugin or theme may not support it. Typical messages mention "deprecated", "undefined function" or "Uncaught TypeError". Either update the component or temporarily switch PHP back while you replace it. See how to change the PHP version in cPanel and which PHP version should your website use.
Step 6: Fix memory exhaustion
If the log shows "Allowed memory size of … bytes exhausted":
- Raise the WordPress memory limit in
wp-config.phpwithdefine( 'WP_MEMORY_LIMIT', '256M' );, within what your host allows. - Find what uses the memory: a heavy plugin, an import, a large image being processed.
Raising memory hides the problem if the real cause is an inefficient plugin, so investigate as well.
Step 7: Check for a failed update
A white screen right after an automatic update can mean files were only partly written. Re-upload a fresh copy of WordPress core (everything except wp-content and wp-config.php), or reinstall the affected plugin. If a stuck .maintenance file exists in the site root, delete it.
Step 8: Restore if nothing else works
Restore files from the backup taken before the problem started. See WordPress backups: what to back up and how to restore.
Worked example: reading a fatal error
After an automatic update, a site shows "There has been a critical error on this website." The debug log contains:
PHP Fatal error: Uncaught Error: Call to undefined function old_helper_format()
in /home/acme/public_html/wp-content/plugins/fancy-gallery/includes/render.php:42
How to read it:
- "Call to undefined function": the code calls a function that no longer exists, often because another plugin it depended on was updated or removed.
- The path shows the failing file is inside the
fancy-galleryplugin. - Line 42 of
render.phpis where it failed.
The fix: rename wp-content/plugins/fancy-gallery to disable it; the site loads. Then check whether a newer version of the gallery plugin exists, or whether the plugin it depends on was updated; contact the developer with the error message, or replace the plugin.
Common fatal error messages and what they suggest
| Message contains | Usually means |
|---|---|
Allowed memory size ... exhausted |
Memory limit reached; heavy plugin or process |
Call to undefined function |
Missing dependency or removed function |
Uncaught TypeError |
Code incompatible with the current PHP version |
Cannot redeclare |
Two plugins (or a plugin and a theme) define the same function |
syntax error, unexpected |
A file was edited incorrectly, or a partial upload |
Maximum execution time exceeded |
A slow operation timed out (imports, external API calls) |
Prevent it next time
- Update plugins on a staging copy first; see how to update WordPress safely.
- Keep the admin email address current so recovery mode emails arrive.
- Keep a default theme installed as a fallback.
Frequently Asked Questions
Why is only the admin area white?
A plugin that loads only in the admin can fail there while the front end works. The same debug and rename steps apply.
Will renaming the plugins folder delete my settings?
No. Settings are stored in the database. Renaming the folder back and reactivating restores everything.
What if the screen is white only on one page?
That usually points to a shortcode, block or template used on that page. Check the debug log while loading that page.
Related reading
See how to fix "Error establishing a database connection" for database problems and common hosting errors: 500, 503, 508 and 403 for server-level errors. The WordPress overview is in WordPress hosting: what it is and how to choose. Stuck? Contact ServerNeed support.
Sources
- WordPress Developer Resources: Debugging in WordPress
- WordPress Documentation: Common WordPress Errors
Featured image: “Small Laptop on Table” by dejankrsmanovic, licensed under CC BY 2.0.
Last updated 7 October 2026



