Skip to content
Hosting Operations11 min read

WordPress White Screen of Death Fix — Step-by-Step Fix: Practical Guide

Fix WordPress white screen of death with this practical guide. Step-by-step troubleshooting for memory, plugins, themes, and PHP errors.

Written by Abdul AbrorTechnical Hosting Support Engineer
turned-on monitor
On this page

TL;DR — Key takeaways

  • WordPress white screen of death is typically caused by PHP memory exhaustion, plugin conflicts, theme errors, or corrupted core files, and can be diagnosed systematically through error logs and component isolation.
  • Increase PHP memory limit to 256M or 512M in wp-config.php as a first step, then disable all plugins via FTP or database to isolate conflicts before re-enabling them individually.
  • Enable WP_DEBUG and check error_log files in wp-content to identify the exact file and line number causing the failure, which accelerates diagnosis and prevents guesswork.
  • Always create complete backups of files and database before troubleshooting, and test changes on staging environments when available to avoid service interruption on production sites.

The WordPress white screen of death (WSOD) is a critical failure state where your site displays nothing but a blank white page, with no error messages, admin access, or visual feedback. This happens when PHP encounters a fatal error it cannot recover from, typically during plugin execution, theme rendering, or core WordPress operations.

This guide walks through systematic troubleshooting steps to identify the root cause and restore your WordPress site. You'll learn to diagnose memory issues, isolate plugin and theme conflicts, enable debugging, and safely test fixes without risking further downtime.

What Causes WordPress White Screen of Death

The white screen appears when PHP execution halts due to a fatal error, but error display is disabled in your server configuration. Common triggers include PHP memory exhaustion when plugins or themes consume more RAM than allocated, syntax errors in recently modified code, conflicts between plugins that declare identical functions or classes, and corrupted WordPress core files from failed updates.

Theme compatibility issues emerge when switching themes without meeting minimum PHP version requirements or when child themes reference missing parent functions. Database connection failures can also produce white screens if wp-config.php credentials are incorrect or the database server is unreachable.

  • PHP memory limit exceeded (default 32M or 64M often insufficient)
  • Plugin conflicts from duplicate function names or incompatible code
  • Theme errors in functions.php or template files
  • Corrupted WordPress core files from incomplete updates
  • Database connection failures or credential mismatches
  • PHP version incompatibility with plugins or themes
  • Exhausted PHP execution time limits on resource-intensive operations

Create Backups Before Troubleshooting

Before making any changes, create complete backups of your WordPress files and database. This allows immediate rollback if troubleshooting introduces new issues. Use your hosting control panel's backup tool, or manually download wp-content via FTP and export the database through phpMyAdmin.

Store backups outside your web server, either on your local machine or in cloud storage. Label them with timestamps and note which state they represent (working, broken, testing). If your host provides automatic backups, verify the most recent backup predates the white screen issue.

  • Download entire wp-content directory via FTP (contains plugins, themes, uploads)
  • Export database as SQL file through phpMyAdmin or command line
  • Copy wp-config.php to preserve database credentials and security keys
  • Store backups with clear labels: site-name-2026-07-05-pre-fix.zip
  • Test backup restoration process on local environment if possible

Increase PHP Memory Limit

WordPress sites frequently hit default PHP memory limits (32M-64M) when running multiple plugins or processing large datasets. Increasing the limit to 256M resolves most memory-related white screens. Edit wp-config.php in your site root using FTP or your hosting file manager.

Add this line before the 'That's all, stop editing!' comment: define('WP_MEMORY_LIMIT', '256M'); — If the white screen persists, increase to 512M. Some hosts enforce memory caps at the server level; contact support if WordPress cannot allocate the specified amount.

  • Connect via FTP and download wp-config.php from site root directory
  • Add memory definition before /* That's all, stop editing! */ line
  • Use 256M for standard sites, 512M for WooCommerce or large memberships
  • Save file and re-upload, then check if site loads
  • If limit is rejected, verify hosting plan supports requested memory allocation

Disable All Plugins to Isolate Conflicts

Plugin conflicts are the most common cause of white screens after WordPress updates or new plugin installations. Since you cannot access the admin dashboard, disable plugins by renaming the plugins directory via FTP. This forces WordPress to skip plugin loading without deleting any data.

Navigate to wp-content and rename the 'plugins' folder to 'plugins-disabled'. Refresh your site. If it loads normally, the issue is plugin-related. Rename back to 'plugins', then disable plugins individually by renaming each plugin's subdirectory (e.g., 'akismet' to 'akismet-disabled'). Test after each rename to identify the culprit.

  • Connect via FTP and navigate to wp-content directory
  • Rename 'plugins' folder to 'plugins-disabled' or 'plugins.old'
  • Refresh site — if it loads, issue is plugin-related
  • Rename folder back to 'plugins', then rename individual plugin folders one by one
  • After finding problematic plugin, check for available updates or alternatives
  • For database method: run UPDATE wp_options SET option_value = '' WHERE option_name = 'active_plugins'; in phpMyAdmin

Switch to Default WordPress Theme

Theme errors in functions.php or template files can cause white screens during page rendering. Test this by switching to a default WordPress theme (Twenty Twenty-Four, Twenty Twenty-Three) through the database, since you cannot access Appearance settings.

In phpMyAdmin, select your WordPress database and open the wp_options table. Find the 'template' and 'stylesheet' rows. Change both values to 'twentytwentyfour' (or another default theme present in wp-content/themes). Save changes and refresh your site. If it loads, your active theme contains the error.

  • Access phpMyAdmin through hosting control panel
  • Select WordPress database (name found in wp-config.php as DB_NAME)
  • Open wp_options table and search for option_name = 'template'
  • Change option_value from current theme to 'twentytwentyfour'
  • Repeat for option_name = 'stylesheet' (must match template value)
  • Refresh site — if working, examine theme files for PHP errors

Enable WordPress Debugging to See Errors

WordPress suppresses error messages by default to prevent exposing system details to visitors. Enable WP_DEBUG mode to display errors directly on the white screen, revealing the exact file and line number causing the failure. Edit wp-config.php and add these constants before the 'stop editing' comment.

Set define('WP_DEBUG', true); to enable error reporting. Add define('WP_DEBUG_LOG', true); to write errors to wp-content/debug.log instead of displaying them publicly. Use define('WP_DEBUG_DISPLAY', false); with logging to prevent exposing errors to visitors while you troubleshoot. After identifying the issue, disable debugging by setting WP_DEBUG to false.

  • Download wp-config.php via FTP from site root
  • Add before 'That's all, stop editing!' line: define('WP_DEBUG', true);
  • For log file output: define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false);
  • Save and re-upload wp-config.php, then reload site
  • Check wp-content/debug.log file for error messages with file paths and line numbers
  • Disable debugging after fixing (set WP_DEBUG to false) to avoid performance impact

Check Server Error Logs

If WP_DEBUG produces no output, check server-level error logs maintained by Apache or Nginx. These logs capture PHP fatal errors even when WordPress debugging is disabled. Access logs through your hosting control panel's error log viewer, or download them via FTP from common locations like /var/log/apache2/error_log or public_html/error_log.

Look for recent entries timestamped around when the white screen first appeared. PHP fatal errors will show file paths, function names, and line numbers. Common patterns include 'Call to undefined function', 'Cannot redeclare', 'Allowed memory size exhausted', and 'Class not found'. These messages identify exactly which file needs attention.

  • Log into hosting control panel and locate error logs section
  • Download or view logs from last 24-48 hours
  • Search for 'Fatal error', 'Parse error', 'Allowed memory', 'Cannot redeclare'
  • Note file paths mentioned in error messages (wp-content/plugins/plugin-name/file.php)
  • Common log locations: ~/public_html/error_log, /var/log/apache2/error.log, ~/logs/

Repair or Replace WordPress Core Files

Corrupted WordPress core files from failed updates or file permission issues can cause white screens. The safest repair method is replacing core files manually without touching wp-content or wp-config.php, preserving your themes, plugins, and configuration.

Download the exact WordPress version you're running from wordpress.org/download/releases. Extract the archive on your computer, then delete the wp-content folder and wp-config-sample.php from the extracted files. Upload the remaining files via FTP to your site root, overwriting existing files. This replaces wp-admin and wp-includes directories while keeping your customizations intact.

  • Check current WordPress version in wp-includes/version.php (look for $wp_version)
  • Download matching version from wordpress.org/download/releases
  • Extract locally and delete wp-content folder and wp-config-sample.php
  • Upload remaining files via FTP, overwriting existing core files
  • Do not replace wp-config.php or wp-content directory
  • Test site after upload completes — core file issues should resolve

Verify File and Folder Permissions

Incorrect file permissions prevent WordPress from reading configuration files or writing to cache directories, potentially causing white screens. Standard secure permissions are 644 for files and 755 for directories. Your wp-config.php should be 440 or 400 for additional security.

Use your FTP client's file properties or SSH command line to check and correct permissions. Avoid setting 777 permissions, which create security vulnerabilities. If using SSH, run: find /path/to/wordpress -type d -exec chmod 755 {} \; and find /path/to/wordpress -type f -exec chmod 644 {} \; to reset bulk permissions safely.

  • Standard directory permissions: 755 (drwxr-xr-x)
  • Standard file permissions: 644 (-rw-r--r--)
  • wp-config.php: 440 or 400 (more restrictive for security)
  • Use FTP client: right-click files/folders → Properties → Permissions
  • Never use 777 permissions (world-writable security risk)
  • For command line: chmod 755 for dirs, chmod 644 for files

Test on Fresh WordPress Installation

If previous steps fail to resolve the white screen, test your database content with a fresh WordPress installation. This isolates whether the issue stems from files or database corruption. Create a new directory on your server (e.g., public_html/test-wp), install fresh WordPress files there, and configure wp-config.php to use your existing database.

After installation, WordPress will recognize existing database tables and prompt you to log in. If the white screen reappears with fresh files but the same database, the issue is database-related (corrupted options, malformed serialized data). If it works, your original installation has file-level corruption beyond core files, likely in wp-content/uploads or custom code.

  • Create new directory on server for clean installation
  • Download latest WordPress and extract to new directory
  • Copy database credentials from original wp-config.php to new installation
  • Access new directory via browser to complete setup
  • If white screen reappears, issue is database-related
  • If site works, original installation has custom file corruption

Quick troubleshooting checklist

  • Create complete backup of wp-content directory and database before starting
  • Add define('WP_MEMORY_LIMIT', '256M'); to wp-config.php before 'stop editing' line
  • Rename wp-content/plugins folder to plugins-disabled via FTP
  • Test site — if it loads, rename individual plugin folders to find conflict
  • Change template and stylesheet values in wp_options table to default theme
  • Enable WP_DEBUG and WP_DEBUG_LOG in wp-config.php to capture error details
  • Check wp-content/debug.log and server error logs for fatal error messages
  • Download matching WordPress version and replace core files (preserve wp-content and wp-config.php)
  • Verify file permissions: 644 for files, 755 for directories, 440 for wp-config.php
  • If unresolved, install fresh WordPress to separate directory using existing database to isolate file vs. database issues

FAQ

What causes WordPress white screen of death?

WordPress white screen of death is caused by PHP fatal errors that halt execution without displaying error messages. Common causes include PHP memory limit exhaustion (default 32M-64M is often insufficient), plugin conflicts from duplicate function names, theme errors in functions.php or template files, corrupted WordPress core files from incomplete updates, database connection failures, and PHP version incompatibility with installed plugins or themes.

How do I fix WordPress white screen without admin access?

Fix WordPress white screen without admin access by increasing PHP memory limit in wp-config.php (add define('WP_MEMORY_LIMIT', '256M');), disabling all plugins by renaming wp-content/plugins folder via FTP to plugins-disabled, switching to a default theme by changing template and stylesheet values in the wp_options database table to 'twentytwentyfour', and enabling WP_DEBUG in wp-config.php to see error messages that identify the failing component.

How do I enable WordPress debugging to see errors?

Enable WordPress debugging by editing wp-config.php via FTP and adding these lines before 'That's all, stop editing!' comment: define('WP_DEBUG', true); define('WP_DEBUG_LOG', true); define('WP_DEBUG_DISPLAY', false); — This writes errors to wp-content/debug.log without displaying them publicly. After fixing issues, disable debugging by setting WP_DEBUG to false to avoid performance overhead.

Can I fix white screen by increasing memory limit?

Yes, increasing PHP memory limit fixes white screens caused by memory exhaustion, which is one of the most common causes. Add define('WP_MEMORY_LIMIT', '256M'); to wp-config.php before the 'stop editing' line. If the issue persists, increase to 512M. Some hosting providers enforce memory caps at the server level, so contact support if WordPress cannot allocate the requested amount.

What file permissions should WordPress have?

WordPress files should have 644 permissions (rw-r--r--) and directories should have 755 permissions (rwxr-xr-x) for secure operation. The wp-config.php file should be more restrictive at 440 or 400 permissions to protect database credentials. Never use 777 permissions as they create security vulnerabilities by making files world-writable. Use FTP client properties or SSH chmod commands to correct permissions if misconfigured.