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
CriticalA 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
CriticalA broken functions.php, incompatible template file, or syntax error in the active theme causes a PHP fatal error during page rendering.
PHP memory exhaustion
CriticalA 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
ModerateA 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
ModerateWordPress 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
ModerateA 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
LowIncorrect 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.
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
A blank white page (WSOD) is usually caused by a PHP fatal error — most commonly from a plugin conflict, theme error, or PHP memory exhaustion. The error is hidden because WordPress disables error display in production. Enable WP_DEBUG temporarily to see the actual error.
Yes. Any PHP-based site can experience WSOD if a fatal error occurs with display_errors disabled. It can also happen on JavaScript-heavy sites where the JS that renders the page fails to load — the server returns HTML, but without the JS, nothing renders. This is common in React/Vue/Angular SPAs.
Often not. If the server returns a 200 OK with an empty body (which many WSOD scenarios do), uptime monitors report "all good." You need website monitoring that checks whether the page actually has content — asset validation and content fingerprinting catch what status codes miss.
Test updates on staging before production. Keep PHP version current. Monitor memory usage. Set up website monitoring that detects empty or drastically changed pages. And always have a backup you can restore in minutes.
Keep reading
Related resources
Detect the White Screen of Death automatically
Free plan available. Catch blank pages before your visitors do.