New 24/7 monitoring and daily cloud backups now included in every Shield Pro plan.

WSOD

How to fix the WordPress white screen of death

A blank white page with no error message is one of the most common WordPress failures. PHP crashed before WordPress could render anything. This tutorial shows how to surface the real error and recover without guessing.

Time: 15-30 minutes Level: Intermediate

What this problem looks like

The white screen of death (WSOD) means PHP hit a fatal error and display_errors is turned off on your server. Visitors see nothing. You may still have hosting file access even when wp-admin is dead.

The fix is almost always a plugin, theme, or PHP version conflict. You need the real error message first, then you isolate the code that triggers it through FTP, file manager, or SSH.

Take a hosting snapshot or backup before renaming plugin folders or editing wp-config.php. Rollback is faster when something goes wrong.

Step 1: Turn on debug logging in wp-config.php

Connect via SFTP or hosting File Manager and open wp-config.php in your site root. Paste these lines above the line that says stop editing. On a live site, log to file only and never print errors to visitors.

php
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );

Step 2: Read debug.log and hosting error logs

Reload the broken page once, then open wp-content/debug.log. The last lines usually name the plugin file and line number. If debug.log stays empty, check your host PHP error log in cPanel, Plesk, or Site Tools.

  • Look for fatal error, memory exhausted, or undefined function messages.
  • Note the full file path, especially anything inside wp-content/plugins/.
  • Check if the error started after a plugin update or PHP version change.

Step 3: Deactivate plugins at the file level

When wp-admin will not load, rename the plugins directory so WordPress cannot load any plugin PHP. This is the fastest way to prove a plugin conflict.

  1. Go to wp-content/ in File Manager or SFTP.
  2. Rename plugins to plugins.disabled.
  3. Reload the site and wp-admin.
  4. If the site works, move plugin folders back one at a time.
WordPress recovery mode may email the site admin a link that pauses the failing plugin. Check spam folders before you start renaming folders.

Step 4: Rule out the active theme

If disabling plugins does not help, switch themes at the file level. WordPress falls back to a default theme when the active theme folder is missing.

  1. Open wp-content/themes/.
  2. Rename your active theme folder, for example mytheme to mytheme.off.
  3. Ensure twentytwentyfour or another default theme folder exists.
  4. Reload the site.

Step 5: Check PHP version and memory limits

UK hosts often migrate PHP versions without warning. Legacy plugins break on PHP 8.x. Temporarily switch PHP 8.2 to 8.1 in hosting only as a short test, not a permanent fix.

If logs mention memory exhausted, raise limits in wp-config.php:

php
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );

When to stop DIY and hire help

If the white screen persists after plugin and theme isolation, or the error log points at WordPress core files you did not change, stop guessing on a live shop. BugShield quotes white screen fixes at a confirmed price with a BugShield developer and secure Vault access.

FAQs

Why is my WordPress site completely blank?

A PHP fatal error occurred and your server hides error output. Enable WP_DEBUG_LOG or read the hosting PHP error log to see the real message.

Can I fix WSOD without FTP access?

Only if recovery mode email works or your host offers a file manager. Without file access you need your host or a developer to intervene.

Will renaming plugins delete my settings?

No. Settings stay in the database. WordPress simply stops loading that plugin code until you rename the folder back.

How do I fix WSOD after a WordPress update?

Updates often expose incompatible plugins. Isolate plugins first, then update or replace the extension named in debug.log.

Rather someone else fixed it?

Request a fix at a confirmed price. Named UK developer, secure Vault, direct chat.

Request a Fix