Skip to content
Hosting Operations9 min read

How to fix WordPress white screen fix: Troubleshooting Checklist

Systematic troubleshooting guide for WordPress white screen of death. Diagnostic steps, root causes, and proven fixes for hosting support teams.

Written by Abdul AbrorTechnical Hosting Support Engineer
A cozy home office scene with a laptop, notebook, smartphone, and coffee, perfect for productivity.
Photo by Pixabay on Pexels
On this page

TL;DR — Key takeaways

  • The WordPress white screen of death is most commonly caused by PHP memory exhaustion, plugin conflicts, or theme errors that prevent page rendering.
  • Enable WP_DEBUG in wp-config.php first to reveal underlying PHP errors, then check error logs in wp-content/debug.log and server error logs.
  • Disable all plugins via FTP or database queries, then reactivate one by one to isolate conflicts; switch to a default theme if the admin remains inaccessible.
  • Increase PHP memory_limit to 256M or higher in wp-config.php or php.ini, and verify PHP version compatibility with your WordPress version and extensions.
  • Always create complete backups before troubleshooting and test changes in staging environments when possible to prevent data loss or extended downtime.

The WordPress white screen of death appears as a blank page with no error messages, leaving site owners and support teams with no obvious starting point. This failure mode occurs when PHP execution halts before WordPress can render output, typically due to memory exhaustion, fatal errors in plugins or themes, or server-level misconfigurations.

This guide walks through systematic diagnostic steps, ordered from quickest checks to deeper investigation. Each section includes concrete commands, file paths, and safe rollback procedures for hosting environments.

Common Symptoms and Failure Patterns

The white screen can manifest in different areas of your WordPress installation. Identifying where the failure occurs helps narrow the root cause.

Frontend-only white screens while the admin area works normally typically indicate theme errors or frontend-specific plugin conflicts. Admin-only white screens suggest plugin conflicts in the admin context or corrupted core files. Sitewide white screens affecting both frontend and admin usually point to PHP memory limits, fatal syntax errors, or corrupted wp-config.php.

  • Blank page with no HTML source code in browser inspector
  • HTTP 200 response code but zero content length
  • Partial page load that stops mid-render
  • White screen only on specific pages or post types
  • Intermittent failures that resolve after page refresh

Enable Debug Mode and Check Error Logs

This writes errors to wp-content/debug.log instead of displaying them on screen. Check this file after reproducing the white screen to see fatal errors, warnings, and notices.

Also check your server's PHP error log, typically located at /var/log/php-fpm/error.log or configured in php.ini under error_log. Your hosting control panel may provide log viewers under error logs or PHP logs sections. Look for fatal errors, memory exhaustion messages, or maximum execution time exceeded notices.

  • define('WP_DEBUG', true);
  • define('WP_DEBUG_LOG', true);
  • define('WP_DEBUG_DISPLAY', false);
  • define('SCRIPT_DEBUG', true);

Increase PHP Memory Limit

If wp-config.php changes have no effect, the server-level php.ini may enforce a lower limit. Check your current limit by creating a temporary file named info.php in your WordPress root with this content: <?php phpinfo(); ?>. Access it via browser at yourdomain.com/info.php and search for memory_limit. Delete this file immediately after checking to avoid exposing server configuration.

To increase server-level limits, edit php.ini (location varies by host: /etc/php.ini, /etc/php/8.x/fpm/php.ini, or accessible via hosting control panels). Set memory_limit = 256M and restart PHP-FPM or Apache. On shared hosting where php.ini access is restricted, create or edit .htaccess in WordPress root and add php_value memory_limit 256M.

  • define('WP_MEMORY_LIMIT', '256M');

Isolate Plugin and Theme Conflicts

Replace wp_ with your actual table prefix if different. This clears the active plugins list. Reactivate plugins through the admin interface afterward.

To test for theme conflicts, switch to a default WordPress theme. If the admin is accessible, go to Appearance > Themes and activate Twenty Twenty-Four or another default theme. Via FTP or SSH, edit wp-config.php and add define('WP_DEFAULT_THEME', 'twentytwentyfour'); before the require_once line at the bottom. Alternatively, run this database query:

  • UPDATE wp_options SET option_value = 'twentytwentyfour' WHERE option_name = 'template';
  • UPDATE wp_options SET option_value = 'twentytwentyfour' WHERE option_name = 'stylesheet';

Verify PHP Version Compatibility

WordPress core, plugins, and themes each have minimum PHP version requirements. Running outdated or incompatible PHP versions causes fatal errors when unsupported functions are called.

Check your current PHP version with the info.php method described earlier or by running php -v via SSH. WordPress 6.4 and later require PHP 7.4 minimum, with PHP 8.0 or higher recommended. Many plugins now require PHP 7.4 or 8.0.

If your PHP version is below the minimum requirement, coordinate with your hosting provider or upgrade via your hosting control panel's PHP version selector. Before upgrading PHP in production, test compatibility in a staging environment. Some older plugins written for PHP 5.6 may break on PHP 8.x due to deprecated function removal.

Check plugin and theme documentation for their specific PHP requirements. If a plugin is no longer maintained and incompatible with modern PHP, look for actively maintained alternatives.

Check File Permissions and Ownership

Replace www-data with your server's actual web user. On shared hosting environments, ownership is often managed automatically and manual changes may not be permitted.

  • chown -R www-data:www-data /path/to/wordpress

Repair or Replace Core Files

Visit yourdomain.com/wp-admin/maint/repair.php in your browser. This page offers two options: repair database only or repair and optimize database. Choose repair first. Remove the WP_ALLOW_REPAIR line from wp-config.php after completion to prevent unauthorized access.

For manual core file replacement, download the same WordPress version from wordpress.org/download/releases/ that matches your current installation (check wp-includes/version.php for your version number). Extract the archive and upload wp-admin and wp-includes directories via FTP, overwriting existing files. Do not replace wp-content or wp-config.php to preserve your themes, plugins, and configuration.

Always back up your entire WordPress directory and database before replacing core files. Use your hosting control panel's backup tool or run manual backups via SSH with tar and mysqldump commands.

  • define('WP_ALLOW_REPAIR', true);

Check Server Resources and Limits

Add this line near the top of wp-config.php after the opening <?php tag. On shared hosting, extremely high values may be blocked by server-level policies.

Check server load and resource usage with top or htop via SSH. High CPU or memory usage from other processes can starve PHP execution. On shared hosting, contact your provider if resource limits are consistently exceeded to discuss plan upgrades or optimization strategies.

  • set_time_limit(300);

Quick troubleshooting checklist

  • Create complete backup of files and database before troubleshooting
  • Enable WP_DEBUG, WP_DEBUG_LOG in wp-config.php
  • Check wp-content/debug.log and server PHP error logs for fatal errors
  • Increase PHP memory_limit to 256M in wp-config.php
  • Verify current PHP version meets WordPress and plugin requirements
  • Disable all plugins via FTP (rename plugins folder) or database query
  • Switch to default theme via wp-config.php or database query
  • Reactivate plugins one by one to isolate conflicts
  • Check file permissions (644 files, 755 directories, 640 wp-config.php)
  • Verify file ownership matches web server user (www-data, nginx, apache)
  • Test disk space availability with df -h (need 1GB+ free)
  • Increase max_execution_time if complex queries are timing out
  • Run WordPress core repair at /wp-admin/maint/repair.php if needed
  • Replace wp-admin and wp-includes from fresh download if corruption suspected
  • Review server error logs for resource exhaustion or throttling notices
  • Remove debug settings and test files after resolution

FAQ

What causes the WordPress white screen of death?

The WordPress white screen of death is caused by PHP fatal errors that halt execution before page rendering completes. The most common causes are PHP memory exhaustion when the site exceeds the memory_limit setting, plugin conflicts where incompatible code triggers fatal errors, theme errors in template files, PHP version incompatibility when WordPress or plugins require newer PHP features, and corrupted core files from failed updates or incomplete uploads.

How do I fix WordPress white screen without admin access?

Without admin access, fix the WordPress white screen by enabling debug mode in wp-config.php to reveal errors, increasing PHP memory_limit to 256M in wp-config.php, disabling all plugins by renaming the wp-content/plugins folder via FTP to plugins-disabled, switching to a default theme by updating the template and stylesheet options in the wp_options database table, checking and correcting file permissions via FTP or SSH (644 for files, 755 for directories), and replacing core files by uploading fresh wp-admin and wp-includes folders from wordpress.org.

Why does my WordPress site show a blank white page only on some pages?

A white screen on specific pages rather than sitewide typically indicates page-specific plugin conflicts where shortcodes or widgets on certain pages trigger errors, template-specific theme errors in single.php, page.php, or custom templates, post type-specific plugin hooks that only fire on certain content types, memory exhaustion on pages with many database queries or large content, or corrupted post meta data in the database for individual posts. Enable WP_DEBUG to see which specific function or plugin is failing on affected pages.

How do I increase PHP memory limit for WordPress?

Increase PHP memory limit for WordPress by adding define('WP_MEMORY_LIMIT', '256M'); to wp-config.php before the 'stop editing' comment for WordPress-specific limit, editing php.ini and setting memory_limit = 256M then restarting PHP-FPM or Apache for server-wide changes, adding php_value memory_limit 256M to .htaccess in WordPress root on Apache servers with mod_php, or contacting your hosting provider on shared hosting where php.ini access is restricted. Verify the change took effect by checking phpinfo() output.

Can I recover my WordPress site if I see only a white screen?

Yes, WordPress white screen issues are fully recoverable because the underlying data remains intact. Recovery steps include restoring from a recent backup as the safest option, enabling debug mode to identify the specific error causing the white screen, disabling plugins and themes via FTP or database queries to eliminate conflicts, increasing PHP memory limits if resource exhaustion is the cause, replacing corrupted core files with fresh copies from wordpress.org, and contacting your hosting provider if server-level issues like resource limits or PHP configuration are involved. Most white screen issues resolve within 30 minutes once the root cause is identified.