How to Fix WordPress White Screen of Death
A WordPress website that suddenly displays a completely blank white page can be alarming. You may see no error message, no WordPress dashboard, and sometimes not even the normal website header or footer. This problem is commonly known as the WordPress White Screen of Death (WSOD).
The good news is that a white screen does not necessarily mean your website is permanently damaged. In many cases, the problem is caused by a faulty plugin, incompatible theme, exhausted PHP memory, a PHP error, or a recent configuration change.
This guide explains the most common causes of the WordPress White Screen of Death and provides practical methods to troubleshoot and restore your website.
What Is the WordPress White Screen of Death?
The WordPress White Screen of Death occurs when WordPress encounters a serious PHP error but cannot display the normal page or an error message.
Instead of your website, visitors may see:
- A completely blank white page
- A partially loaded page
- A blank WordPress admin dashboard
- A generic server error
- A page that stops loading after a recent update
The issue can affect:
- The entire website
- Only the WordPress admin area
- A particular page or post
- The website after installing a plugin
- The website after changing the theme
- The website after updating WordPress or PHP
Common Causes of the WordPress White Screen
Before troubleshooting, it helps to understand what can trigger the problem.
1. Plugin conflict
A newly installed or updated plugin may conflict with WordPress, another plugin, or your theme.
2. Theme conflict
A corrupted or incompatible theme can cause PHP errors and prevent WordPress from rendering the page.
3. PHP memory exhaustion
WordPress, plugins, and themes require server memory. If the available PHP memory is insufficient, execution can fail.
4. PHP version incompatibility
An old plugin or theme may not work correctly with the PHP version configured on your hosting account.
5. WordPress core files
Damaged or incomplete WordPress files can also cause unexpected errors.
6. Syntax or coding errors
A mistake in functions.php, a custom plugin, or another PHP file can stop WordPress from executing.
7. Failed updates
An interrupted WordPress, plugin, or theme update may leave files incomplete or inconsistent.
8. Server configuration problems
Incorrect PHP settings, permissions, resource limits, or server configuration can sometimes produce a blank page.
Step 1: Check Whether the Website Is Actually Down
First, determine whether the problem affects the entire website or only your browser.
Try opening the website in:
- A private/incognito browser window
- A different browser
- A different device
- A different internet connection
Also try opening:
https://example.com/wp-admin/
If the website works elsewhere, clear your browser cache and cookies before making server-side changes.
If both the frontend and WordPress dashboard show a white screen, continue troubleshooting.
Step 2: Enable WordPress Debugging
One of the most useful ways to identify the cause of a white screen is to enable WordPress debugging.
Before making changes, create a backup of your website if possible.
Open the WordPress:
wp-config.php
file in your hosting File Manager or using FTP.
Look for:
define( 'WP_DEBUG', false );
Change it to:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
This configuration records PHP errors in the WordPress debug log without displaying technical errors publicly to visitors.
The log is normally located at:
/wp-content/debug.log
Open the log and look for the latest error.
For example, you might see an error mentioning:
/wp-content/plugins/example-plugin/
This can indicate that the plugin is responsible for the problem.
Important
Do not leave debugging enabled indefinitely on a production website. After troubleshooting, disable it:
define( 'WP_DEBUG', false );
Step 3: Disable WordPress Plugins
Plugin conflicts are among the most common causes of the White Screen of Death.
If you can access the WordPress dashboard, go to:
Plugins → Installed Plugins
Deactivate recently installed or updated plugins first.
Then reload the website.
If the website works again, reactivate the plugins one at a time until you identify the plugin causing the problem.
Disable Plugins Without WordPress Admin Access
If you cannot access /wp-admin/, you can disable plugins using your hosting File Manager or FTP.
Open:
wp-content/
Find:
plugins
Rename it to something such as:
plugins-disabled
Then reload your website.
If the website starts working, WordPress has been unable to load one or more plugins.
Rename the folder back to:
plugins
Then troubleshoot individual plugins.
You can also rename individual plugin directories to temporarily disable them.
For example:
wp-content/plugins/example-plugin
can be renamed to:
wp-content/plugins/example-plugin-disabled
Test the website after each change.
Step 4: Switch to a Default WordPress Theme
A theme can also cause a white screen, especially after a theme update or modification.
If you can access WordPress Admin, go to:
Appearance → Themes
Activate a default WordPress theme that is already installed.
Then check your website.
If the website works after switching themes, your previous theme may be causing the problem.
Change the Theme Without Dashboard Access
If you cannot access WordPress Admin, use your hosting File Manager or FTP.
Go to:
wp-content/themes/
Locate your active theme folder.
Instead of deleting it, rename it temporarily:
mytheme
to:
mytheme-disabled
WordPress may then fall back to an available default theme.
If the website loads afterward, investigate the original theme.
Do not delete the theme immediately
Renaming is safer because you can restore the original folder if necessary.
Step 5: Increase the WordPress PHP Memory Limit
A lack of PHP memory can cause WordPress to stop executing.
You can try increasing the WordPress memory allocation in wp-config.php.
Add the following before the line that says:
/* That's all, stop editing! Happy publishing. */
Use:
define( 'WP_MEMORY_LIMIT', '256M' );
For WordPress administration, you can also use:
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
However, these values do not override the server’s actual PHP memory restrictions. Your hosting provider or PHP configuration may impose a lower limit.
After making the change, test the website again.
Step 6: Check the PHP Version
A PHP version change can sometimes cause compatibility problems.
For example, an older plugin may contain code that is incompatible with a newer PHP version.
Check your hosting control panel for the configured PHP version.
If the white screen appeared immediately after changing PHP versions, temporarily switch back to the previously working version if your hosting environment supports it.
Then:
- Check the plugin documentation.
- Update outdated plugins.
- Update the theme.
- Check WordPress compatibility.
- Move to a supported PHP version once compatibility issues are resolved.
Avoid staying on an obsolete PHP version permanently simply because it makes an old plugin work.
Step 7: Check the PHP Error Log
Your hosting account may provide a separate PHP or server error log.
Depending on your hosting environment, it may be available through:
- cPanel
- DirectAdmin
- Hosting File Manager
- Server logs
- PHP-FPM logs
Look for errors generated at approximately the time the white screen appeared.
Typical messages may contain terms such as:
PHP Fatal error
Allowed memory size exhausted
Call to undefined function
Call to undefined method
Cannot redeclare function
Parse error
Uncaught Error
The filename and line number are particularly useful.
For example:
/wp-content/themes/example/functions.php on line 125
This points you toward the likely source of the problem.
Step 8: Check Recently Modified Files
Think about what changed immediately before the website stopped working.
Common triggers include:
- Installing a plugin
- Updating a plugin
- Updating a theme
- Editing
functions.php - Changing PHP versions
- Modifying
wp-config.php - Updating WordPress
- Installing custom code
- Changing server settings
If the website worked before a specific change, temporarily undoing that change can help identify the cause.
Step 9: Check the functions.php File
Custom code added to a theme’s functions.php file can cause a fatal PHP error.
For example, an accidental syntax error such as a missing semicolon can break the website.
If you recently edited:
wp-content/themes/your-theme/functions.php
review your changes.
If possible, restore the previous working version from a backup.
Avoid adding untested PHP code directly to a production website.
Step 10: Check WordPress Core Files
If plugins and themes are not responsible, the WordPress core files may be damaged.
You can reinstall the WordPress core files without intentionally removing your content, provided you follow the correct process and have a backup.
Before proceeding:
- Back up your website.
- Back up the database.
- Download a fresh WordPress package.
- Replace the WordPress core files.
- Do not overwrite
wp-content. - Preserve your
wp-config.php.
Be especially careful when replacing files manually.
If you use a hosting control panel or WordPress management tool, it may provide a built-in option to repair or reinstall WordPress.
Step 11: Repair a Failed WordPress Update
Sometimes a WordPress update can fail partway through.
Check whether the website contains a file named:
.maintenance
in the WordPress root directory.
If WordPress is stuck in maintenance mode after an interrupted update, removing the .maintenance file may restore normal loading.
Only remove it if you have confirmed that the update is no longer actively running.
Afterward, check the WordPress dashboard and complete any pending updates.
Step 12: Check File and Folder Permissions
Incorrect permissions can prevent WordPress from reading or executing files properly.
Typical WordPress permissions are commonly configured around:
Directories: 755
Files: 644
However, the correct settings can vary depending on your hosting environment.
Do not blindly change permissions on the entire server.
If permissions were recently changed and the website stopped working afterward, compare them with your hosting provider’s recommended configuration.
Step 13: Check .htaccess
A corrupted or incorrectly modified .htaccess file can cause website problems.
First, create a backup of the existing file.
Then rename:
.htaccess
to:
.htaccess-backup
Test the website.
If the site loads again, the .htaccess configuration may be responsible.
Once WordPress is accessible, you can regenerate the default rules by going to:
Settings → Permalinks
and clicking:
Save Changes
This causes WordPress to regenerate its standard rewrite rules.
Step 14: Clear Caches
Caching can sometimes make troubleshooting confusing because you may continue seeing an old broken version of the page.
Clear:
- WordPress cache
- Plugin cache
- Server cache
- CDN cache
- Browser cache
If your hosting provider uses server-level caching, clear that cache as well.
After clearing the caches, test the website again.
Step 15: Check the Database
A white screen can occasionally be related to database problems.
Check your database status through your hosting control panel or database management tool.
Before repairing a database, make a backup.
If your hosting environment provides WordPress database repair tools, use them carefully.
WordPress also includes a database repair feature that can be enabled temporarily through wp-config.php:
define( 'WP_ALLOW_REPAIR', true );
You can then access:
https://example.com/wp-admin/maint/repair.php
After completing the repair, remove the WP_ALLOW_REPAIR line.
Do not leave the repair feature enabled on a production website.
Step 16: Check Server Resource Usage
If your hosting account is reaching resource limits, WordPress may fail to execute properly.
Depending on your hosting provider, check:
- CPU usage
- RAM usage
- PHP processes
- Entry processes
- I/O usage
- Disk space
- Inode usage
- PHP workers
This is particularly important for websites with:
- WooCommerce
- Large databases
- Many plugins
- High traffic
- Resource-intensive themes
- Large numbers of scheduled tasks
If the server is consistently hitting its limits, simply increasing WordPress’s memory setting may not solve the underlying problem.
Step 17: Check for Plugin and Theme Compatibility
Once the website is accessible again, review your installed plugins and theme.
Make sure:
- WordPress is updated
- Plugins are updated
- Themes are updated
- PHP is supported
- Unused plugins are removed
- Unused themes are removed
- Premium extensions are properly licensed and updated
Do not install multiple plugins that perform essentially the same function unless you have a specific reason.
Step 18: Restore From a Backup
If troubleshooting does not identify the problem and the website was working correctly before a recent change, restoring a known-good backup may be the fastest recovery option.
Depending on your hosting setup, you may have backups for:
- Website files
- Database
- Full hosting account
- Daily snapshots
- Remote backups
Ideally, restore the website to a point immediately before the problem appeared.
After restoration, identify what caused the original issue before repeating the update or configuration change.
How to Identify the Problem Quickly
A useful troubleshooting sequence is:
White Screen
↓
Enable WordPress Debug Log
↓
Check PHP/Server Error Log
↓
Disable Recently Changed Plugin
↓
Test Website
↓
Still Broken?
↓
Switch to Default Theme
↓
Test Website
↓
Still Broken?
↓
Check PHP Version & Memory
↓
Check .htaccess & Core Files
↓
Check Server Resources
↓
Restore Backup if Necessary
This approach helps you avoid randomly changing multiple settings at once.
Common WordPress White Screen Error Examples
“Allowed memory size exhausted”
Usually indicates that PHP has reached its available memory limit.
Possible solutions:
- Increase the PHP memory limit where appropriate.
- Disable resource-intensive plugins.
- Optimize the website.
- Reduce unnecessary background processes.
- Upgrade hosting resources if consistently required.
“Call to undefined function”
This can indicate incompatible code, a missing PHP extension, or a plugin/theme problem.
Check the filename and plugin or theme involved.
“Cannot redeclare function”
This usually indicates that the same function has been declared more than once.
Check recently added custom code, plugins, and themes.
“Parse error”
This often indicates a PHP syntax problem.
Check the referenced file and line number, especially if you recently edited PHP code.
“Maximum execution time exceeded”
A PHP process may be taking longer than the configured execution limit.
Investigate the plugin, theme, import, script, or operation responsible instead of simply increasing the limit indefinitely.
How to Prevent the WordPress White Screen of Death
Prevention is easier than emergency recovery.
Keep WordPress Updated
Use current, compatible versions of WordPress, plugins, and themes.
Use Reliable Plugins
Choose actively maintained plugins from reputable sources.
Test Updates Before Production
Use a staging website when making significant changes.
Maintain Regular Backups
Keep both website files and database backups.
Monitor PHP Compatibility
Before changing PHP versions, verify that your plugins and themes support the target version.
Avoid Editing Core Files
WordPress core files should not normally be modified directly.
Be Careful With Custom PHP
Test custom code before deploying it to a live website.
Monitor Hosting Resources
If CPU, RAM, PHP workers, or other resources are regularly exhausted, investigate the underlying cause.
What Not to Do When Your Website Shows a White Screen
Avoid making many changes simultaneously.
For example, do not:
- Delete all plugins immediately
- Delete the active theme
- Delete WordPress core files
- Change multiple PHP settings at once
- Randomly modify database tables
- Remove files without backups
- Disable security controls without understanding the consequences
Instead, make one controlled change at a time and test after each change.
This makes it much easier to determine what actually fixed the problem.
WordPress White Screen Troubleshooting Checklist
Use this checklist when diagnosing a blank WordPress website:
- Test the website in another browser
- Test
/wp-admin/ - Create a backup
- Enable WordPress debugging
- Check
wp-content/debug.log - Check PHP/server error logs
- Disable recently installed or updated plugins
- Switch to a default theme
- Check PHP memory
- Check the PHP version
- Review recently modified PHP files
- Check
.htaccess - Check WordPress core files
- Check file permissions
- Clear all relevant caches
- Check hosting resource usage
- Check database health
- Restore a known-good backup if necessary
Final Thoughts
The WordPress White Screen of Death is usually a symptom of an underlying PHP, plugin, theme, configuration, or server problem rather than a problem with WordPress itself.
The most effective approach is systematic troubleshooting. Start by checking the debug and server logs, then investigate recently changed plugins, themes, PHP versions, memory limits, and custom code. If the problem cannot be isolated, a reliable backup provides an important recovery option.
For production websites, maintaining regular backups, using compatible plugins and themes, monitoring hosting resources, and testing major changes on a staging environment can significantly reduce the risk of extended downtime.
With a structured troubleshooting process, most WordPress white-screen problems can be identified and resolved without rebuilding the entire website.