WordPress white screen of death: the fix, in order

A blank page, no error, no email, nothing to search for. The white screen is the critical-error screen with the lights off. Here's where the error is hiding, and the six places to look for it.

Founder of RoundBorders · WordPress since 2012

Published 7 min read

This post has you renaming folders and editing files on your server. Back up first and change one thing at a time, so you can undo the one that made it worse. If you'd prefer someone else did it, the end of the post says what we charge.

The short answer

A pure white page means the error happened before WordPress could catch it, the output was cut off, or something is hiding it. Check the page source first, then make the error visible and work down these steps to the plugin, theme, memory limit or server behind it.

  1. 01Check whether it’s really blank
  2. 02Make the error visible
  3. 03Deactivate plugins from the file system
  4. 04Rename the theme
  5. 05Raise the memory limit
  6. 06Core files and the server

Rather hand it over? Get a fixed price for the whole job, from $199.

The white screen of death is worse than the critical-error box for one reason: it tells you nothing. No message, no email, no hint. Newer WordPress versions usually catch a fatal error and show the polite box instead, so when you get a pure white page in 2026 it means one of three things: the error happened before WordPress could catch it, the output was cut off halfway, or something is deliberately hiding it. All three are findable. Here is where I look, in order.

Step 01 Check whether it’s really blank

Right-click the white page and choose “View page source”. A truly blank source means PHP stopped before printing anything. If instead you see a full page of HTML, the problem is in the browser: usually a CSS or JavaScript file that fails to load and leaves the page invisible, not broken. Open the browser console (F12) and look for red lines. A net::ERR or a 404 on a stylesheet is a hosting, CDN, or caching issue, not a PHP one, and clearing the site cache (plugin and host) fixes a surprising share of “white screens”.

Also check wp-admin separately. If the front end is white but /wp-admin/ loads, the fault is in your theme. If both are white, it’s a plugin, core, or the server.

Source has HTML, console has errors?

Clear every cache (plugin, host, CDN, browser) and reload. If it's a missing file, the console names it.

Source is empty?

PHP died before printing. Step 02 makes it talk.

Step 02 Make the error visible

A white screen is a fatal error with display_errors off. Turn on logging in wp-config.php, above the “stop editing” line:

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

Reload once and read wp-content/debug.log. If the log stays empty, the error may be happening before wp-config.php is even reached, or the host blocks writes to that folder. In that case your hosting panel’s error log (cPanel: “Errors”; most managed hosts: Logs → PHP) has it. Look for the newest line containing PHP Fatal error or PHP Parse error.

Plain English A parse error means a file has a typo in it, usually functions.php after someone pasted a snippet. A fatal error means the code ran and hit a wall. Both name the file and line.

The log names a file?

Skip to the matching step: a theme file → step 04, a plugin → step 03, "memory" → step 05, "wp-includes" → step 06.

Still nothing?

Work the list from step 03; it takes ten minutes.

Step 03 Deactivate plugins from the file system

Over FTP or your host’s file manager, rename wp-content/plugins to plugins-off and reload. If the site returns, rename it back and reactivate plugins one at a time in wp-admin until the white screen comes back. The last one you activated is the cause. If you have a hunch (you updated one plugin right before this started), rename only that plugin’s folder first and save yourself the elimination round.

Step 04 Rename the theme

If only the front end is white, this is the likeliest step. In wp-content/themes/, rename your active theme’s folder; WordPress falls back to a default theme. If the site loads, the error is in your theme, and it is nearly always functions.php: a pasted snippet with a missing semicolon, a closing ?> followed by a blank line, or a function that was already defined by a plugin.

The ?> trap A stray space or newline after a closing PHP tag in functions.php sends output before WordPress is ready and can blank the page or break logins with “headers already sent”. Delete the closing tag entirely; PHP files don’t need it.

Loads on the default theme?

Restore your theme folder name and fix the file the log named, or roll back the last edit. Stop here.

Still white?

It isn't the theme. Step 05.

Step 05 Raise the memory limit

The classic white-screen cause. If the log says Allowed memory size … exhausted, add define( 'WP_MEMORY_LIMIT', '256M' ); to wp-config.php. If the host caps PHP memory below that, raise it in the hosting panel or php.ini. This gets the site back; it doesn’t explain why a page needed more than 128 MB, and that question usually has a plugin’s name as the answer.

Step 06 Core files and the server

Two remaining places. A failed automatic update can leave wp-includes half-written; re-upload wp-admin and wp-includes from a fresh download of the same version (never wp-content, never wp-config.php). And if the log mentions mysql, MySQL server has gone away, or nothing at all while the host’s status page shows trouble, the site isn’t broken, the server is. That’s a ticket to the host, and a good moment to reconsider the host.

If you’ve done all six and it’s still white, something is unusual enough that a post can’t guess it: a server misconfiguration, a .htaccess rule from a security plugin, a disk that ran out of space. That is the point where I’d want the logs in front of me, and it’s the rescue I do most often.

From the RoundBorders team

Still showing the error?

Send the address and what you see. We find the cause and send a fixed price, usually within a few hours, and most sites are fixed the same day.

  • From $199
  • Fixed the same day
  • Nothing to pay until you approve a price
No passwords needed to quote

Write as much as you like: what's happening, what you want, links, errors. The more we know, the more exact your fixed price.

How we fix a WordPress critical error

Share this post

Know someone whose site just went down? Send it their way.

Bishoy Awad

Written by

Founder of RoundBorders. Building and fixing WordPress sites since 2012; our work is listed in the WooCommerce, Pressable and Jetpack partner directories.

Found a mistake? Write to me.