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.
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.
