The White Screen of Death (WSOD)

There’s a particular kind of panic that hits when your website just… disappears.

No error message. No “Oops.” No comforting 500 error.

Just a blank, blinding white screen.

Welcome to the White Screen of Death—affectionately known as WSOD if you’re trying to keep your blood pressure down.

It’s one of the more frustrating WordPress errors, mostly because it’s not really an error at all. It’s the digital equivalent of someone shutting the curtains and saying absolutely nothing.

But here’s the good news: WSOD isn’t permanent. And it’s usually fixable in under an hour—sometimes in minutes—if you know what to check.

Let’s walk through it from the ground up. No fluff, no AI-sounding cheerleading, just a straightforward look at what’s going on, what’s probably causing it, and what to do next.

 

What Exactly Is the White Screen of Death?

The White Screen of Death is when your WordPress site—or parts of it—go completely blank. No content, no error, just white.

It often affects:

The entire frontend of the site

The WordPress admin dashboard

Or sometimes, just specific pages or posts

It usually shows up after:

A plugin update or install

Theme switch or theme file edit

Core update gone sideways

A bad custom function or fatal PHP error

In technical terms, it’s a failure in the PHP execution stack that isn’t being caught or displayed. PHP chokes, and because display errors are often turned off in production, you see… nothing.

 

A Quick Checklist Before You Dive In

Before we get into the gory details, do a quick check for:

✅ Try different browsers or incognito
✅ See if /wp-admin works even if the frontend doesn’t
✅ See if the site works on mobile/data (something potentially with local caching)
✅ Check if changes were recently done (plugins, edits, updates)

If something just changed, you may have isolated the culprit.

Now, let us fix this.

 

Turn On Error Reporting (The Smart Way)

You can’t fix what you can’t see.

By default, WordPress suppresses PHP errors for security reasons. But right now, you need visibility.

Open your wp-config.php and add or edit:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_DISPLAY', true );

Or, for a cleaner experience, log errors instead:

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

Now go back to your site. Refresh.

If the blank screen becomes an actual error message, congrats—you’re halfway home. Take note of the error. It’s usually something like:

Fatal error: Cannot redeclare function…
Fatal error: Call to undefined function…
Fatal error: Allowed memory size exhausted…

This tells you exactly where things are breaking.

 

Check the Error Log (Even If the Screen Is Still White)

If you enabled WP_DEBUG_LOG, WordPress will write errors to: /wp-content/debug.log

Open it up. Scan for the latest entries. You’re usually looking for:

Plugin name or path that triggered the fatal error

A function name that’s duplicated or undefined

A specific file and line number

Sometimes it’s painfully obvious:

Fatal error: Cannot redeclare get_something() in /plugins/myplugin/file.php on line 22

That’s your break point.

 

Disable Plugins the Manual Way

Can’t access the admin dashboard? No worries.

Fire up your file manager or SSH and navigate to: /wp-content/plugins/

Rename the folder of the suspected plugin to something like:

akismet → akismet.disabled

Reload your site.

Still white? Try disabling all plugins:

Rename the entire /plugins/ folder to:

plugins → plugins-disabled

WordPress will deactivate everything. Then:

Rename it back to /plugins

Reactivate plugins one by one via the admin (if it’s back), or rename them one by one until the white screen returns

That’s your broken plugin.

 

Revert Theme to Default

Still stuck?

Your theme may be the issue—especially if you just added custom code, or updated something that shouldn’t have been touched.

Two ways to switch themes when admin access is gone:

Option A: Rename your theme folder

Go to: /wp-content/themes/

Rename your current theme folder:

hello-theme → hello-theme-off

WordPress will automatically revert to the default (like twentytwentyfour), if available.

If you don’t have any default themes installed, upload one manually and switch to it.

Option B: Force it in the database (advanced)

If renaming doesn’t work, you can go nuclear and update the DB directly.

Via phpMyAdmin or WP-CLI, change the template and stylesheet values in wp_options to a known working theme.

 

Check for Memory Limit Issues

Another common WSOD cause is the PHP memory limit in WordPress, which happens at times without crashes.

Try bumping up your memory limit.

In wp-config.php, add:

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

If you’re on shared hosting, this might not take effect. In that case, you may also try editing .htaccess or php.ini (if you have access):

.htaccess

php_value memory_limit 256M

php.ini

memory_limit = 256M

Reload and see if your site returns.

If this solves it, you may have a plugin or theme with a memory leak—or a database query gone rogue.

 

Check for Corrupt Core Files

Sometimes an incomplete WordPress core update can leave you with half-upgraded files and a blank screen.

Quick fix:

Download a fresh copy of WordPress from wordpress.org

Upload everything except the /wp-content folder and wp-config.php

Overwrite core files

You won’t lose your content—just overwriting the core. Reload and test.

 

Look for Custom Code or Snippets Gone Bad

Added a new snippet in functions.php lately? That’s a red flag.

Even one missing semicolon or accidental exit; can bring down the site.

Check the functions.php file of your active theme and:

  • Comment out new changes
  • Restore a previous working version
  • Test syntax in an external PHP checker if unsure

Also watch for:

  • require or include statements pulling in broken files
  • Early echo or header() calls that conflict with output buffering

 

What If Only Part of the Site Is White?

Sometimes an incident of WSOD fever hits only the home or the admin. This usually means:

  • A broken shortcode or widget
  • A template file with errors in it
  • Specific plugin affecting that route (e.g. homepage slider or SEO plugin)

Try and narrow it down by:

  • Going directly into inner pages
  • Bypassing caches (e.g., ?nocache=1)
  • Temporarily switching themes and disabling widgets

 

When to Call It a Day (and Get Help)

If you’ve tried all of the above and it’s still not coming back, it’s time to bring in backup.

Look for:

Or use a service with emergency WordPress recovery included

What you don’t want is to keep guessing and making it worse—especially if this is a production site with traffic.

EN - Main Form

 

How to Avoid WSOD in the First Place

Now that you’ve fixed it (or are close), let’s talk prevention.

Always update plugins and themes one at a time. Check after each.

Use a staging site before applying major updates or installing new features.

Have backups you can restore instantly. Seriously. Even cheap hosts have one-click snapshots now.

Log PHP errors long-term with a tool like Query Monitor or an external log viewer.

Know your limits. If you’re not comfortable editing PHP directly, don’t. Use a code snippets plugin that validates syntax before activation.

 

The White Screen of Death feels like your site just ghosted you. But behind that eerie silence is almost always a simple cause—usually a bad plugin update, faulty function, or exhausted memory.

The real trick is not to panic.

Get eyes on the error. Disable what’s broken. Restore clean files. And when in doubt, roll back to a backup.

WordPress is robust. You’d be surprised how fast you can go from “my site’s gone” to “okay, fixed it” when you’ve got a checklist and keep your cool.

And next time, when you see someone on a forum freaking out about a blank screen, you’ll know exactly what to say—and how to help.

EN - Main Form