Hafiz Ahsan Ali

WordPress care

WordPress White Screen of Death: How to Fix It

By
Published

You open your site and get a blank white page, or the message "There has been a critical error on this website." It's alarming, but it's usually fixable in minutes once you find the cause. I fix these for clients regularly. Here are the steps I follow, safest first. Take a backup before changing files if you can.

Fig. 06 · Where to start
CAN YOU REACH WP-ADMIN?YESNODEACTIVATE PLUGINS ONE BY ONESWITCH TO A DEFAULT THEMEREAD WP-CONTENT/DEBUG.LOGUSE THE RECOVERY EMAIL LINKRENAME THE PLUGINS FOLDERTURN ON WP_DEBUG
Start with whether you can still reach wp-admin. It decides which fixes you can use.

What causes the white screen

Almost always a PHP error that stops the page from loading: a plugin or theme conflict (often right after an update), a plugin that needs a newer PHP version, the site running out of memory, or a failed update that left the site in maintenance mode.

1. Check your email for a recovery link

Since WordPress 5.2, a fatal error triggers "recovery mode": WordPress emails the site admin a special login link and usually names the plugin or theme that failed. Use the link, deactivate the culprit, and you're back.

2. Clear every cache

Clear your caching plugin, your host's cache and any CDN such as Cloudflare. Sometimes the error is fixed and you're seeing a cached blank page.

3. Turn on debugging to see the real error

In wp-config.php, above the line that says "That's all, stop editing", add:

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

Reload the site, then open wp-content/debug.log. The last lines usually name the exact file and plugin. Turn debugging off again when you're done.

4. Deactivate all plugins without wp-admin

Using your host's file manager or FTP, rename wp-content/plugins to plugins-off. If the site comes back, a plugin was the cause. Rename the folder back, then rename plugin folders one at a time until the site breaks again. That's your culprit.

5. Switch to a default theme

Rename your active theme's folder inside wp-content/themes. WordPress falls back to a default theme (such as Twenty Twenty-Five) if one is installed. If the site loads, the problem is in your theme.

6. Raise the PHP memory limit

If the log says "Allowed memory size exhausted", add this to wp-config.php:

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

Your host's limit still applies, so ask them if it doesn't help.

7. Remove a stuck maintenance file

If an update failed mid-way, delete the .maintenance file in your site's root folder.

8. Check your PHP version

Old plugins can break on new PHP versions, and new plugins can need a newer one. Your hosting panel shows the version. Match what your plugins and theme support.

9. Reset .htaccess or restore a backup

Rename .htaccess, then regenerate it from Settings > Permalinks > Save. If nothing works, restore the latest backup from before the problem started.

How to stop it happening again

Test updates on a staging copy first, keep daily backups, remove plugins you don't use, and keep PHP up to date. That's exactly what a WordPress maintenance plan covers.

Still stuck? Send me your site and I'll find the cause.

Next step

Have a project in mind?