BlogWordPress
WordPress White Screen of Death: Fixes That Work
Rustam9 min read
The short answer: the WordPress white screen of death is almost always a PHP error that WordPress can't display, and the usual culprits are a plugin, the theme, a PHP version change or the site running out of memory. The fix is to turn on debug logging so you can see the real error, then disable plugins (by renaming the plugins folder if you can't log in), switch to a default theme, and raise the memory limit if the log says so. Check your email first, because WordPress may already have sent you a recovery link. Most white screens I see are fixed within an hour once the log shows what's going on.
I'm Rustam, and I run Frame the Pixel, a web design and WordPress maintenance studio in Kuala Lumpur. White screens are one of the most common panicked messages I get. They look terrible because there is nothing to look at, but that blank page is usually hiding a single line of error that tells you exactly what to fix.
What the white screen of death actually is
When PHP hits a fatal error, it stops building the page. If error display is switched off (as it should be on a live site), the visitor gets an empty page with no message at all. That's the white screen.
Since WordPress 5.2, core tries to catch many of these fatal errors and show "There has been a critical error on this website" instead, then emails the site admin a link to a recovery mode. That feature is described in the WordPress core announcement for fatal error recovery mode. So in 2026 a pure white screen often means one of these:
- The error happens too early, before WordPress can load its protection.
- Recovery mode is disabled or the admin email never arrived.
- The problem isn't PHP at all, for example a broken cache serving an empty page.
- Memory runs out in a way that kills the process completely.
If you see the critical error message rather than a blank page, my guide to fixing "There has been a critical error on this website" covers that version in detail. The steps overlap a lot.
Before you start: two quick checks
Is it only you?
Open the site in a private window and on your phone using mobile data. If it loads there, the white screen may be a stale cache in your browser or a caching plugin serving a blank copy. Clear the plugin cache and any host or CDN cache, then test again.
Is it the front end, wp-admin, or both?
- Front end white, wp-admin fine: probably the theme or a plugin that only runs on public pages. You can fix it from the dashboard.
- wp-admin white, front end fine: usually an admin side plugin or a memory problem in the dashboard.
- Both white: you'll need file access through your hosting file manager or SFTP.
Step 1: Look for the recovery email
Check the inbox of the site's admin email address, including spam, for a message titled something like "Your Site is Experiencing a Technical Issue". It names the plugin or theme that failed and gives you a special login link. Use it, deactivate the named plugin, and you're often done.
If no email arrived, carry on.
Step 2: Turn on debug logging
This is the step people skip, and it's the one that saves the most time. WordPress has a built in debug mode, documented in the WordPress debugging guide.
- Open your hosting file manager or connect by SFTP.
- Find wp-config.php in the site's root folder and download a copy as a backup.
- Above the line that says "That's all, stop editing!", add these three lines:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
- Reload the white page once.
- Open wp-content/debug.log and read the last few lines.
You're looking for a line starting with "PHP Fatal error". It will name a file path, and the path tells you who is responsible. If it contains /plugins/some-plugin-name/, that plugin is your suspect. If it contains /themes/, it's the theme.
Your host's own PHP error log, usually in the control panel, can show the same thing if WordPress didn't get far enough to write its log. Turn WP_DEBUG back to false when you're finished. A debug log left switched on can grow large and may expose file paths.
Step 3: Disable your plugins
Plugins cause most white screens I deal with. If you can reach wp-admin, deactivate them all from the Plugins screen and reactivate one at a time, reloading the site after each.
If you can't log in:
- In the file manager, go to wp-content.
- Rename the plugins folder to plugins-off.
- Reload the site. If it comes back, a plugin was the cause.
- Rename the folder back to plugins. WordPress will show them all as deactivated.
- Reactivate them one by one from the dashboard until the white screen returns. The last one you switched on is the problem.
If the debug log already named a plugin, you can skip the full test and rename only that plugin's folder.
Step 4: Switch to a default theme
If plugins weren't it, try the theme. In wp-content/themes, rename your active theme's folder. WordPress will fall back to a default theme such as Twenty Twenty-Five if one is installed. If no default theme exists in the folder, upload one from WordPress.org first.
If the site loads with the default theme, the problem is in your theme or child theme. A common cause is custom code pasted into functions.php with a missing bracket or semicolon. The debug log will give you the exact line number.
Step 5: Raise the PHP memory limit
WordPress sets its own memory limit, and heavy page builders, WooCommerce and large imports can exceed it. The log line usually reads "Allowed memory size of ... bytes exhausted".
Add this to wp-config.php, above the "stop editing" line:
define( 'WP_MEMORY_LIMIT', '256M' );
The wp-config.php documentation explains this setting and WP_MAX_MEMORY_LIMIT for the admin area. If your host caps PHP memory lower than this, the setting won't help and you'll need to ask the host or change the PHP memory limit in their control panel.
Raising memory treats the symptom. If one plugin is eating hundreds of megabytes, that's worth fixing properly. My guide to why a WordPress site gets slow covers plugin bloat, and if you use Elementor, see how to speed up a slow Elementor site.
Step 6: Check the PHP version
Hosts move sites to newer PHP versions because older ones stop getting security fixes. You can see which versions are still supported on PHP.net's supported versions page. An old plugin or theme written for PHP 7 can fail outright on PHP 8.
If the white screen started on the same day your host changed PHP, that's very likely the cause. You can usually switch back to the previous version in the control panel as a short term fix. Then update or replace whatever code broke, and move forward again. Staying on an unsupported PHP version for long isn't safe.
Step 7: Other causes worth checking
White screen after migration
If the white screen appeared after moving hosts or domains, check:
- Database details in wp-config.php. Wrong name, user, password or host gives errors, sometimes a blank page.
- The site URL. If siteurl and home in the wp_options table still point to the old domain, you can get redirect loops or blank pages.
- File permissions. Files usually need 644 and folders 755. A migration tool can get these wrong.
- A missing .htaccess. On Apache hosts, go to Settings, then Permalinks, and click Save to regenerate it, or upload a default one.
White screen after an update
If it happened straight after updating WordPress, a plugin or a theme, the update is the obvious suspect. I've written a separate guide on what to do when a WordPress update broke your site, including how to roll back.
A failed auto update leaving a .maintenance file
If an update was interrupted, WordPress may leave a file called .maintenance in the root folder. Normally that shows a short maintenance message, but with some caching setups the result is blank. Delete the file and reload.
Corrupt core files
Rarely, core files are damaged by a failed update or a hack. You can replace wp-admin and wp-includes with fresh copies from WordPress.org without touching wp-content. If you suspect the site has been hacked rather than just broken, stop and read my guide on what to do in the first hour after a WordPress hack first.
When to stop and get help
Fix it yourself if the log names a clear culprit and you're comfortable with a file manager. Get help if:
- You can't reach the files at all, for example because a developer set up the hosting and you don't have the login. My guide for when your web developer disappeared explains how to get access back.
- The log points to WordPress core or to database errors.
- It's a WooCommerce store and every hour offline costs orders.
- You've fixed it and it keeps coming back.
That last one matters. A white screen once is bad luck. A white screen every few months means updates are going live without testing and nobody is watching the site. The WordPress maintenance checklist shows the routine that prevents most of these, and signs your WordPress site needs maintenance lists the warning signs that usually come first.
How I can help
If you'd rather not do this yourself, my website maintenance service covers fixing problems like this and the routine that stops them coming back: tested updates on staging, daily off site backups and uptime monitoring so I hear about a white screen before your customers do. I work 9am to 5pm Malaysia time (GMT+8) with clients in Malaysia, the UK, Europe and elsewhere. Contact me here or email contact@framethepixel.com with your site address and when the white screen started.
FAQ
What causes the WordPress white screen of death?
Usually a PHP fatal error from a plugin or theme, a PHP version the code doesn't support, or the site exceeding its memory limit. Less often it's a caching problem, a failed update or corrupt files.
How do I fix the white screen if I can't access wp-admin?
Use your hosting file manager or SFTP. Turn on WP_DEBUG_LOG in wp-config.php to read the error, then rename the wp-content/plugins folder to disable all plugins. If that doesn't work, rename your active theme's folder.
Will I lose my content fixing a white screen?
Not with the steps above. Renaming folders and editing wp-config.php don't touch your posts or pages, which live in the database. Still, download a backup of wp-config.php before editing, and take a full backup if you can.
Why is only wp-admin showing a white screen?
Usually a plugin that only loads in the dashboard, or the admin area running out of memory. Disable plugins through the file manager and check the debug log.
How do I stop the white screen happening again?
Test updates on a staging copy before they go live, keep PHP and plugins current, remove plugins you don't use, keep daily backups and set up uptime monitoring so you know the moment it happens.