Skip to content

How to Fix the WordPress White Screen of Death

The WordPress white screen of death (WSOD) is caused by a PHP fatal error that kills output before the page renders. The fix depends on the cause: plugin conflict, theme error, memory exhaustion, or corrupted core files. Enable WP_DEBUG to see the actual error, then address it directly. Below is the systematic diagnosis process I use; it resolves 95% of WSOD cases within 30 minutes.

How to Fix the WordPress White Screen of Death

What causes the WordPress white screen of death?

A white screen means PHP encountered a fatal error and stopped executing before producing any HTML output. Since WordPress 5.2, you might see a “There has been a critical error on this website” message instead of a pure white screen, but the underlying cause is the same.

The most common triggers:

CauseFrequencyHow to Identify
Plugin conflict or fatal error~60%Started after a plugin update or activation
Theme PHP error~20%Started after theme update or code edit
PHP memory exhaustion~10%Large pages or complex queries hit the memory limit
Corrupted WordPress core files~5%After failed update or file permission issues
PHP version incompatibility~5%After hosting PHP upgrade or plugin requiring newer PHP

How do you diagnose the white screen of death?

Step 1: Enable WP_DEBUG to see the actual error.

Access wp-config.php via FTP, SFTP, or your hosting file manager. Find these lines and change them:

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

Setting WP_DEBUG_DISPLAY to false prevents errors from showing to visitors while still logging them. Check wp-content/debug.log for the fatal error message.

The error log will tell you exactly which file and line number caused the crash. That is your starting point.

Step 2: If you cannot access wp-config.php

Some hosting providers offer a PHP error log in the control panel (cPanel > Error Log, or Plesk > Logs). Check there for the most recent fatal error. The timestamp will match when the white screen started.

How do you fix a white screen caused by a plugin?

If the error log points to a file in wp-content/plugins/, that plugin is the culprit.

Method 1: Rename the plugin folder via FTP

Navigate to wp-content/plugins/ and rename the problematic plugin folder (e.g., broken-plugin to broken-plugin-disabled). WordPress will deactivate it automatically. If the site loads, you found the problem.

Method 2: Disable all plugins via WP-CLI (if you have SSH access)

wp plugin deactivate --all

If the site loads, reactivate plugins one at a time to identify the conflict:

wp plugin activate plugin-name

Method 3: Disable all plugins via database

If you cannot access FTP or SSH, connect to your database via phpMyAdmin and run:

UPDATE wp_options SET option_value = 'a:0:{}' WHERE option_name = 'active_plugins';

This deactivates all plugins. Log into wp-admin and reactivate them one by one.

After identifying the plugin:

  • Check if a newer version exists that fixes the issue
  • Check the plugin support forum for reports of the same error
  • If the plugin is abandoned (no updates in 12+ months), find an alternative
  • If it conflicts with another plugin, contact both developers or choose one

How do you fix a white screen caused by your theme?

If the error log points to a file in wp-content/themes/your-theme/, the theme has a PHP error.

Switch to a default theme via WP-CLI:

wp theme activate twentytwentyfive

Or via database:

UPDATE wp_options SET option_value = 'twentytwentyfive' WHERE option_name = 'template';
UPDATE wp_options SET option_value = 'twentytwentyfive' WHERE option_name = 'stylesheet';

If the site loads with a default theme, the issue is in your theme code. Check the specific file and line number from the error log. Common causes:

  • Syntax error in functions.php (missing semicolon, unclosed bracket)
  • Calling a function from a plugin that is no longer active
  • Using PHP syntax not supported by your server’s PHP version
  • Corrupted theme file from a failed update

How do you fix a white screen from PHP memory exhaustion?

The error log will show something like: Fatal error: Allowed memory size of 67108864 bytes exhausted

Increase the memory limit in wp-config.php:

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

Or in .htaccess:

php_value memory_limit 256M

Or in php.ini (if your host allows it):

memory_limit = 256M

If increasing memory fixes the white screen but the site is consuming excessive memory, that is a symptom, not a root cause. Profile with Query Monitor to find which plugin or query is consuming disproportionate memory. A single plugin consuming 128MB+ usually indicates a bug or infinite loop.

How do you fix corrupted WordPress core files?

If the error points to a file in wp-includes/ or wp-admin/, core files may be corrupted.

Reinstall core via WP-CLI:

wp core download --force --skip-content

This replaces all core files without touching wp-content (your plugins, themes, and uploads are safe).

Manual method:

  1. Download a fresh copy of your WordPress version from wordpress.org
  2. Delete the wp-includes/ and wp-admin/ folders on your server
  3. Upload the fresh copies from the download
  4. Do NOT delete or replace wp-content/ or wp-config.php

After reinstalling core, verify checksums:

wp core verify-checksums

Any file that does not match the official release is either modified or corrupted.

What if the white screen only appears on specific pages?

A WSOD on specific pages (but not the whole site) usually means:

  • A specific post/page has content triggering a shortcode or block error – Edit the page and check for broken shortcodes from deactivated plugins
  • A template file has an error – If only archive pages crash, check archive.php. If only single posts crash, check single.php
  • A database query on that page is failing – Check debug.log for database errors related to that specific content

For page-specific issues, enabling WP_DEBUG_LOG and then loading the broken page will capture the exact error without affecting the rest of the site.

When should you call a professional for the white screen of death?

Handle it yourself if: you can access FTP/SSH, the error log clearly identifies the problem, and the fix is straightforward (disable a plugin, increase memory, fix a syntax error).

Call a professional if: you cannot access the server at all, the error log shows database corruption, the site keeps crashing after you fix one issue (indicating deeper problems), or the white screen appeared without any recent changes (possible hack).

A WordPress one-time fix typically resolves WSOD issues within hours. We diagnose the root cause, fix it, and explain what happened so you can prevent it next time.

Frequently Asked Questions

Is your website down? We can help!

Get in touch and our team will be happy to help you get back online.