How to Fix the WordPress White Screen of Death (WSOD)
The WordPress White Screen of Death (WSOD) is typically caused by PHP memory limit exhaustion, a fatal PHP error (often from a plugin or theme conflict), or corrupted core files. Because no error message is displayed on the frontend, you must use backend diagnostics to locate and resolve the issue.
1. Enable WordPress Debug Mode
To identify the exact file and line of code causing the error, enable WordPress's built-in debugging tool. This forces PHP errors to write to a private log file instead of displaying a blank screen.
Access your site files via FTP or your hosting control panel's File Manager, open wp-config.php, and locate this line:
define( 'WP_DEBUG', false );
Replace it with the following configuration to enable debugging and log errors to a private file (/wp-content/debug.log):
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
Refresh your site. If the screen remains blank, check /wp-content/debug.log for the specific error trace indicating which plugin, theme, or core file failed.
2. Increase PHP Memory Limit
If the error log indicates an exhausted memory limit (e.g., "Allowed memory size of X bytes exhausted"), you need to allocate more RAM to WordPress.
Add this line to your wp-config.php file, right before the line that says /* That's all, stop editing! Happy publishing. */:
define( 'WP_MEMORY_LIMIT', '256M' );
If you do not have permission to modify this via PHP, you may need to edit your .htaccess file in the root directory and add the following line:
php_value memory_limit 256M
3. Deactivate All Plugins
If debugging points to a plugin or if you cannot access the logs, a faulty plugin is the most likely culprit. You can disable all plugins simultaneously without admin access:
- Connect to your server via FTP or File Manager.
- Navigate to the
/wp-content/directory. - Rename the
pluginsfolder toplugins_old. This forces WordPress to deactivate all plugins. - Test your site. If it loads, rename the folder back to
plugins, log into your WordPress dashboard, and reactivate them one by one to isolate the broken plugin.
4. Revert to a Default Theme
If plugins are not the issue, your active theme might be causing a fatal PHP error. To test this, temporarily force WordPress to use a default theme:
- In your FTP or File Manager, navigate to
/wp-content/themes/. - Locate your active theme's folder and rename it (e.g.,
mytheme-old). - WordPress will automatically fallback to an active default theme (like Twenty Twenty-Four). If the site loads, the issue lies within your theme's
functions.phpor template files.
5. Check Server Error Logs and .htaccess
If the steps above do not resolve the WSOD, the issue may be server-side or related to a corrupted configuration file:
- Check .htaccess: Rename your
.htaccessfile to.htaccess_oldto check for corruption. If the site works, go to Settings > Permalinks in your dashboard and click "Save Changes" to generate a clean file. - Check Server Logs: Access your hosting account's control panel and look for "Error Logs" or "Apache/Nginx Logs" to catch low-level server errors that WordPress cannot log.
Need this done? We handle this hands-on at GuardLabs — get in touch for a quote.
Need help with this?
I take on freelance fixes and builds in this area.