DEV Community

Amanur Rahman
Amanur Rahman

Posted on • Originally published at amanurrahman.com

WordPress White Screen of Death & Critical Error: Complete Fix Guide

Your WordPress site just went blank — no error, no menu, no content, just a white screen. Or maybe it's showing "There has been a critical error on this website" instead. Both are the same underlying problem showing up differently depending on your WordPress version.

I've fixed this exact issue for WordPress sites across the US, UK, and Europe over 14+ years as a developer. Here's the fix order that actually works — no guesswork, no randomly deleting plugins.

White Screen vs. Critical Error — Same Problem, Different Display

Both are caused by a PHP fatal error:

  • White Screen of Death (WSOD) — a completely blank page. Happens when WP_DEBUG_DISPLAY is off.
  • "There has been a critical error" — WordPress 5.2+'s friendlier fatal-error message. Same root cause.

Common Causes

  • A plugin update incompatible with your PHP version or WP core
  • A theme function causing a PHP fatal error
  • PHP memory limit exhausted
  • Corrupted core files from an incomplete update
  • A syntax error in functions.php
  • PHP version mismatch after a server-side upgrade

Step 1: Enable Debug Mode

Add to wp-config.php above the "stop editing" line:

define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Enter fullscreen mode Exit fullscreen mode

Check /wp-content/debug.log for the exact file and line number.

Step 2: Deactivate Plugins via FTP

Since wp-admin is inaccessible, rename /wp-content/plugins/ to plugins-disabled via FTP. If the site loads, isolate the exact plugin by renaming folders one at a time.

Step 3: Switch to a Default Theme

Rename your active theme's folder via FTP — WordPress falls back to a default theme automatically.

Step 4: Increase PHP Memory Limit

define( 'WP_MEMORY_LIMIT', '256M' );
Enter fullscreen mode Exit fullscreen mode

Step 5: Restore Core Files

Re-upload fresh WordPress core files (excluding wp-content and wp-config.php) from wordpress.org.

Step 6: Check PHP Version Mismatch

If your host silently upgraded PHP, an older plugin/theme may not support it. Check your hosting control panel.

What Does It Cost to Fix?

  • Simple plugin/theme conflict: 30–60 minutes
  • Memory limit/config fix: under 30 minutes
  • Corrupted core files: 1–2 hours
  • Custom code conflict: 1–3 hours

Full guide with the complete checklist and FAQ: amanurrahman.com

Top comments (0)