The white screen of death (WSoD) looks dramatic, but it is usually a single fatal PHP error. Common triggers include a plugin or theme conflict after an update, PHP memory exhaustion, a corrupted .htaccess or wp-config.php, wrong file permissions, an interrupted update that left a .maintenance file, or database trouble. Work methodically. Take notes. Do not delete files you cannot restore.
Before you change anything: confirm you can reach the site over FTP or your host’s file manager, and that you have a recent backup. If you have neither, stop and get help — recovery without a backup is how content disappears. If your host offers one-click staging, clone the site there first and rehearse the fix off production. If they do not, at least download a zip of wp-content and an SQL dump before you rename folders.
Keep a simple log as you go: time, what you changed, and what happened after a reload. That scrap of discipline is what separates a 20-minute recovery from a three-hour spiral of undoing your own experiments.
1. Confirm it is a true white screen
Open the homepage and /wp-admin/ in a private browser window. If both are blank for every visitor, you have a server-side failure, not a local cache quirk. Ask yourself what changed in the last hour: a plugin update, theme edit, PHP version bump, migration, or hosting panel tweak. That timeline almost always shortens diagnosis.
Also check whether a CDN or host page cache is serving a stale blank response. Purge those caches if you can. If only one page fails while the rest of the site works, you may be dealing with a template or shortcode error rather than a full WSoD — the same debug steps still apply.
2. Enable WP_DEBUG and read the log
Guessing is slow. Logging is fast. Via FTP or file manager, open wp-config.php in the WordPress root and add these lines above the “That’s all, stop editing!” comment:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Reload the broken URL once, then open wp-content/debug.log. Look for the most recent Fatal error or Allowed memory size line. It usually names a plugin path, a theme functions.php line, or a missing class. That single line is your diagnosis.
If no log appears, confirm the wp-content directory is writable, or ask your host where PHP error logs live. Some hosts surface the same fatal error in their control panel without WordPress debug at all.
3. Isolate plugins via FTP
If the log points at a plugin — or if you have no log yet — deactivate everything in one move. Rename wp-content/plugins to plugins-disabled. WordPress will load with no plugins. If the site returns, the conflict is in that folder.
Create a new empty plugins folder, then move plugins back one at a time (or in small batches), reloading after each move. The plugin that brings the white screen back is the culprit. Leave it out, update or replace it, and only then restore the rest.
Do not bulk-delete plugins from the dashboard while the site is down — you may not reach the dashboard. FTP rename is the reliable path, and it matches how emergency recovery is done when the admin is inaccessible.
4. Switch to a default theme
If plugins are not the cause, rename the active theme folder under wp-content/themes (for example mytheme to mytheme-off). WordPress should fall back to a default theme such as Twenty Twenty-Four. If the site loads, the problem sits in the theme or a child theme’s functions.php.
Inspect recent edits in functions.php, missing closing PHP tags, or a broken include. Restore a known-good copy of the theme from backup if you are unsure. Avoid editing production theme files under pressure unless you can roll back immediately.
5. Raise PHP memory and clear stuck maintenance
Memory exhaustion is a frequent WSoD cause on WooCommerce and page-builder sites. In wp-config.php you can try:
define( 'WP_MEMORY_LIMIT', '256M' );
If the host caps PHP memory below that, raise it in the hosting panel or php.ini / .user.ini as their docs allow. Separately, look in the WordPress root for a file named .maintenance. An interrupted update can leave it behind and serve a maintenance (or blank) state until you delete it.
While you are in the root, confirm there is no half-finished core upgrade. If core files look incomplete, restore WordPress core from a clean copy of the same version — never mix major versions casually.