Skip to content

Troubleshooting

White Screen of Death: What It Is and How to Fix It

You visit your site and see... nothing. A blank white page. No error message, no content, no clue what went wrong. This is the White Screen of Death (WSOD), and it's one of the most common — and most frustrating — WordPress failures. Here's how to diagnose it, fix it, and make sure you catch it automatically next time.

  • 7 causes of the white screen of death
  • Step-by-step fix for each cause
  • How to detect WSOD before users do

The basics

What is the White Screen of Death?

The White Screen of Death (WSOD) is when your website shows a completely blank white page — no content, no error message, nothing. It's most commonly associated with WordPress, but it can happen on any PHP-based site.

Why is the screen white? When PHP encounters a fatal error, it stops executing. If error display is disabled (as it should be in production), the server sends back an empty HTML response. Some hosting environments return a 500 error; others return a 200 with an empty body. Either way, the visitor sees a blank page.

Why is WSOD particularly dangerous? Because many monitoring tools won't catch it. If the server returns a 200 OK with an empty body, uptime monitors report "all good." The site is technically "up" — it's just showing nothing. This is exactly the kind of "up but broken" failure that requires website monitoring to detect.

11

Detection rules

23+

Stack playbooks

Free

1 site

7 common causes

What causes the White Screen of Death

Plugin conflict or error

Critical

A plugin update introduces a fatal PHP error or conflicts with another plugin. The PHP execution stops before any HTML output. This is the #1 cause of WSOD.

Theme error

Critical

A broken functions.php, incompatible template file, or syntax error in the active theme causes a PHP fatal error during page rendering.

PHP memory exhaustion

Critical

A heavy page, poorly optimized plugin, or memory leak exceeds the PHP memory limit. PHP dies silently. Common on shared hosting with low memory limits (64-128MB).

PHP syntax error

Moderate

A typo in a theme file, plugin, or wp-config.php — a missing semicolon, unclosed bracket, or wrong function name. PHP can't parse the file and dies.

Database connection failure

Moderate

WordPress can't connect to the database. Instead of rendering a helpful error page, some configurations produce a white screen. Check wp-config.php credentials.

Corrupted core files

Moderate

A failed WordPress core update leaves files in a broken state. Half-updated core files crash during execution. Less common but harder to diagnose.

File permission issues

Low

Incorrect file permissions prevent PHP from reading theme or plugin files. The include fails silently, producing a white screen.

Step-by-step fixes

How to fix the White Screen of Death

Step 1: Enable error display

The white screen exists because PHP errors are hidden. Temporarily show them by adding this to your wp-config.php (above the line that says "stop editing"):

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

Reload the page. If there's a PHP error, you'll now see it. Important: Turn this off after debugging — never leave debug display on in production.

Step 2: Deactivate all plugins

If you can access wp-admin, go to Plugins → deactivate all. If you can't access wp-admin (most likely with WSOD), connect via FTP and rename wp-content/plugins to wp-content/plugins-disabled. Reload the site. If it works, the problem is a plugin. Rename the folder back and reactivate plugins one by one.

Step 3: Switch to a default theme

If deactivating plugins didn't help, switch to Twenty Twenty-Four. Via FTP, rename your active theme folder in wp-content/themes/. WordPress will fall back to the first available default theme. If the site loads, the problem is your theme.

Step 4: Increase PHP memory

Add this to wp-config.php: define('WP_MEMORY_LIMIT', '256M');

If your host allows it, also check your PHP configuration (php.ini or hosting panel) for memory_limit.

Step 5: Check error logs

If none of the above helps, check your server's PHP error log. Location depends on your host — common paths are /var/log/php-errors.log, ~/logs/error.log, or accessible through your hosting panel. The error log will tell you exactly which file and line caused the fatal error.

Step 6: Reinstall WordPress core

If you suspect corrupted core files, download a fresh copy of WordPress from wordpress.org and replace everything except wp-content/ and wp-config.php. This replaces all core files without touching your content, themes, or plugins.

Start monitoring today

Free plan. No credit card.

Catch it automatically

How to detect WSOD before your users do

Asset-level monitoring

Sitewatch validates every asset on your pages. When a WSOD occurs, the HTML response is empty — no JS, no CSS, no assets. Sitewatch detects this immediately, unlike uptime tools that only check the HTTP status code.

Content fingerprinting

SHA-256 fingerprinting detects when your page content changes dramatically. A full page going to an empty page is a significant fingerprint change that triggers an alert.

Post-update checks

Deploy hooks trigger a website check after updates. If a plugin or theme update causes WSOD, you know within minutes — not when a customer emails you the next morning.

Root cause in the alert

The alert tells you what changed: "0 assets found (previously 47)" or "HTTP 500 on /wp-admin/." You get diagnosis, not just "your site is down."

WSOD FAQ

Detect the White Screen of Death automatically

Free plan available. Catch blank pages before your visitors do.