WordPress White Screen of Death
You load your website and get absolutely nothing. No error message. No warning. No WordPress. Just an empty white page staring back at you like it pays the hosting bill.
Welcome to the infamous WordPress White Screen of Death, commonly shortened to WSOD.
What Is the White Screen of Death?
A WordPress White Screen of Death usually means PHP encountered a serious error before WordPress was able to finish generating the page.
Instead of showing the actual error, PHP or WordPress may have error display disabled. The result is exactly what you just experienced:
The most common causes include:
- A broken or incompatible WordPress plugin
- A broken or incompatible theme
- A PHP fatal error
- An unsupported PHP version
- Exhausted PHP memory
- A failed WordPress update
- Damaged or missing WordPress core files
- Bad code added to
functions.php - A malformed
wp-config.phpfile - Corrupted cache
- File permission or ownership problems
Step-by-Step Troubleshooting
Step 1: Check Whether the Entire Site Is Broken
Before changing anything, determine exactly what is affected.
Try loading:
The result can help narrow things down.
- Frontend white, wp-admin works: the problem may be related to the active theme or frontend code.
- Frontend works, wp-admin white: an admin-side plugin or PHP error may be involved.
- Everything is white: begin looking for a plugin, PHP, configuration, or core WordPress failure.
Step 2: Check the WordPress Recovery Email
Modern versions of WordPress can detect certain fatal PHP errors and send the site administrator an email.
The subject may look similar to:
That email may identify the exact plugin, theme, or PHP file responsible for the crash.
It may also contain a special WordPress Recovery Mode login link.
Step 3: Enable WordPress Debug Logging
If WordPress isn't telling you what is broken, make it keep a record.
Open:
Find:
Change it to:
If the constants do not already exist, add them immediately before:
Reload the broken page and then check:
Look near the bottom of the file for messages containing phrases such as:
PHP Fatal errorUncaught ErrorAllowed memory size exhaustedCall to undefined functionClass not foundParse error
WP_DEBUG back to
false unless you specifically need continued debugging.
Step 4: Disable All Plugins
Plugins are one of the most common causes of WordPress fatal errors.
If you can access wp-admin, go to:
Deactivate all plugins and reload the site.
If wp-admin is also unavailable, use your hosting File Manager, FTP, SFTP, or SSH and locate:
Rename the directory:
Reload the website.
Rename the directory back to:
Then activate plugins one at a time until the problem returns.
The last plugin activated before the crash is your prime suspect.
Step 5: Test the Active Theme
Themes can cause exactly the same type of fatal PHP errors as plugins.
Open:
Find the currently active theme directory.
For example:
Rename it:
If a default WordPress theme is installed, WordPress may attempt to fall back to it.
Examples include:
- Twenty Twenty-Five
- Twenty Twenty-Four
- Twenty Twenty-Three
functions.php, custom PHP files, recent updates, and any
code added shortly before the problem appeared.
Step 6: Check the PHP Version
WordPress itself may support your PHP version while an older plugin or theme does not.
A PHP version change can expose old code that previously appeared to work.
Common errors caused by PHP incompatibility include:
Check the PHP version assigned to the domain through your hosting control panel.
Step 7: Check for PHP Memory Exhaustion
If WordPress runs out of PHP memory, you may see an error similar to:
That means PHP reached its configured memory limit.
You can sometimes increase the WordPress memory limit in
wp-config.php:
However, increasing the limit does not automatically fix the underlying cause.
Step 8: Check the Server Error Logs
If WordPress does not create a useful debug.log, the server
may still have recorded the error.
Depending on the hosting environment, check for logs such as:
On cPanel hosting, individual websites may also have an
error_log file inside the site's directory.
Search for entries generated at the same time you loaded the white screen.
Step 9: Clear WordPress and Server Cache
Sometimes the fatal error has already been repaired but a cache layer continues serving the broken response.
Clear any applicable:
- WordPress caching plugin cache
- LiteSpeed Cache
- Object cache
- Redis cache
- Memcached
- Server-side page cache
- Cloudflare cache
- Browser cache
Then test the website again using a private/incognito browser window.
Step 10: Check WordPress Core Files
An interrupted update, failed upload, or damaged WordPress installation can leave core files missing or incomplete.
The safest repair method is normally to replace WordPress core files with clean copies from the same or current supported WordPress release.
Core directories that can normally be replaced with clean WordPress copies include:
WordPress root PHP files can also be replaced, while preserving:
Step 11: Check wp-config.php for Syntax Problems
A single missing quote, semicolon, bracket, or PHP tag can prevent WordPress from starting.
Pay special attention to anything recently added to:
Examples include:
- Debugging constants
- Memory limit changes
- Database settings
- Security keys
- Custom PHP
- Cache configuration
Step 12: Think About What Changed
This sounds painfully obvious, but it is one of the best troubleshooting questions available:
Did you:
- Update a plugin?
- Install a plugin?
- Update WordPress?
- Change PHP versions?
- Edit functions.php?
- Add a code snippet?
- Change wp-config.php?
- Restore a backup?
- Move the website?
- Change hosting?
- Enable caching?
Start with the most recent change before dismantling the entire site.
Step 13: Restore a Backup If Necessary
If the site was working recently and the cause cannot be repaired quickly, restoring a known-good backup may be the fastest recovery option.
Ideally restore both:
- Website files
- WordPress database
For ecommerce or frequently updated websites, restoring only the damaged files may be safer than blindly restoring the entire database.
The Fast Troubleshooting Order
If you just want the quickest route through the problem, use this order:
- Check whether the frontend and wp-admin are both affected.
- Look for the WordPress Technical Issue email.
-
Enable
WP_DEBUG_LOG. - Reload the broken page.
-
Check
/wp-content/debug.log. - Check the server PHP/error logs.
- Disable all plugins.
- Test the active theme.
- Verify the PHP version.
- Check for memory exhaustion.
- Clear caches.
- Repair WordPress core files if necessary.
Once the Site Is Working Again
Don't immediately close File Manager and pretend none of this ever happened.
Take a few minutes to clean things up.
- Disable WordPress debugging if it is no longer required.
- Remove or replace the broken plugin or theme.
- Update WordPress core.
- Update supported plugins and themes.
- Remove abandoned plugins.
- Verify your PHP version is supported.
- Clear all caches.
- Create a fresh backup.
- Test the frontend and wp-admin.
Still Getting a White Screen?
If you've gone through the steps above and the site is still completely blank, collect as much information as possible before asking for help.
Useful information includes:
- The exact URL showing the white screen
- Whether wp-admin works
- When the problem started
- What changed beforehand
- Your PHP version
- Your WordPress version
- The latest error from debug.log
- The latest PHP/server error
- Whether disabling plugins changes anything
- Whether changing themes changes anything
An actual PHP error message is approximately 4,000 times more useful than: