If you have come to this page, it means that your website has crashed and you don’t know how to fix the WordPress white screen of death error. Well, even I didn’t know what to do when I first faced the error but later on with experience I have become pretty good at avoiding the dreaded white screen and taking steps to easily recover from the error. What many people don’t realize is that their work does not stop with just creating a website using WordPress, uploading their content, and keeping it updated. There is more to it than that. It is like a classic motorcycle, think of it as a Harley-Davidson or a Royal Enfield Bullet. It needs proper care, tuning, and maintenance to keep it running healthy and in an optimal condition. Likewise, if you don’t take good care of your WordPress site by backing it up regularly, you might end up in a weird situation – with a broken site and zero backups.
WordPress is a robust platform for creating websites and web applications but that does not mean it is built to withstand all other external factors. Like any software out there, WordPress has also got bugs and since it is the most popular CMS on the internet, people always looking for vulnerabilities in the WordPress ecosystem to exploit it. But the white screen of death doesn’t happen due to hackers taking over your site or by installing unknown plugins. It happens mainly due to poor code or incompatibility between WordPress core, themes, and plugins.
Whenever this happens, remember not to panic. Take a deep breath as this is just one of the common WordPress errors and can be recovered from quite easily. In this post, I am going to show you how to fix the WordPress White Screen of Death (WSoD) error without getting help from a developer.
Yes, you read that right. You don’t always need a WordPress developer to fix warnings and errors for you. You can do it by yourself.
Table of Contents
What is White Screen of Death in WordPress
White Screen of Death or shortly WSoD is when your WordPress site crashes and displays only a white screen on the front end on your web browser. In some rare cases, you will still be able to log into your backend to fix the issue. But mostly, you won’t be able to do anything with it in the front end. You will have to log in to your web hosting account and make a few changes.
Here is a how it will look on your browser –
What causes the White Screen of Death in WordPress
There are many reasons why a White Screen of Death can happen. It can because of exhausting your WordPress memory limit, a poorly coded theme or plugin, problems with your web server, etc. Now, let’s see how to fix it.
How to fix the WordPress White Screen of Death
NOTE: Some methods may require you to make changes to your core WordPress files. So, it is recommended to take a complete backup of your website before you start working on it.
Now, let’s have a look at the various methods available to fix White Screen of Death on WordPress. Since there is no definite solution to this problem, you will have to try out these methods one by one until you can find the root cause of it.
Clear browser cache
Sometimes, it might appear as if your website has crashed but actually it would be working properly for others. This can be due to problems with caching in your browser. Try clearing your browser’s cookies and cache. If possible, test if your website is loading properly on an incognito/private tab. Alternatively, you might try accessing it using an entirely different web browser, preferably which you do not use to manage your site.
You can also try testing if your site is loading elsewhere using tools like GTmetrix, Pingdom or a VPN. If it is loading properly for others, your browser is most likely the culprit. So, go ahead and clear your browser’s cookies and cache. This should resolve the issue for you now.
NOTE: If your WordPress admin area is working properly but the front-end is not displayed correctly, there may be an issue with your caching plugin. Try clearing your website’s cache files and try again just to ensure this is not the case with your website.
If this doesn’t work for you and your site isn’t loading for anyone, move on to the next method.
Increase WordPress memory limit
One of the main reasons why most WordPress sites owners face the white screen of death is because they have exhausted the WordPress memory limit. WordPress needs more memory for processing PHP code and if you’re using many plugins which perform memory intensive operations on your site, you will quickly exhaust the memory limit allowed to your WordPress site.
This can be solved by increasing the memory limit. You can do this by adding a single line of PHP code to your site’s ‘wp-config.php‘ file. Add the below code to your wp-config.php file by pasting it just above the line which says ‘That’s all, stop editing! Happy blogging.’
define( 'WP_MEMORY_LIMIT', '256M' );
This code will increase the memory limit to 256MB. If memory exhaustion was the cause of your WordPress site error, it should work now. Try accessing your website from any browser and it should work like charm.
If it still doesn’t work, try increasing the memory limit to 512MB. Just open your wp-config.php file once again and alter the value from 256M to 512M.
define( 'WP_MEMORY_LIMIT', '512M' );
If it still doesn’t fix the white screen of death, continue with the next method.
Disable all WordPress plugins
Sometimes, a poorly coded plugin or incompatibility between different plugins is enough to bring your whole site down. There have been so many times where I crashed my own site due to poorly coded WordPress plugins. There were even times when I went ahead an installed abandoned plugins on my site to do something but it backfired on me by bringing the whole site to a halt.
These types of errors can easily be rectified as it usually happens as soon as you install and activate a new WordPress plugin or update an existing one. If you remember which plugin you installed or updated lastly before your website crashed, you have already found the solution!
Well, if you, like many other WordPress site owners aren’t sure which plugin you installed or updated before the crash, you will have to disable each plugin on your site one by one until you find the plugin which crashes your site.
NOTE: This method only works when you are able to access the backend admin of your site aka the WordPress dashboard. You might ask me, well if the whole site is down, then how may I access it. But I have personally experienced situations where I was able to access certain portions of my website’s backend and managed to disable all the plugins.
If you aren’t able to access any of your backend admin pages (the dashboard, plugins page, etc), you will have to follow a slightly complicated method.
- Step 1 – Log into your web hosting’s control panel and navigate to the wp-content folder using the file manager.
- Step 2 – Over there, you can find the plugins folder. Now, rename it to something like old plugins.
- Step 3 – Once you have renamed the plugins folder, try accessing your website. If it loads properly, you can relax now.
- Step 4 – Change the folder’s name back to plugins and open the plugins folder.
- Step 5 – Now, change the name of each plugin folder one by one and keep testing your site until your site loads properly. The last plugin folder whose name you changed before the site starts working is the culprit.
You can now safely rename all the other plugin folders back to their original name and delete the plugin which was causing issues on your site. If this method still doesn’t help you, you may try reinstalling WordPress.
If you made changes directly to the WordPress core files, there are chances that your installation has gone corrupted. For example, if you were editing your wp-config.php or .htaccess file even a small typo can crash your site. There was a time once when I was editing my .htaccess file to add a few lines of code to enable expires headers. There was just an extra white space in the code which shouldn’t have been there.
The end result? My site threw up an error. Luckily I knew that deleting your old .htaccess file forces WordPress to create a new .htaccess file. So, I went ahead and deleted it to bring my site back up. Later when I tried again, the site kept crashing. This prompted me to inspect the code closely. I noticed that I was copying an extra white space which made the site to crash. It was a real bummer!
But if you didn’t edit the .htaccess file but some other WordPress core file like wp-config.php or functions.php, you can recover your site by reinstalling WordPress. This will replace the corrupt files with fresh copies.
If you aren’t able to access the backend of your site, you can try reinstalling WordPress using the manual method.
- Step 1 – Download the latest version of WordPress and extract the files.
- Step 2 – Delete the wp-content folder from the archive.
- Step 3 – Upload the other files and folders to your public_html directory using your file manager or an FTP like FileZilla.
After that, you will have to update the WordPress configuration file (wp-config.php) with your database credentials. Or, there will be an error establishing a database connection.
If you have access to the admin area and needs a fresh copy of the WordPress, go to the WordPress updates page. From there, you can reinstall WordPress.
If this solves your error, you are now good to go. If it didn’t, keep reading.
Enable the WordPress debug mode
If following the above methods didn’t work for you, you should enable the WordPress debug mode to troubleshoot this issue. To enable debug mode in WordPress, add the below lines of code to your wp-config.php file just above the line which says ‘That’s all, stop editing! Happy blogging’ and save your changes.
error_reporting(E_ALL); ini_set('display_errors', 1);
define( 'WP_DEBUG', true);
IMPORTANT: Once you add the above code to your wp-config.php file and save your changes, anyone visiting your website will be able to see your error messages which can reveal sensitive information about your website’s configuration and server. So, don’t keep the debug mode turned on for too long.
NOTE: If you get an error message like ‘Notice: Constant WP_DEBUG already defined in /var/www/public/xyzname/wp-config.php on line 71’ on your website’s front-end, it means that you have already defined the WP_DEBUG status on your wp-config.php file. Removing the duplicate line should solve the error for you. In most of the cases where the line is already present, it would be defined as ‘false’. So, you can safely remove it although I would recommend you to download a copy of your wp-config.php file before making any changes to it.
define( 'WP_DEBUG', false); —> Remove this line.
Now, when you try loading your site, it will display all the errors and warnings present on your site. You can find the root cause of your issue by carefully reading through the error messages. If you couldn’t understand the errors, try searching for them on Google or any search engine of your choice.
Contact your web hosting provider
If nothing works, try contacting your web host. There might be an issue with your web hosting server in rare cases unless you’re trusting your website with an unreliable web host where it can easily become a common problem.
Popular WordPress hosting companies like Bluehost, SiteGround, and GreenGeeks offer live chat support. You can chat with their customer support representative online and ask them to check what’s wrong with your site from their end. They will definitely have more detailed information on what’s plaguing your site since they have access to all your server logs and powerful debugging tools.
Once they revert back to you with the exact cause, you can request them to help you fix the issue. If they’re not able to help you, you can go ahead and search online WordPress support forums and communities for answers. Since you already know what’s causing issues, I am pretty sure you can find the issue documented elsewhere on the internet. Try searching for the issue on the WordPress support forum. If nothing turns up, make a quick search or ask for help on the WordPress Development Stack Exchange.
WordPress Site Health Check Project
To combat the menace of white screen of death from occurring, WordPress has come up with a Site Health Check Project which now includes white screen protection. This new PHP site fatal error protection mechanism ships with WordPress version 5.2 and above.
This white screen of death protection feature makes sure that even if your site faces the dreaded white screen of death, you will still be able to login to your site as usual from the backend and fix it by reverting any change you made (code changes, plugin or theme installation and updates, etc). This is done by automatically identifying the cause of the crash and pausing the bad code from running while your site loads.
Now, how cool is that! I guess this should have been implemented long back. But still, WordPress is an open source software and I can’t complain about something which I love deeply! 😉 If it weren’t for WordPress, I wouldn’t be here living this good life. WordPress taught me a lot of skills which boosted my confidence and even my job is based on WordPress. You can read more about it on my about page.
NOTE: The Site Health Check feature is available only on WordPress sites running version 5.2 and above. If you are running on an older version of WordPress, you should upgrade to the latest version to take advantage of this feature.
I hope you found this post helpful and were able to fix the white screen of death error on your WordPress site. If you did, please consider sharing this post with your friends and fellow bloggers on social media so that they can also bookmark this post in case they’re using WordPress. It may come in handy one day when they are in the same situation and don’t know how to fix the WordPress white screen of death error. But I truly hope that day never comes.