What causes the WordPress white screen of death?
A white screen means PHP encountered a fatal error and stopped executing before producing any HTML output. Since WordPress 5.2, you might see a “There has been a critical error on this website” message instead of a pure white screen, but the underlying cause is the same.
The most common triggers:
| Cause | Frequency | How to Identify |
|---|---|---|
| Plugin conflict or fatal error | ~60% | Started after a plugin update or activation |
| Theme PHP error | ~20% | Started after theme update or code edit |
| PHP memory exhaustion | ~10% | Large pages or complex queries hit the memory limit |
| Corrupted WordPress core files | ~5% | After failed update or file permission issues |
| PHP version incompatibility | ~5% | After hosting PHP upgrade or plugin requiring newer PHP |
How do you diagnose the white screen of death?
Step 1: Enable WP_DEBUG to see the actual error.
Access wp-config.php via FTP, SFTP, or your hosting file manager. Find these lines and change them:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
Setting WP_DEBUG_DISPLAY to false prevents errors from showing to visitors while still logging them. Check wp-content/debug.log for the fatal error message.
The error log will tell you exactly which file and line number caused the crash. That is your starting point.
Step 2: If you cannot access wp-config.php
Some hosting providers offer a PHP error log in the control panel (cPanel > Error Log, or Plesk > Logs). Check there for the most recent fatal error. The timestamp will match when the white screen started.
How do you fix a white screen caused by a plugin?
If the error log points to a file in wp-content/plugins/, that plugin is the culprit.
Method 1: Rename the plugin folder via FTP
Navigate to wp-content/plugins/ and rename the problematic plugin folder (e.g., broken-plugin to broken-plugin-disabled). WordPress will deactivate it automatically. If the site loads, you found the problem.
Method 2: Disable all plugins via WP-CLI (if you have SSH access)
wp plugin deactivate --all
If the site loads, reactivate plugins one at a time to identify the conflict:
wp plugin activate plugin-name
Method 3: Disable all plugins via database
If you cannot access FTP or SSH, connect to your database via phpMyAdmin and run:
UPDATE wp_options SET option_value = 'a:0:{}' WHERE option_name = 'active_plugins';
This deactivates all plugins. Log into wp-admin and reactivate them one by one.
After identifying the plugin:
- Check if a newer version exists that fixes the issue
- Check the plugin support forum for reports of the same error
- If the plugin is abandoned (no updates in 12+ months), find an alternative
- If it conflicts with another plugin, contact both developers or choose one
How do you fix a white screen caused by your theme?
If the error log points to a file in wp-content/themes/your-theme/, the theme has a PHP error.
Switch to a default theme via WP-CLI:
wp theme activate twentytwentyfive
Or via database:
UPDATE wp_options SET option_value = 'twentytwentyfive' WHERE option_name = 'template';
UPDATE wp_options SET option_value = 'twentytwentyfive' WHERE option_name = 'stylesheet';
If the site loads with a default theme, the issue is in your theme code. Check the specific file and line number from the error log. Common causes:
- Syntax error in functions.php (missing semicolon, unclosed bracket)
- Calling a function from a plugin that is no longer active
- Using PHP syntax not supported by your server’s PHP version
- Corrupted theme file from a failed update
How do you fix a white screen from PHP memory exhaustion?
The error log will show something like: Fatal error: Allowed memory size of 67108864 bytes exhausted
Increase the memory limit in wp-config.php:
define('WP_MEMORY_LIMIT', '256M');
Or in .htaccess:
php_value memory_limit 256M
Or in php.ini (if your host allows it):
memory_limit = 256M
If increasing memory fixes the white screen but the site is consuming excessive memory, that is a symptom, not a root cause. Profile with Query Monitor to find which plugin or query is consuming disproportionate memory. A single plugin consuming 128MB+ usually indicates a bug or infinite loop.
How do you fix corrupted WordPress core files?
If the error points to a file in wp-includes/ or wp-admin/, core files may be corrupted.
Reinstall core via WP-CLI:
wp core download --force --skip-content
This replaces all core files without touching wp-content (your plugins, themes, and uploads are safe).
Manual method:
- Download a fresh copy of your WordPress version from wordpress.org
- Delete the
wp-includes/andwp-admin/folders on your server - Upload the fresh copies from the download
- Do NOT delete or replace
wp-content/orwp-config.php
After reinstalling core, verify checksums:
wp core verify-checksums
Any file that does not match the official release is either modified or corrupted.
What if the white screen only appears on specific pages?
A WSOD on specific pages (but not the whole site) usually means:
- A specific post/page has content triggering a shortcode or block error – Edit the page and check for broken shortcodes from deactivated plugins
- A template file has an error – If only archive pages crash, check archive.php. If only single posts crash, check single.php
- A database query on that page is failing – Check debug.log for database errors related to that specific content
For page-specific issues, enabling WP_DEBUG_LOG and then loading the broken page will capture the exact error without affecting the rest of the site.
When should you call a professional for the white screen of death?
Handle it yourself if: you can access FTP/SSH, the error log clearly identifies the problem, and the fix is straightforward (disable a plugin, increase memory, fix a syntax error).
Call a professional if: you cannot access the server at all, the error log shows database corruption, the site keeps crashing after you fix one issue (indicating deeper problems), or the white screen appeared without any recent changes (possible hack).
A WordPress one-time fix typically resolves WSOD issues within hours. We diagnose the root cause, fix it, and explain what happened so you can prevent it next time.
Frequently Asked Questions
Usually not. The vast majority of WSOD cases are caused by plugin conflicts, theme errors, or memory exhaustion - not security breaches. However, if the white screen appeared without any recent updates or changes on your end, check for unauthorized file modifications. A hack that injects malformed PHP can trigger fatal errors.
Yes. Take a full snapshot before applying any updates so you can roll back instantly if something breaks. Keep PHP updated to a supported version. Monitor error logs for warnings (they often precede fatal errors). Use a maintenance plan that includes pre-update snapshots and proactive monitoring.
No. A PHP fatal error will persist until the problematic code is removed, fixed, or the conflicting plugin/theme is deactivated. The site will remain broken until someone intervenes. The longer you wait, the more traffic and potential revenue you lose.
Is your website down? We can help!
Get in touch and our team will be happy to help you get back online.