WordPress White Screen of Death: How to Recover
The WordPress white screen of death is a PHP fatal error that stops the page before any HTML loads. Turn on WP_DEBUG_LOG in wp-config.php and read wp-content/debug.log: it names the failing file. Then fix that cause, raising memory to 256M, disabling plugins by renaming their folder, or switching to a default theme.
For WordPress site owners and developers facing a blank page or a critical-error message, with or without access to wp-admin.
knowledge
- Read time
- 4 min
- Sections
- 7
- Updated
- 14 Nov 2026
- Written by
- WebJi® team
Last editorial update: 14 November 2026. Prices follow the dated sources on this page; checkout confirms current charges.
What the WordPress white screen of death means
The WordPress white screen of death is a PHP fatal error: the request stops before any HTML is sent, and the server hides the error text, so visitors see a blank page. The cause is almost always a plugin, the active theme, exhausted memory or a half-finished update.
Since WordPress 5.2, the fatal error handler usually replaces the blank page with a short “critical error” message and emails the site's admin address a recovery-mode link that lets you log in with the faulty plugin or theme paused. If that email arrived, use it first. If it did not, or the screen is still blank, work the steps below in order — read the log first, rename folders second.[1]
| Cause | Typical trigger | What the log usually says |
|---|---|---|
| Plugin conflict | A plugin update or a new plugin | Fatal error in wp-content/plugins/<name>/… |
| Theme or custom code | A snippet pasted into functions.php | Parse error: syntax error … functions.php on line N |
| Memory exhaustion | Page builders, importers, large WooCommerce catalogues | Allowed memory size of N bytes exhausted |
| Incomplete core update | An update interrupted mid-way | Failed opening required … wp-includes/… |
A site stuck on “Briefly unavailable for scheduled maintenance” is a different fault — a leftover .maintenance file — covered in WordPress maintenance mode.
Step 1: Turn on WP_DEBUG logging to see the real error
Debug logging turns the blank screen into a named file and line number written to wp-content/debug.log, without showing errors to visitors. Open wp-config.php in the site root and add these lines above the line /* That's all, stop editing! Happy blogging. */:
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 and search for “Fatal error” or “Parse error”. The entry names the plugin file, theme file or memory ceiling that failed, which decides the next step. WordPress's documentation says these tools are not meant for live sites, so set WP_DEBUG back to false and delete debug.log once you are done — it sits in a publicly reachable folder.[2] If debug.log never appears, read the server's own log instead; how to check PHP error logs shows where cPanel keeps it.
Step 2: Raise the WordPress memory limit
Raise memory only when the log says “Allowed memory size … exhausted”; WordPress by default tries for just 40 MB on a single site and 64 MB on multisite. Add this to wp-config.php, above the “stop editing” line:
define( 'WP_MEMORY_LIMIT', '256M' );
Some hosts do not let WordPress raise PHP's limit itself. If the value does not take, set memory_limit in cPanel → MultiPHP INI Editor where the panel permits, or in php.ini on a VPS, and confirm the value under Tools → Site Health → Info → Server.[3]
If the white screen stays at 256M, memory was not the cause. WordPress's own documentation warns that raising the limit can hide the real problem, so go back to the log rather than raising it again.
Step 3: Disable all WordPress plugins without wp-admin
Rename wp-content/plugins to plugins.old in the hosting file manager or over SFTP; WordPress cannot load plugins it cannot find, so the site returns if a plugin caused the crash. This works when the admin area is blank too.
- Rename wp-content/plugins to plugins.old and reload the site.
- If the site loads, log in and open Plugins. WordPress now lists every plugin as deactivated because their files are missing.
- Rename the folder back to plugins. The plugins stay deactivated.
- Reactivate one plugin at a time from the Plugins screen, reloading the site after each, until the white screen returns. The last one you activated is the culprit.
- Check wp-content/mu-plugins as well: must-use plugins load automatically and never appear in the normal plugin list.
With SSH access, WP-CLI does the same in one line, skipping plugin and theme code so the command itself does not crash:
wp plugin deactivate --all --skip-plugins --skip-themes
wp plugin list --skip-plugins --skip-themes
Step 4: Switch to a default WordPress theme
If plugins are not the cause, or the log names a theme file, rename the active theme's folder inside wp-content/themes and WordPress falls back to an installed default theme. No default theme installed? Upload one, such as Twenty Twenty-Five, from wordpress.org first.
The usual culprit is a functions.php edit — a missing semicolon or bracket from a pasted snippet. Fix the syntax error the log names, or restore the file from backup, before switching back. Custom code belongs in a child theme or a small plugin, so a theme update cannot overwrite it and one typo cannot take the whole site down. Over SSH: wp theme activate twentytwentyfive --skip-plugins --skip-themes.
Front end, wp-admin or one page: where the white screen appears
Which screen is blank tells you where to look: the front end alone points at the theme, both front end and admin point at a plugin or memory, and one page points at that page's content.
| What is blank | Start with | Why |
|---|---|---|
| Front end only, admin works | The theme | wp-admin does not use the front-end theme |
| Front end and admin | Plugins or memory | Plugins load for admin requests too |
| Admin only | Admin-specific plugins | Some plugins only run code on admin screens |
| One page | That page's content | Often a broken shortcode or a template-level PHP error |
If the screen shows “500 Internal Server Error” instead of white, follow the WordPress 500 error guide; the log-first method is the same.
How to stop the white screen happening again
Test updates on a staging copy, keep a restorable backup off the same server, and update plugins one at a time so a crash points at its cause. A backup you have never restored is a hope, not a backup.
- Staging: try core, theme and plugin updates on a WordPress staging site before production.
- Backups: restore files and the database together so they match; the steps are in how to restore a WordPress backup.
- Admin email: keep it on a mailbox someone reads, so the recovery-mode email is not missed.
- One change at a time: never update ten plugins at once on a live store.
WebJi® WordPress Unlimited plans at ₹400 a month before 18% GST include staging and daily backups; see WordPress hosting. If nobody has time to run updates, done-for-you updates and security cost ₹5,900 a year before GST on managed WordPress hosting.
References
- WordPress Developer Resources — Editing wp-config.php, Fatal Error Handler (https://developer.wordpress.org/advanced-administration/wordpress/wp-config/#wp-disable-fatal-error-handler). Read on 14 November 2026.
- WordPress Developer Resources — Debugging in WordPress (https://developer.wordpress.org/advanced-administration/debug/debug-wordpress/). Read on 14 November 2026.
- WordPress Developer Resources — Increasing memory allocated to PHP (https://developer.wordpress.org/advanced-administration/wordpress/wp-config/#increasing-memory-allocated-to-php). Read on 14 November 2026.
Frequently asked questions
I did not get the recovery-mode email. What now?
Check spam, then confirm the admin email under Settings → General once you are back in. If the site cannot send mail at all, the email never leaves the server. Skip it and use debug.log plus the plugin-folder rename, which need only file access.
Why is debug.log empty after I enabled WP_DEBUG?
Usually the lines were added below the “stop editing” comment, or WP_DEBUG is set to the string 'false' instead of the boolean. Also check that the web server can write to wp-content. If the crash happens before WordPress loads, look in the server's PHP error log instead.
Can a WordPress white screen be caused by a hack?
Yes, though less often than a plugin conflict. Injected code can break PHP files and cause fatal errors. If the log names a file you never installed, or core files show unexpected changes, treat it as a security incident and follow the hacked WordPress recovery guide.
Will renaming the plugins folder delete my plugin settings?
No. Plugin settings live in the database, not in the plugin folder. Renaming only stops the code loading; when you reactivate a plugin, its stored settings come back. Uninstalling a plugin through wp-admin is what can remove its data.
Last editorial update: 14 November 2026. Prices follow the dated sources on this page; checkout confirms current charges.
Ready to get started with WebJi®?
Join 12,000+ businesses across India and overseas. INR pricing, 18% GST shown before payment and 24/7 email support in Hindi and English — average first reply under 60 minutes.