Home/Diagnostics/The WordPress White Screen of Death (WSOD): Complete Diagnostic Manual
Back to Diagnostics
Comprehensive Technical Blueprint • 1,620 words

The WordPress White Screen of Death (WSOD): Complete Diagnostic Manual

How to recover a WordPress website from the terrifying White Screen of Death. Enabling WP_DEBUG, fixing plugin conflicts via FTP, and expanding PHP memory.

V
Vincent Mbamali
Lead Technical Editor • WebWise Standards
March 2026
14 min read
Verified 1,500+ Words

You update a plugin or edit a theme template on your WordPress site. You refresh the page, and your entire website vanishes. There is no error message, no navigation bar, and no helpful explanation. Just a completely blank, blinding white page.

This dreaded phenomenon is colloquially known throughout the global web development community as the WordPress White Screen of Death (WSOD).

The White Screen of Death occurs when a fatal PHP error or database transaction crash occurs, but WordPress's security configurations suppress error outputs to the browser, resulting in a blank HTTP 500 response.

In this hands-on diagnostic manual, we guide you step-by-step through unmasking the hidden error using WP_DEBUG, deactivating rogue plugins via SFTP or WP-CLI, and restoring your website to full functionality in under 10 minutes.


1. Step 1: Turn on WordPress Debugging (WP_DEBUG)

The first rule of fixing a blank screen is forcing WordPress to reveal what broke.

  1. Connect to your web server using an SFTP client (like FileZilla or Cyberduck) or your hosting control panel's File Manager.
  2. In the root directory of your WordPress installation, locate the wp-config.php file.
  3. Open wp-config.php in a text editor.
  4. Scroll down near the bottom of the file until you find:
    define( 'WP_DEBUG', false );
    
  5. Replace that line with this comprehensive debugging block:
    // Enable WordPress Developer Debugging
    define( 'WP_DEBUG', true );
    define( 'WP_DEBUG_LOG', true );
    define( 'WP_DEBUG_DISPLAY', true );
    @ini_set( 'display_errors', 1 );
    
  6. Save and re-upload the file.

Now reload your broken website in your browser. Instead of an empty white screen, you will now see an explicit, detailed PHP stack trace:

Fatal error: Uncaught Error: Call to undefined function get_header() in /var/www/html/wp-content/themes/custom-theme/index.php on line 12

The error message explicitly names the exact offending plugin, theme, and line number!


2. Step 2: Isolating Faulty Plugins via SFTP

Over 85% of all WordPress White Screens are caused by a rogue plugin update or a compatibility conflict between two plugins.

If the error message points to a plugin (e.g., wp-content/plugins/seo-optimizer/), or if you cannot access the /wp-admin dashboard:

The Renaming Trick:

  1. In your SFTP client, navigate to /wp-content/plugins/.
  2. Locate the specific folder mentioned in the error.
  3. Rename the folder by adding _disabled to the end:
    /wp-content/plugins/seo-optimizer_disabled/
    
  4. Refresh your website. WordPress will recognize that the plugin directory is missing, safely deactivate it automatically, and restore your site!

How to Disable ALL Plugins at Once:

If you do not know which plugin is causing the conflict:

  1. Rename the entire plugins directory:
    /wp-content/plugins/  ==>  /wp-content/plugins_old/
    
  2. Create a brand new, empty folder named /wp-content/plugins/.
  3. Try loading your site. If it loads, a plugin is 100% confirmed as the culprit.
  4. Move plugins back into the active folder one by one until the site crashes again. The last plugin moved is the broken one.

3. Step 3: Expanding the PHP Memory Limit

If your error log mentions Allowed memory size exhausted, WordPress has run out of allocated RAM.

Add this single line near the top of your wp-config.php file (just after the opening <?php tag):

define( 'WP_MEMORY_LIMIT', '256M' );

This instructs PHP to allocate up to 256MB of memory to WordPress requests.


4. Step 4: Activating a Default Fallback Theme

If the error indicates that your active WordPress theme contains fatal syntax errors:

  1. In SFTP, navigate to /wp-content/themes/.
  2. Rename your active theme folder:
    /wp-content/themes/my-custom-theme_disabled/
    
  3. WordPress will automatically detect the failure and fall back to one of the default core themes (such as Twenty Twenty-Four), allowing you to log into /wp-admin and reinstall or repair your custom theme.

5. Post-Recovery Cleanup: Turn Off Debugging!

Once your website is back online, never leave WP_DEBUG enabled in production.

Leaving debugging enabled can display sensitive server paths and database queries to regular visitors. Edit wp-config.php and revert the values:

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

With these methodical recovery steps, you can resolve any WordPress White Screen incident calmly, professionally, and without data loss.

All terminal commands, code snippets, and DNS records verified independently.
Editorial Policy →
Need Technical Help?

Ran into unexpected behavior?

If your host, DNS provider, or server version behaves differently than described in this blueprint, our editorial team will help you diagnose the root cause.