WordPress

WordPress White Screen of Death: Causes and Fixes

Why WordPress shows a blank white page, how to find the real error with debug mode and the error log, and how to fix each cause. Tested on a real site.

By wptaskify TeamUpdated Oct 17, 20269 min read
WordPress White Screen of Death: Causes and Fixes

Quick answer

The WordPress white screen of death is a blank page with no message, usually caused by a PHP error that happens while errors are hidden: a typo in wp-config.php or functions.php, a broken plugin or theme, or running out of memory. To fix it, turn on debug logging in wp-config.php, reload the page, read wp-content/debug.log or your host's error log for the file and line, then undo that change or disable the plugin or theme it names.

What the white screen of death looks like

You open your site and get nothing: a white page, no error, no menu. Often wp-admin is blank too, so you cannot log in to fix it. In Chrome the same failure can appear as "This page isn't working. HTTP ERROR 500".

We made one on purpose on our test site by leaving out a single semicolon in wp-config.php. The home page and wp-admin both returned an HTTP 500 error with an empty page: zero bytes.

A WordPress site and its wp-admin both showing a blank white page with HTTP 500 and zero bytes
Our test site after one missing semicolon: the site and wp-admin are both blank.

White screen vs "There has been a critical error"

Since WordPress 5.2, most PHP fatal errors no longer produce a white screen. WordPress catches them, shows the message "There has been a critical error on this website", and emails the admin a recovery link. If you see that message, follow our guide on fixing the critical error.

A true white screen means the error happened where WordPress could not catch it:

  • in wp-config.php, which loads before WordPress's error handler exists,
  • on a host or setup where that handler is turned off,
  • or the page really is empty, for example a theme template that outputs nothing, or a cache plugin serving a blank copy.

That is also why there is no recovery email: WordPress never got far enough to send one.

Step 1: Rule out the quick ones

  • Open the site in a private window and on your phone's mobile data. If it loads there, the blank page is a browser or local cache problem.
  • Clear your cache plugin and CDN cache (for example Cloudflare). A cached blank page can outlive the problem that caused it.
  • Think about what changed. An edit to a file, a plugin update, a PHP version change by your host. The last change is the most likely cause.

Step 2: Find the real error in the log

The page is blank because PHP errors are hidden from visitors, which is correct on a live site. The error itself is still written somewhere. Look in your hosting panel for Error log or PHP errors (cPanel, Plesk and most managed hosts have one), or in a file called error_log in your site's root folder.

On our test site, the log had one line: a parse error in wp-config.php on line 99. Note the trap: the mistake was on line 92. PHP reports where it noticed the problem, which is often a few lines after the real mistake. Look at the line it names and the lines just above it.

wp-config.php with a missing semicolon on line 92 and the PHP error log reporting a parse error on line 99
The real broken wp-config.php and the log line it produced. The error names line 99; the mistake is on line 92.

Step 3: Turn on WordPress debug logging

If you cannot find a host log, make WordPress write its own. Connect with SFTP or your host's File Manager, open wp-config.php in the site's root folder, and replace define( 'WP_DEBUG', false ); with these three lines:

wp-config.php lines enabling WP_DEBUG, WP_DEBUG_LOG and turning off WP_DEBUG_DISPLAY
Debug logging on, display off: errors go to a file, never to your visitors.

Step 4: Read debug.log

Reload the blank page once, then open wp-content/debug.log. The last lines tell you the file and line that failed. Here is a real entry from our test site, caused by an old plugin that uses create_function(), which PHP 8 removed:

The path names the culprit: anything under wp-content/plugins/NAME/ is that plugin, anything under wp-content/themes/NAME/ is that theme. When you are done, set WP_DEBUG back to false and delete debug.log, because it can grow large and reveal file paths.

Real debug.log entry: PHP Fatal error, call to undefined function create_function in contact-form-lite.php line 9
A real debug.log entry. The path points straight at the broken plugin.

Step 5: Fix the cause

Match what the log says to one of these:

Table of white screen causes: wp-config or functions.php typo, plugin or theme fatal error, memory limit, old code on new PHP, error handler off, with signs and fixes
The common causes, how to recognise each one, and the fix.

Fixes in detail

  • Typo in a file you edited: open the file over SFTP and undo the change, or upload the copy from your last backup. Edit theme code in a child theme so a parent update never overwrites it.
  • A plugin: rename its folder in wp-content/plugins (for example add -off to the name). WordPress deactivates it and the site comes back. If you do not know which plugin, rename the whole plugins folder, then rename it back and reactivate plugins one by one in wp-admin.
  • The theme: rename your active theme's folder. WordPress falls back to an installed default theme such as Twenty Twenty-Five, so keep one installed.
  • Memory: the log says "Allowed memory size exhausted". Add define( 'WP_MEMORY_LIMIT', '256M' ); to wp-config.php (with the semicolon). If it still fails, your host's PHP limit is lower and they need to raise it.
  • PHP version: update the plugin or theme. If it has not been updated in years, replace it; temporarily switching to the previous PHP version in your hosting panel buys time.

If you have a recent backup, restoring it is also a valid fix; see how to back up and restore WordPress.

Fix it with your AI, even when WordPress is down

When the site is blank, the normal WordPress tools cannot connect. wptaskify's server access works on the files instead: you add your SFTP or cPanel login once, and your AI (Claude or ChatGPT) can read the error log with server_error_log, turn logging on with server_set_debug, rename a broken plugin with server_disable_plugin, or fix one line with server_edit_file. Every change is backed up first and can be undone. Server access is included on every plan, including the free one.

Example conversation: the AI reads the error log, finds the missing semicolon in wp-config.php and fixes it with server_edit_file
An example conversation using the real server tools, with the error from our test.

How to avoid it next time

  • Take a backup before editing files or updating plugins.
  • Never edit code in Appearance, then Theme File Editor on a live site. One typo and you are locked out.
  • Test PHP version changes and big updates on a staging copy first.
  • Delete plugins you no longer use, especially ones that have not been updated in years.

Frequently asked questions

What causes the WordPress white screen of death?

A PHP error while errors are hidden, most often a typo in wp-config.php or functions.php, a broken plugin or theme, running out of memory, or old code on a newer PHP version.

How do I fix a white screen in wp-admin?

Use SFTP or your host's File Manager, since you cannot log in. Turn on debug logging in wp-config.php, read wp-content/debug.log, then undo the edit or rename the plugin or theme folder it names.

Why is there no recovery mode email?

Because the error happened before WordPress's error handler loaded, most often in wp-config.php, so WordPress could not send it.

Is the white screen of death the same as a 500 error?

Often, yes. The server returns an HTTP 500 with an empty page. Some browsers show a blank page, Chrome shows HTTP ERROR 500. The cause and the fix are the same.

Can I fix the white screen without FTP?

Use your host's File Manager, which works in the browser. Or connect your site to wptaskify server access once, and your AI can read the log and fix the file for you.

Fix a blank WordPress site with your AI, even when wp-admin is downBring your own Claude or ChatGPT. Nothing goes live without your approval.
Get started free

Your AI is ready to work.

Connect WPTaskify and turn conversations into real actions.

Start Free