Ah, the dreaded White Screen of Death (WSoD). If you've been working with WordPress for any length of time, you've probably encountered it. One minute your site is humming along, the next, you're greeted by a blank, unforgiving white page. No error messages, no clues, just... nothing. It's a truly frustrating experience, making you wonder, "how to fix WordPress White Screen of Death?"
I’ve been in the trenches building and maintaining WordPress sites for years, and I can tell you, the WSoD is one of the most common and intimidating issues you'll face. The good news? It's almost always fixable. In this comprehensive guide, I’ll walk you through the precise steps I take as an experienced developer to diagnose and resolve the WordPress White Screen of Death, turning that blank page back into your vibrant website.
Understanding the WordPress White Screen of Death (WSoD)
Before we dive into the solutions, let's briefly understand what the WSoD typically signifies. Unlike other errors that might display specific PHP warnings or database connection failures, the WSoD is characterized by a complete lack of information. This usually means a fatal PHP error has occurred, but WordPress, for one reason or another, isn't able to display the error message itself. This can be due to:
- Memory Exhaustion: Your PHP scripts (often a plugin or theme) are consuming more memory than your server allows.
- Plugin/Theme Conflicts: A newly installed or updated plugin or theme is clashing with existing code or with WordPress itself.
- Corrupted Files: Less common, but sometimes a core WordPress file becomes damaged.
- Syntax Errors: A recent manual code edit introduced a typo that broke the site.
The key here is that the server stops processing the request before it can even render basic HTML or display an error message. It’s like a car engine seizing up without warning – silent and immediate.
Before You Begin: Essential Preparations
Before we start poking around in your WordPress installation, there are a few critical steps you absolutely must take. Trust me, these aren't optional; they are your safety net.
1. Backup, Backup, Backup!
This cannot be stressed enough. Any troubleshooting involves making changes to your site's files and potentially its database. While we'll be careful, there's always a slim chance something could go wrong, or you might make a mistake. A recent backup is your ultimate undo button. If you don't have a recent one, try to create one now using your hosting provider's tools, or manually if you have SSH/FTP access. Make sure you have both your database and all your WordPress files backed up.
2. Gather Your Credentials
You'll need access to your WordPress installation's files. This typically means:
- FTP Client Access: Hostname, username, and password for an FTP client like FileZilla. (If you're unsure about FTP, check out our guide on Using FTP for WordPress Management.)
- Hosting Control Panel Access (cPanel, Plesk, etc.): To access your File Manager, database tools, and potentially PHP version settings.
3. Stay Calm
The WSoD is scary, but it’s rarely fatal for your website. Take a deep breath. We'll approach this systematically.
Step-by-Step Solutions: How to Fix WordPress White Screen of Death
Now that you're prepared, let's get down to business. I always follow these steps, roughly in order of most likely to least likely cause.
1. Enable WordPress Debugging
This is often my very first step when facing a blank screen. If WordPress isn't showing errors, we need to tell it to. Enabling debugging forces WordPress to display any PHP errors it encounters, giving us valuable clues as to the root cause of the WSoD.
How to do it:
- Connect to your site via FTP or your hosting's File Manager.
- Navigate to the root directory of your WordPress installation (where you see
wp-config.php,wp-admin,wp-content, etc.). - Download a copy of your
wp-config.phpfile as a backup. - Open
wp-config.phpin a text editor. - Look for the line:
define( 'WP_DEBUG', false ); - Change
falsetotrue. If this line doesn't exist, or you want to log errors without displaying them publicly, add the following lines just before the/* That's all, stop editing! Happy publishing. */comment:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
Explanation of the code:
WP_DEBUGset totrueactivates debugging.WP_DEBUG_LOGset totruetells WordPress to save all errors to a file nameddebug.loginside thewp-contentdirectory. This is crucial if `WP_DEBUG_DISPLAY` is off.WP_DEBUG_DISPLAYset tofalseprevents errors from being shown directly on your website, which is good for security and user experience on a live site.@ini_set( 'display_errors', 0 );is an extra measure to ensure PHP error display is off on the front end, relying on the log file instead.
Save the changes and upload the modified wp-config.php back to your server, overwriting the old one. Then, refresh your website. You might now see an error message, or if you used WP_DEBUG_LOG, check for a debug.log file in your wp-content directory. This error message will be your best friend in figuring out how to fix WordPress White Screen of Death.
2. Increase PHP Memory Limit
A very common cause of the WSoD, especially when activating a new plugin or theme, is PHP running out of memory. If a script tries to consume more memory than is allocated, it can cause a fatal error and a blank screen.
How to do it:
- Via
wp-config.php: Open yourwp-config.phpfile (as in the previous step) and add the following line just above the/* That's all, stop editing! Happy publishing. */comment:define( 'WP_MEMORY_LIMIT', '256M' );(You can try 128M or 512M if 256M doesn't work, but 256M is usually sufficient for most sites.) - Via
php.ini: If you have access, you can edit yourphp.inifile (often found in your root directory or apublic_htmlfolder). Look formemory_limitand increase its value, e.g.,memory_limit = 256M; - Via
.htaccess: In some cases, you can addphp_value memory_limit 256Mto your.htaccessfile.
For a deeper dive into this, refer to our article on How to Increase WordPress Memory Limit.
After increasing the memory limit, save your changes, upload the file, and refresh your site. If this was the issue, your site should reappear.
3. Deactivate All Plugins
Plugin conflicts are arguably the most frequent culprits behind the WSoD. A badly coded plugin, an incompatibility between two plugins, or a plugin not playing nice with your WordPress version or theme can crash your site. Since you can't access your admin area, we'll do this manually via FTP.
How to do it:
- Connect to your site via FTP or File Manager.
- Navigate to
wp-content/plugins/. - Rename the
pluginsfolder to something likeplugins_deactivated.
By renaming the folder, WordPress can no longer find your plugins, effectively deactivating all of them. Refresh your site. If it comes back, congratulations, a plugin was the cause! (For more on managing plugins, see WordPress Plugins: Best Practices.)
Finding the offending plugin:
- Rename your
plugins_deactivatedfolder back toplugins. - Log into your WordPress admin dashboard (you should be able to now).
- Go to 'Plugins' > 'Installed Plugins'.
- Reactivate your plugins one by one, refreshing your site after each activation, until the WSoD reappears.
- The last plugin you activated is the problem. You can then delete it, find an alternative, or contact its developer for support.
4. Switch to a Default Theme
After plugins, a faulty or incompatible theme is the next most common cause of the WSoD. Similar to plugins, we'll address this via FTP.
How to do it:
- Connect via FTP/File Manager.
- Navigate to
wp-content/themes/. - Locate your currently active theme folder (e.g.,
my-custom-theme). - Rename it to something like
my-custom-theme_deactivated.
When WordPress can't find the active theme, it automatically falls back to a default theme (like Twenty Twenty-Four, Twenty Twenty-Three, etc.). If you don't have a default theme installed in your themes folder, you might need to upload one from a fresh WordPress download first. (Learn more about themes in our WordPress Themes Overview).


