August 11, 2026

WordPress White Screen of Death: Diagnose Before You Touch Anything

A risk-ordered diagnostic plan for the WordPress white screen of death.

A WordPress white screen is the site showing you nothing: no error, no layout, just a blank page. The cause sits in a short list. It is a PHP fatal error, an exhausted memory limit, a broken plugin or theme update, a corrupted core file, or a server with no disk space left. This guide shows you how to find out which one you have before you change anything, because the wrong first move can turn a five-minute fix into a lost afternoon.

Two minutes of triage before you touch anything

Four questions narrow the field before you open a single file, and none of them changes the site.

First, open the site in a private window. A cached page or a logged-in view can hide the real state, and plenty of “the site is down” reports turn out to be one stale browser.

Second, check whether the blank page is everywhere or in one place. A WordPress white screen on every URL is one fault. A blank page on a single template is a different one. Note which pages work.

Third, try /wp-admin directly. If the dashboard loads while the front end is blank, the fault is almost certainly in the theme or in a front-end plugin. That also gives you far more room to work. If wp-admin is blank too, the fault sits deeper, in core, in a must-use plugin, or in the server.

Fourth, check your email. Since WordPress 5.2 a caught fatal error triggers a message with the subject “Your Site is Experiencing a Technical Issue”, sent to the administration email address. That message names the failing plugin or theme and carries a recovery link, so it often ends the investigation before it starts.

Recovery Mode, the way back in that WordPress gives you

The recovery link opens wp-admin with the failing component paused. So you can deactivate it through the normal Plugins screen rather than over SFTP. That is how most WordPress white screen incidents end now. The link expires, so use the most recent email rather than an older one, and click “Exit Recovery Mode” when you are finished.

If no such email arrived, that itself is information. Either the error was not caught by WordPress, which points at something failing very early such as a must-use plugin or wp-config.php. Or the site cannot send mail at all. The second case is common and worth fixing on its own terms, and our guide to WordPress emails not sending walks that chain.

Make the WordPress white screen show its error

A WordPress white screen means PHP died silently. Therefore your next job is to see the actual error rather than to guess at it.

If you have hosting-panel or SFTP access, open wp-config.php and enable logging: set WP_DEBUG to true, set WP_DEBUG_LOG to true, and set WP_DEBUG_DISPLAY to false. That last flag matters. With display on, PHP prints file paths and stack traces to every visitor, which is both ugly and an information leak. Then reload the broken page once and read wp-content/debug.log.

No SFTP access? Your host’s control panel almost certainly exposes a PHP error log, usually under a “Logs”, “Errors” or “Metrics” heading. It records the same fatal errors, and it needs no change to your site. That is the safer path when someone else manages the server. In other words, let the server tell you what broke instead of testing theories against a live site.

Read the fatal error, not the folklore

The last fatal line in the log usually names the culprit. These are the strings behind most WordPress white screen reports, and what each one means.

  • “Allowed memory size of 268435456 bytes exhausted”. The script asked for more memory than PHP allows. Note the file that was running when it happened.
  • “Uncaught Error: Call to undefined function” with a plugin path. That plugin is calling something that no longer exists, which is the classic signature of a half-finished update or a plugin that needs a companion it cannot find.
  • “Cannot redeclare” a function name. The same code got loaded twice, often because an old copy of a plugin was left in place beside the new one.
  • “syntax error, unexpected” with a line number. Something edited that file and broke it. If you edited a theme file through Appearance then Theme File Editor, this is almost always why.
  • “Uncaught Error: Class … not found”. Files are missing, usually from an interrupted update or an incomplete upload.

Most importantly, note the exact file path in the message. It tells you whether the failure lives in a plugin, in the theme, or in WordPress core, and that single fact decides everything you do next.

The causes of a WordPress white screen, in checking order

1. A plugin update that went wrong

If the log names a plugin, rename that plugin’s folder over SFTP or in your host’s File Manager, for example plugin-name to plugin-name.off. WordPress cannot find it, so it deactivates it on the next load, and nothing is deleted. If the site returns, you have your answer.

From there you can either roll that plugin back to its previous version or wait for a fixed release. However, resist the classic advice of renaming the whole plugins folder. It deactivates everything at once. On a store that means losing payment gateways and shipping rules mid-incident. It also destroys the evidence that would have named the single guilty plugin.

2. Memory exhaustion

If the log shows an exhausted memory limit, raise it in wp-config.php with define( 'WP_MEMORY_LIMIT', '256M' ); placed above the line that says “That’s all, stop editing”. Some hosts cap PHP memory below what WordPress requests, so if the ceiling does not move, the limit is set at the server and only your host can raise it.

Also note which file was running when memory ran out. A single plugin that repeatedly hits the ceiling is the real fault, and the higher limit is only a bandage over it. Importing large files, regenerating thumbnails and running backups are the usual offenders.

3. A broken theme

If the path points at the theme, rename the theme folder. WordPress falls back to a default theme such as Twenty Twenty-Five if one is installed, and the site returns in a plain but working state. That confirms the diagnosis in about thirty seconds.

Afterwards, restore your theme from a known-good copy rather than editing files in place. If the fault appeared after you edited a template through the built-in file editor, restoring the original file is the whole fix.

4. A corrupted or incomplete core update

If the path points at wp-admin or wp-includes, core files are damaged or missing. The repair is to download a fresh copy of the same WordPress version and replace those two folders entirely, leaving wp-content and wp-config.php untouched. Never delete wp-content: your themes, plugins and uploads all live there. This case usually arrives with a failed WordPress update behind it, and that guide covers the rest of the recovery.

5. The server, not the site

A white screen with nothing in the PHP log at all points outward. Disk full is the one people miss. When the filesystem is full, PHP cannot even write the log that would have told you. Sessions, caches and uploads fail in confusing ways at the same time. Your hosting panel shows disk usage on its main dashboard. A suspended account and a failed PHP-FPM pool produce similarly empty logs, and your host answers both faster than you can.

When the WordPress white screen hits only some pages

A blank page on one template but not others usually means a fatal error inside that template’s specific code path: a shortcode, a page-builder module, a custom field call that assumes data which no longer exists. The pattern tells you where to look, and the log still tells you what broke.

A white screen only in wp-admin, with a working front end, points at an admin-only plugin or at a plugin’s settings page. Meanwhile, a blank page only when logged in, with the site fine for visitors, usually means the admin bar or a dashboard widget is throwing the error.

What not to do

Three habits cause most of the avoidable damage during a WordPress white screen.

Do not restore a backup as a first move. A restore rolls the database back too. So last night’s snapshot can erase today’s orders, form submissions and comments. All that to fix a fault a single renamed folder would have solved.

Do not change several things at once. If you deactivate every plugin, switch theme, raise memory and clear caches together and the site returns, you have learned nothing, and the fault will come back.

Do not edit files through Appearance then Theme File Editor while the site is broken. A second syntax error on top of the first turns a diagnosable fault into a guessing game, which is exactly why WordPress warns you before opening that screen.

Quick checklist

In short: check a private window, then wp-admin, then the administration inbox for the recovery email. Next, enable debug logging or read the host’s PHP log. Then act on the named file only. A WordPress white screen straight after an update points at the updated component. One that appears with no change behind it points at memory, disk space, or the host.

Finally, keep the log entry. If the fault returns in a month, the comparison between the two entries is most of your diagnosis.

What we do differently

This diagnose-first order is exactly how our WordPress support service works: reproduce the fault, read the evidence, make the smallest safe change, record what was done. Is the WordPress white screen on a site that takes money? Or would you rather not open wp-config.php yourself? Then tell us what is broken and we will run this process for you. When the site is down and losing orders, urgent WordPress help starts with containment rather than repair.

For the underlying mechanics, the official WordPress debugging documentation covers every flag mentioned here. The common WordPress errors reference lists the messages you are likely to find in the log.

Prevent the next one

A WordPress white screen usually follows an unattended update. So a maintenance plan that stages updates, watches the error log and keeps a restore point matters. It turns this class of incident from an outage into a log entry nobody had to panic about.