How to Fix WordPress White Screen of Death

What Is the WordPress White Screen of Death?

The WordPress White Screen of Death (WSOD) is one of the most frustrating errors you can encounter. Instead of seeing your website, visitors (and you) see a completely blank white page with no error message. The site appears to be down, but there’s no clear indication of what went wrong.

This happens because WordPress encountered a fatal PHP error but isn’t displaying error messages. Most commonly, it’s caused by plugin conflicts, theme issues, or server resource limits.


Common Causes of the White Screen

  • Plugin conflict — A recently installed or updated plugin contains broken code
  • Theme incompatibility — Your theme has a code error or isn’t compatible with your WordPress version
  • PHP memory limit exceeded — WordPress needs more memory than your server allows
  • PHP version mismatch — Your plugins or theme require a different PHP version
  • Corrupted .htaccess file — Rewrite rules are blocking access
  • Disabled PHP extensions — Required PHP modules aren’t loaded on your server
  • Fatal PHP error — Syntax error in a custom code snippet

Solution 1: Enable WordPress Debug Mode

This is the fastest way to identify the root cause.

  1. Connect via FTP or File Manager
  2. Open wp-config.php in the root directory
  3. Find this line:
    define('WP_DEBUG', false);
    
  4. Replace it with:
    define('WP_DEBUG', true);
    define('WP_DEBUG_LOG', true);
    define('WP_DEBUG_DISPLAY', false);
    
  5. Save the file and refresh your website

Now, check /wp-content/debug.log for error messages. This log file will show you the exact PHP error that’s causing the issue. You can view it via FTP or use this command in SSH:

tail -f /home/username/public_html/wp-content/debug.log

This displays the last entries in real-time as errors occur.


Solution 2: Increase PHP Memory Limit

WordPress typically needs 64MB of memory, but plugins and heavy themes may require more.

  1. Open wp-config.php
  2. Add this line above the /* That's all, stop editing! */ comment:
    define('WP_MEMORY_LIMIT', '256M');
    define('WP_MAX_MEMORY_LIMIT', '512M');
    
  3. Save and test

If you can’t edit wp-config.php, contact your hosting provider to increase the memory limit via the control panel (cPanel, Plesk, etc.).


Solution 3: Disable All Plugins

A conflicting plugin is often the culprit.

  1. Connect via FTP or File Manager
  2. Navigate to /wp-content/
  3. Right-click the plugins folder and rename it to plugins-old
  4. Check if your site loads now
  5. If it does, rename the folder back to plugins
  6. Then rename individual plugin folders inside to identify which one causes the issue:
    • Rename one plugin folder, test the site
    • If it works, that plugin is the problem
    • Repeat until you find the conflicting plugin

Once identified, delete that plugin and install an alternative, or contact the plugin developer.


Solution 4: Switch to a Default WordPress Theme

A faulty theme can also cause the WSOD.

  1. Access your database via phpMyAdmin
  2. Find the wp_options table
  3. Locate the row with option_name = template
  4. Change its value to twentytwentythree (or another default WordPress theme)
  5. Save and refresh your site

Alternatively, add this code to wp-config.php:

define('WP_DEFAULT_THEME', 'twentytwentythree');

Solution 5: Check PHP Version Compatibility

Outdated PHP versions can trigger errors with modern plugins.

  1. Log in to your hosting control panel
  2. Navigate to PHP settings or PHP version selector
  3. Choose PHP 8.0 or newer (WordPress recommends 8.0+)
  4. Save changes and test your site

Ask your hosting provider which PHP versions are available if you don’t see this option.


Solution 6: Fix the .htaccess File

Corruption here can prevent WordPress from loading.

  1. Connect via FTP
  2. Find .htaccess in your root directory
  3. Delete it
  4. Log in to WordPress (if accessible) → Settings → Permalinks
  5. Click “Save Changes” to regenerate .htaccess

If your site still shows a white screen, re-upload a fresh .htaccess:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Solution 7: Restore from a Backup

If nothing else works, restore from a recent backup.

  1. Access your hosting control panel
  2. Look for “Backups” or “Restore” option
  3. Choose the most recent backup from before the error started
  4. Restore your entire WordPress installation

Contact your hosting provider if you don’t know how to restore backups.


Prevention Tips

  • Keep WordPress, plugins, and themes updated
  • Test plugins in a staging environment before installing on your live site
  • Monitor your debug log regularly
  • Maintain regular backups (weekly minimum)
  • Choose plugins from reputable developers with good reviews

Related: Having trouble after enabling debug mode? Check out How to Fix WordPress 500 Internal Server Error for additional troubleshooting steps.


Conclusion

The white screen usually disappears once you identify and fix the root cause. Most of the time you’ll find answers in the debug.log file within minutes. If you’ve gone through all solutions and still have issues, your hosting support team will need the debug log to dig deeper into what’s happening on the server sidegin, theme issue, or memory limit problem.

If you’ve tried all these steps and still see a white screen, contact your hosting provider’s support team and share the debug log contents. They can help investigate server-level issues beyond your control.

Leave a Comment