AI Overview
The WordPress white screen of death is a blank page caused by a hidden PHP error, exhausted memory, a plugin or theme conflict, a failed update or a cached empty page. Clear caches, turn on WP_DEBUG, then disable plugins and switch themes to find the cause.
Key takeaways
- A WordPress white screen usually means a PHP error with display turned off, exhausted memory, a plugin or theme conflict, a failed update or a cached blank page.
- Where the blank page appears, the whole site, only wp-admin, only the front end or one page, points to the likely cause.
- Clear every cache first, then turn on WP_DEBUG and WP_DEBUG_LOG and read wp-content/debug.log for the real error.
- Renaming the wp-content/plugins folder or the theme folder disables them without wp-admin, so you can isolate the culprit.
- A blank page can return HTTP 200, so status-only uptime checks can miss it, while content and screenshot monitoring catches it.
Summarize with AI
Opens the assistant in a new tab with a link to this post.
On this page
You load your WordPress site and get nothing. No error, no message, no header, just a blank white page. That's the WordPress white screen of death, and it's frustrating because it tells you nothing about what went wrong.
The good news: the cause is almost always one of a short list, and you can work through them in order. This guide explains why WordPress shows a blank page, what it means when only wp-admin or only one page is white, how to fix it step by step, and how to find out about it before your visitors do.
Why WordPress shows a blank white page#
A white screen means PHP stopped before it sent any visible content to the browser, or the browser received an empty page. The usual causes:
- A PHP fatal error with error display turned off. Live servers hide PHP errors from visitors, which is right for security, but it means a fatal error can leave nothing on screen.
- PHP memory exhausted. A plugin, theme or large import uses more memory than PHP allows, and PHP stops.
- A plugin or theme conflict. Two plugins clash, or a plugin breaks with your theme, often right after one of them updates.
- A failed or interrupted update. If an update stops halfway, a plugin, theme or WordPress core can be left with missing files.
- A cached blank page. If a broken page was cached once, your caching plugin, host or CDN can keep serving that empty copy after the real problem is gone.
- A syntax error in a file you edited. One missing semicolon in
functions.phpis enough.
Isn't this what the "critical error" message is for?#
Partly. Since WordPress 5.2, fatal error protection catches most PHP fatal errors and shows "There has been a critical error on this website" instead of a blank page, then emails the admin. If you see that message, follow our guide to fixing the WordPress critical error.
You can still get a white screen on a modern site, though. The handler doesn't catch every failure, a developer may have disabled it with the WP_DISABLE_FATAL_ERROR_HANDLER constant, caching can serve a blank copy, and some themes or plugins output nothing without causing a PHP error at all. The fixes overlap, but the white screen gives you fewer clues, so you have to find them yourself.
Where the white screen appears tells you a lot#
Before changing anything, check where the blank page shows up. Open the site in a private browser window so you're not looking at a cached version or a logged-in view.
| Where it's white | Most likely cause |
|---|---|
| The whole site, front end and wp-admin | A plugin that loads everywhere, a failed core update, or a memory limit |
| Only wp-admin | A plugin's admin code, or the admin memory limit |
| Only the front end | The active theme, or a plugin that only runs on public pages |
| One page or one post type | A shortcode, block, page builder template or form on that page, or a cached copy of it |
| Only the login page | A security, login or redirect plugin |
If only one page is blank, your homepage may look perfectly fine, which is why this kind of white screen can go unnoticed for days.
How to fix the WordPress white screen of death#
Work through these steps in order. Most sites are back by step 4.
1. Clear every cache#
Start here, because it's quick and it rules out a cached blank page.
- Hard refresh your browser, or open the page in a private window.
- If you use a caching plugin (WP Rocket, W3 Total Cache, LiteSpeed Cache, WP Super Cache and so on), use its "clear cache" or "purge all" option.
- If you can't reach wp-admin, delete the contents of
wp-content/cache/through your host's file manager or SFTP. Leave the folder itself in place. - Clear your host's server cache from its control panel, if it has one.
- If you use a CDN such as Cloudflare, purge its cache too.
If the page comes back, the problem was a stale cached copy. Still check what broke it in the first place, because it may return the next time the cache rebuilds.
2. Check your admin email for the Recovery Mode link#
If a plugin or theme caused a fatal error that WordPress caught, the admin email address in Settings > General may have a message titled "Your Site is Experiencing a Technical Issue". It names the plugin or theme and includes a Recovery Mode link that lets you log into wp-admin with that plugin paused. Deactivate it under Plugins > Installed Plugins and the site should come back. Check spam if you don't see it.
3. Turn on WP_DEBUG to see the real error#
A white screen hides the error. Make WordPress write it to a log. Open wp-config.php in the site's root folder and add these lines above /* That's all, stop editing! Happy publishing. */ (or change the existing WP_DEBUG line):
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );
Reload the blank page, then open wp-content/debug.log. Look for the last PHP Fatal error or PHP Parse error line. The file path in it points to the cause: a path inside wp-content/plugins/plugin-name/ names the plugin, and a path inside wp-content/themes/theme-name/ names the theme.
If debug.log stays empty, check your hosting panel's PHP error log too. When you're done, turn WP_DEBUG off again. Never set WP_DEBUG_DISPLAY to true on a live site, because visitors would see the error details.
4. Increase the memory limit#
If the log shows "Allowed memory size of ... bytes exhausted", PHP ran out of memory. Raise the limits in wp-config.php:
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
WP_MEMORY_LIMIT applies to the public site. WP_MAX_MEMORY_LIMIT applies to wp-admin, which is why the admin can go white while the front end works. WordPress can't go above your host's PHP memory_limit, so if the error continues, ask your host to raise it. If memory errors started right after an update, the updated plugin may have a bug, and more memory only hides it.
5. Disable plugins by renaming the folder#
If you can reach wp-admin, deactivate plugins from Plugins > Installed Plugins. If you can't, do it through your files:
- In
wp-content/, rename thepluginsfolder toplugins-off. - Reload the site. If the white screen is gone, a plugin caused it.
- Rename the folder back to
plugins. WordPress now shows all plugins as deactivated. - Reactivate them one at a time, checking the blank page after each. The one that brings the white screen back is the cause.
If you already suspect one plugin, rename only that plugin's folder. With SSH and WP-CLI, you can do the same without touching folders:
wp plugin list --status=active --skip-plugins --skip-themes
wp plugin deactivate plugin-folder-name --skip-plugins --skip-themes
Once you know the plugin, roll it back to the previous version or replace it. Our guide on how to roll back a WordPress plugin covers the options.
6. Switch to a default theme#
If plugins weren't the cause, test the theme. In wp-admin, go to Appearance > Themes and activate a default theme such as Twenty Twenty-Five. Without wp-admin, rename your active theme's folder in wp-content/themes/, and WordPress falls back to a default theme if one is installed. With WP-CLI:
wp theme activate twentytwentyfive --skip-plugins --skip-themes
If the site loads, the problem is in your theme or child theme. Check any recent edits to functions.php first.
7. Check the .htaccess file#
On Apache and LiteSpeed servers, a broken .htaccess file in the site's root folder can cause blank pages or server errors, often after a security or caching plugin writes rules into it.
- Rename
.htaccessto.htaccess-old. Files starting with a dot may be hidden, so turn on "show hidden files" in your file manager. - Reload the site.
- If it works, go to Settings > Permalinks and click Save Changes. WordPress writes a fresh file.
For a standard single site, the default WordPress rules look like this:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
If your site runs on Nginx, there is no .htaccess file, and rewrite rules live in the server configuration instead.
8. Check file permissions#
After a migration or a host change, wrong permissions can stop PHP from reading WordPress files. The usual setup is 755 for folders and 644 for files, with wp-config.php often set stricter. You can check and change permissions in your file manager or SFTP client. If a large number of files look wrong, ask your host to reset them rather than changing them one by one.
9. Reinstall WordPress core files or restore a backup#
If a core update was interrupted, WordPress files may be missing. Download a fresh copy of the same version from WordPress.org and upload the wp-admin and wp-includes folders over the existing ones. Don't overwrite wp-content or wp-config.php. If an update left the site showing "Briefly unavailable for scheduled maintenance" instead, see our guide on a site stuck in maintenance mode.
If nothing works, restore a backup from before the white screen started. On a store, restore files first if you can, so you don't lose orders placed since the backup.
Why uptime checks can miss a white screen#
Here's the part that catches many site owners out. A white screen doesn't always look like downtime to a monitoring tool.
When a PHP fatal error happens, the server usually responds with HTTP 500, so a status check will notice. But a blank page can also come back as HTTP 200, the code for "everything is fine". That happens when a cached empty page is served, when output started before the error, or when a theme or plugin simply outputs nothing. The server answered, quickly, with a success code. A basic uptime check that only looks at whether the server responded, or only at the status code, reports the site as up.
Even a 500 is easy to miss if it only affects one page. Most uptime checks watch the homepage. If the white screen is on your checkout, a landing page or a contact form, the homepage keeps returning 200 and nothing alerts.
To catch a white screen reliably, you need checks that look at the page content, not just the response:
- Visible text. A page that normally has hundreds of words now has none.
- A screenshot comparison. A full page is now a blank rectangle.
- Key elements. The header, the "Add to cart" button or the signup form is missing.
- Status code on every important page, not just the homepage.
You can spot-check status codes across many pages at once with our free bulk URL status checker, but a one-off check only tells you about right now.
How to catch it after every update#
Most white screens appear right after something changed: an update, a plugin activated, a theme switched. That's the moment to check.
The basic habits help: update one plugin at a time, check key pages after each, and keep a recent backup. Our guide on how to safely update WordPress plugins has the full routine.
For automatic updates that run while you sleep, MyKavo's WordPress plugin does the checking for you. It notes each plugin, theme and core update, including automatic ones, and each plugin activation or theme switch. MyKavo then scans your monitored pages against an approved baseline, so a blank page shows up as a screenshot change, missing text and missing elements, even when the server returns 200. Changes found after an update are labelled with the update itself, for example "Appeared after: Updated WooCommerce 8.1.0 -> 8.2.0".
Update checks are included in every paid plan, from Starter at $7 a month. On the free plan, updates are still listed so you can see what changed and when, and the free plan covers 1 website with 5 pages checked weekly. The plugin is free on WordPress.org and adds nothing to your public pages.
Frequently asked questions
What causes the WordPress white screen of death?
Usually a PHP fatal error with error display turned off, PHP running out of memory, a plugin or theme conflict, a failed update, or a cached blank page. Turning on WP_DEBUG and WP_DEBUG_LOG shows the exact error in wp-content/debug.log.
How do I fix a WordPress blank page when I can't access wp-admin?
Clear caches first, then rename the wp-content/plugins folder through your host's file manager or SFTP to disable all plugins. If that doesn't help, rename your theme's folder so WordPress falls back to a default theme.
Why is only my WordPress admin showing a white screen?
Usually a plugin whose admin code is failing, or the admin memory limit. Raise WP_MAX_MEMORY_LIMIT in wp-config.php and disable plugins one at a time to find the one that breaks wp-admin.
What is the difference between the white screen of death and the critical error message?
Both usually come from a PHP failure. Since WordPress 5.2, most fatal errors show "There has been a critical error on this website" and trigger a Recovery Mode email. A white screen appears when the error isn't caught or shown, or when a cached blank page is served.
Will a white screen of death show up in uptime monitoring?
Not always. A fatal error often returns HTTP 500, but a blank page can also return HTTP 200, and many uptime checks only watch the homepage. Monitoring that compares page content and screenshots catches blank pages that status checks miss.
Can clearing the cache fix a WordPress white screen?
Yes, if the blank page was cached. Clear your caching plugin, the wp-content/cache folder, your host's server cache and your CDN. If the page comes back, still find out what broke it, or the problem can return.
Try it on your site · free
Check your own page's meta tags
Title, description, canonical and robots - including an accidental noindex - in a few seconds.
Get alerted when your site breaks. Free, no card.
Start free