I recently came across a frustrating problem with a WordPress website showing an intermittent blank white screen – otherwise known as the ‘white screen of death’. No error messages, no HTML code generated, nothing. This happened in about 1 in 20 page requests and was more frequent in admin pages once logged in than on the main website.
These problems were also picked up by crawl errors in Google Webmaster Tools along with http and ping monitoring, with a server response code of 500 being returned.
A frequent cause of a WordPress blank screen can be down to fatal PHP errors caused by a plugin or theme. The first thing you’ll want to do therefore is check you’re website log files for any errors. Depending on your host, error logs are often created in some kind of ‘logs’ folder in your website’s root.
In my case, the ‘errors_log’ file revealed the following:
[Mon Jun 23 08:14:27 2014] [warn] [client [IP Address]] mod_fcgid: stderr: PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 14421357 bytes) in /[example.com]/httpdocs/wp-content/plugins/better-wp-security/modules/free/backup/class-itsec-backup.php on line 148, referer: [example.com]/wp-admin/themes.php
It was clear from this error that the allocated memory size of 128MB (134217728 bytes) was being exceeded. WordPress memory limits are a common cause of fatal PHP errors and white screens. If this is the case, one thing you could try to do is to increase the memory size limits, however this may not necessarily be the best course of action as exceeded memory limits may be as a result of a memory leak or rogue script in one of your theme or plugin files. Increasing the memory might stop the white screen of death but won’t necessarily fix an underlying problem which could be eating up your resources.
The error message in the example above pointed to an issue with the excellent iThemes Security plugin, in particular the backup generation part. It turned out that the website’s database was too big for this script to export as it had 100’s of posts and pages and 1000’s of comments along with a varying degree of SPAM. Disabling the backup through the plugin fixed the fatal php errors and stopped the blank screens from appearing.