A blank page is a hidden fatal error

WordPress White Screen of Death: Causes and the Fix Order

Diagnose the WordPress white screen of death, which is a fatal PHP error being hidden rather than a blank page. Work memory limit, then plugin conflict, then theme fault, in that order - the order matters because each test rules out the next. Enable debug output before touching a single file and the screen names its own cause.

The WordPress white screen of death is a fatal PHP error with error display switched off, so the page renders empty rather than showing the failure. Enabling WP_DEBUG reveals the file and line. The usual causes are an exhausted memory limit, a plugin conflict or a theme fault.

Is this what you are seeing?

Tick everything that matches. The result names the cause to start with.

Tick a symptom to narrow it down.

blank page diagnosis order memory plugin theme
Which symptom points at which cause: the whole site is blank, including wp-admin points at fatal error in a plugin or theme; the front end is blank and wp-admin works points at theme fault; wp-admin is blank and the front end works points at exhausted memory limit.

What actually causes it

CauseHow to confirmTypical fix
Fatal error in a plugin or themeThe debug log names the file and line20 min
Exhausted memory limitThe log reports allowed memory size exhausted15 min
Theme faultSwitching to a default theme restores the site15 min
Corrupt core fileA core checksum comparison fails30 min

Nothing rendered, which is itself the clue

A white screen is not an absence of errors. It is a fatal PHP error with display suppressed – the standard production configuration, and a sensible one, because the alternative prints file paths and database detail to every visitor.

So the first move is never to change code. It is to route the error somewhere readable. Two constants in wp-config.php do it, and the log almost always names the exact file.

Which part is blank tells you where to look

The pattern narrows it before any log is read.

Everything blank, admin included. A fatal error early in the load sequence – a plugin, or a corrupt core file.

Front end blank, admin working. The theme. Rename its folder and WordPress falls back to a bundled one.

Admin blank, front end working. Memory, almost every time. Admin screens are heavier than cached front-end pages and hit a ceiling the visitor never approaches.

A blank page is a fatal with the error output hidden, so the same fault elsewhere is quieter still – a contact form that stops sending with no warning at all. A blank page immediately after an update is more often a site stuck in maintenance mode. The WordPress error index covers both.

How to fix it

  1. Enable debug logging. WP_DEBUG and WP_DEBUG_LOG true, WP_DEBUG_DISPLAY false. The blank screen exists because output is suppressed; this puts the reason in wp-content/debug.log instead of on a public page.
  2. Read the log and act on the name it gives you. A fatal error identifies its file, which is almost always inside one plugin or the active theme. This single step resolves the majority of cases.
  3. Raise the memory limit when the log says memory. define('WP_MEMORY_LIMIT', '256M'); in wp-config.php. A blank wp-admin over a working front end is the classic signature.
  4. Rename the plugins folder to test as a group. Over SFTP, rename wp-content/plugins. The site returning means a plugin is responsible; rename it back and bisect by renaming folders individually.
  5. Switch to a default theme. Rename the active theme folder and WordPress falls back to a bundled one. A site that recovers points at the theme, and almost always at a recent functions.php edit.
  6. Verify core when nothing else explains it. Compare checksums with WP-CLI, or reinstall core from wp-admin, which replaces core files without touching content, plugins or themes.

When that fix does not hold

Do not edit theme files through the built-in editor in wp-admin. A syntax error saved there takes the site down instantly, including the editor you would need to undo it. Edit over SFTP where a bad save is one rename away from recovery, and set DISALLOW_FILE_EDIT to remove the trap entirely.

Questions people ask before calling

Why is the page blank instead of showing an error?

Production PHP configurations suppress error output so internal detail is not exposed to visitors. The error still occurred; nothing rendered it. WP_DEBUG_LOG writes it to a file instead.

How do I reach a site that is completely blank?

Over SFTP or through the host file manager. Every step above works without wp-admin, which is deliberate - the admin is frequently the first thing to disappear.

The site is blank only for logged-in users.

That points at an admin-only code path: a dashboard widget, an admin notice, or a role-specific query. The log still names it.

Can a white screen mean the site was hacked?

Occasionally. Injected code with a syntax error produces exactly this. Where the debug log names a file you do not recognise, or a core file, treat it as a compromise rather than a bug.

More errors