The White Screen of Death (WSOD) is a blank white page with no error message, or a “There has been a critical error on this website” notice. It’s usually a PHP fatal error that WordPress catches before it can render anything.

Step 1: Enable Debug Mode

WordPress hides errors by default. Turn them on to see what’s actually failing.

Edit wp-config.php (via cPanel File Manager or SSH) and find these lines:

  define('WP_DEBUG', false);
  

Change to:

  define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
  

This writes errors to wp-content/debug.log without showing them to visitors. Reload the page, then check:

  tail -50 ~/public_html/wp-content/debug.log
  

The log will tell you the exact file and line number causing the crash.

Step 2: Plugin Conflict (Most Common Cause)

About 80% of WSOD cases are caused by a plugin.

If You Can Access wp-admin

  1. Go to Plugins > Installed Plugins
  2. Deactivate all plugins
  3. Check if the site loads
  4. Reactivate plugins one by one until the white screen returns
  5. The last plugin you activated is the problem

If You Can’t Access wp-admin

Use cPanel File Manager or SSH:

  cd ~/public_html/wp-content/
mv plugins plugins.disabled
  

This deactivates all plugins. If the site loads, rename the folder back and find the culprit:

  mv plugins.disabled plugins
# Then rename individual plugin folders to test
mv plugins/plugin-name plugins/plugin-name.disabled
  

Step 3: Theme Conflict

If deactivating plugins didn’t help, switch to a default theme:

  cd ~/public_html/wp-content/themes/
mv your-active-theme your-active-theme.disabled
  

WordPress falls back to a default theme (Twenty Twenty-Five, Twenty Twenty-Four, etc.) if it can’t find the active theme. If the site loads with a default theme, your theme has a bug.

Step 4: PHP Memory Limit

If the debug log shows Allowed memory size exhausted:

Add to wp-config.php (before the “stop editing” line):

  define('WP_MEMORY_LIMIT', '256M');
  

Or set it in cPanel:

  1. Go to Select PHP Version > Options
  2. Set memory_limit to 256M

Step 5: Corrupted Core Files

If nothing above works, WordPress core files might be corrupted:

  cd ~/public_html/
# Download a fresh copy of WordPress
wp core download --force --skip-content
  

If you don’t have WP-CLI, download WordPress from wordpress.org, extract it, and upload the wp-admin and wp-includes folders via File Manager. Don’t touch wp-content - that’s your data.

Step 6: Check PHP Version

Some themes and plugins are incompatible with newer PHP versions:

  1. Go to cPanel > Select PHP Version
  2. Note your current PHP version
  3. Try stepping down one version (e.g., from 8.3 to 8.2)
  4. Reload the site

If it works on an older PHP version, update your plugin/theme or find alternatives that support the newer version.

After Fixing

Once the site is back:

  1. Turn off debug mode: set WP_DEBUG back to false in wp-config.php
  2. Delete the debug log: remove wp-content/debug.log (it may contain sensitive paths)
  3. Update everything: run all available updates for core, plugins, and themes
  4. Take a backup: use Backuply to save this known-good state

What to Do Next

Last updated 07 Apr 2026, 00:00 +0200. history

Was this page helpful?