How to Fix the WordPress White Screen of DeathInternal server error is one of the most common WordPress errors. Since the error doesn’t give any other information, many beginners find it quite frustrating.
In this article, we will show you how to easily fix the 500 Internal Server Error in WordPress. In case you get the Error Establishing Database Connection we also have a blog post here. If you simply see a blank white screen our tutorial How to Fix the WordPress White Screen of Death may be of interest for you.
|Error code||HTTP Error 500|
|Error type||Code error|
What Causes Internal Server Error in WordPress?
The 500 Internal server error also occurs on sites other than those made with WordPress. Any website hosted on the internet is vulnerable. A browser requests sources from a web server and the web server returns those requested resources (CSS, HTML, PHP, etc.) along with an HTTP header that indicates the response status. A status code of 200 indicates a successful request while a code of 500 indicates an error. It’s kind of tough to figure out where to begin troubleshooting. The error message usually is super generic. Because there are so many different kinds of web servers, browsers and operating systems out there sometimes it can literally the search for the needle in the haystack what exactly caused the malfunction.
Corrupted .htaccess files, malfunctioning Plugins or theme functions often cause an internal server error in WordPress. Quite common is that PHP memory limits cause an internal server error in WordPress, too. Did you change the theme eventually? A new theme or updated one is another common cause of HTTP status code 500.
Having stated that, let’s go on to our first troubleshooting step. Let us investigate the cause of the 500 internal server issue in WordPress and find a solution.
It sounds trivial but waiting a minute or two and then refreshing the page is the first step to take. If the site goes down because of temporary server or hosting issues, it should be back up and running quickly. This happens more often than you might think. Many times just the hosting company had a glitch or a short outage.
Furthermore, after updating a plugin or theme, it is not unusual for a site to be inaccessible for a brief period of time, especially if your host is not the fastest machine on earth. Typically, this issue disappears after a couple of minutes and a page refresh.
Use a different browser to look at the page
Try opening a different browser to see if the error still happens there. If the page loads fine on one browser but not on another, it’s probably a browser problem. Wait a few minutes, then reload the page to see if the problem has been fixed.
Clear the browser’s cache and delete cookies
Empty your browser’s cache and get rid of cookies. For these tasks, each browser has its own simple steps to follow. If you can’t find the options quickly, it’s best to look up how to do it in the browser you’re using (the image below shows where to find the settings in Chrome). For Google Chrome, you can find it under Settings > Browsing History > Clear Browsing Data.
Restart the browser, and then try the webpage again.
Checking for Corrupt .htaccess File
When you are troubleshooting the 500 internal server problem in WordPress, the first thing you should do is check to see whether the .htaccess file has become damaged.
You can do this by renaming your main .htaccess file to htaccess old or something similar. To change the name of the htaccess file, you need to log in to your platform using FTP or the File Manager app in the cPanel dashboard of your hosting account.
Once you’re connected, the .htaccess file will be in the same directory as the wp-content, wp-admin, and wp-includes folders.
After you have changed the name of the htaccess file, you should go to your website to check if the issue has been resolved. If it did, congratulations.
Before you do anything else, make sure you go to the Settings » Permalinks page in the WordPress admin area and click the save button without making any changes. This will create a new htaccess file for you with the right rewrite rules so that your post pages don’t give a 404 error.
If indeed the solution to check for a broken .htaccess file didn’t work for you, you should keep reading this article.
Checking Theme Errors
Even if you use the best WordPress themes, a 500 internal server error can happen because of a theme. To switch to the default WordPress theme, do the following:
- Open your WordPress dashboard.
- Click Appearance > Themes.
- Activate the Twenty Twenty-Two theme.
- When you turn on a new theme, your old theme will be turned off automatically.
Having trouble getting into your WordPress Dashboard? If you can’t get to your WordPress dashboard, you can still change your theme. Just use the FTP client. Alternatively, you can also change themes by editing the MySQL database via PhpMyAdmin in the control panel.
- Connect via FTP or cPanel to your WordPress Website.
- Locate the folder named “theme.” (You may find it in wp-content).
- Rename the “theme” folder.
- Refresh your WordPress site to see if the error persists.
Your theme’s developer should be contacted if there isn’t any error number at all displayed.
Incompatible PHP Version
Some plugins and scripts only work with certain versions of PHP.
The HTTP 500 Error may show up if the requirements are not met.
To change the PHP version through the cPanel, just log in into your admin panel and go to the PHP configurations under the Advanced tab. Depending on your web hosting company this info can be found in other locations.
If you’re not sure what version of PHP is needed, try upgrading or downgrading. After making changes, don’t forget to save the settings and reload your website.
If it still doesn’t address the issue, change your PHP version to the initial one (which was used at the beginning) and proceed to the next option.
Increasing the PHP Memory Limit
If you have used up all of PHP’s memory, you might get an internal server error.
If you only see the internal server error when you try to log in to your WordPress admin or when you try to upload an image in your wp-admin it could be probably that your PHP is running out of memory. You will need to increase the PHP Memory Limit.
First you might want to check the current setting of your memory limit before attempting to increase it. You can accomplish this through the WordPress admin dashboard. Keep in mind that you won’t be able to access the dashboard with some 500 error variations. If so, you might have to forego this step.
Go to Tools > Site Health in the WordPress dashboard. Scroll down to the Server section after clicking Info at the top of the screen. There you ought to see the PHP memory limit.
There are several methods to increase the memory limit:
The first one is modifying the .htaccess file. It is typically located in your site’s root directory. Open the file with an editor and add the following code:
php_value memory_limit xxx
Replace the “xxx” with the desired amount of memory, the majority these days are using 512.
Another way to increase your memory limit is by editing the php.ini file. It is usually located in the root directory. If you cannot find a php.ini file go bold and create one. Add or update to its code the following:
memory_limit = 512MB
The third option is adding simply the following code at the top of your wp-config.php file:
If increasing the amount of memory helped you solve the problem, you have only fixed it temporarily. You still haven’t solved the mystery of what’s causing your memory to run out so quickly.
This could be a theme function or a plugin with bad code. We strongly suggest that you ask the company that hosts your WordPress site to look at the server logs to help you figure out the exact diagnostics.
If increasing the amount of memory PHP didn’t solve the problem, you’ll need to dig deeper and do some more troubleshooting.
Access your server error log
The information in the error logs on your website may shed light on the 500 internal server error root cause. You should look at these logs as soon as you can. In many cases they might be cycled quite frequently.
By using SFTP to access your site’s files and searching for the /logs directory, you can check your error logs. Select the website that is having the problem next. At this point, you might see several directories. The one with the most recent date is the one you should take a closer look at. Some web hosting companies do not provide direct access to the error logs. If this is the case, you will have to ask the support team to give you the necessary permissions.
You can view the log by downloading it and opening it with your preferred text editor. Hopefully, your error logs will provide you with some additional context for the 500 error.
Using WordPress Debugging
If the step above didn’t work to fix the 500 internal server error in WordPress you can make use of its own special debugging system to troubleshoot the issue. It generates an error log in the wp_content folder. All you need to do is to enable the so-called WordPress Debug feature.
You can do this by connecting to your site via SFTP and modifying the wp-config.php file. Look for the following line:
Replace it with the following:
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_DISPLAY', false ); define( 'WP_DEBUG_LOG', true );
This will create a debug.log file, which you can find under the /wp-content/ directory. Just be sure to change the WP_DEBUG value back to “false” when you’re done troubleshooting the internal server error.
Deactivate all Plugins
If none of the alternatives presented above worked for you, then this problem is very certainly being caused by one of the plugins that are installed on your site. It could also be a combination of plugins that don’t get along with each other.
Tragically, there is no straightforward way to discover this info. You have to turn off all the WordPress plugins at the same time.
To do so, follow another of our tutorials:How to Deactivate All Plugins in WordPress.
Follow the steps in our video above or read our guide on how to turn off all plugins in WordPress without using WP-Admin – you will need access to your PhpMyAdmin or Files Access via FTP.
If the server error went away when you turned off all plugins, you know that one of the plugins is to blame.
Just go to the admin area of WordPress and click on “Plugins.”
You must now reactivate each plugin one at a time to determine which plugin was the source of the issue. Remove this nasty plugin and let the developer of the plugin know about the issue it’s causing (and how many hours you invested to find it out 😉 ).
Re-uploading Core Files
If the plugin option didn’t fix the 500 internal server error, you can try to re-upload the wp-admin and wp-includes folders from a fresh WordPress install. Perhaps you have corrupted files inside your installation.
This will NOT get rid of any of your information, but if a file was corrupted, it may fix the problem.
You will first need to go to WordPress.org and click on the Download button.
This will put a zip file of WordPress Core on your computer. You need to unzip the file, and inside you will find a folder called “WordPress.”
Next, you have to use an FTP client (FTPZilla or Cyberduck for example) to connect to your WordPress Website. Once you’re connected, go to your site’s root folder. It is the folder that contains wp-admin, wp-includes, and wp-content.
Before continuing, you of course download some copies of the current folders to your Hard drive or cloud. It is always better safe than sorry.
Open the WordPress folder on your computer in the left column. Now, you must right-click on the wp-includes and wp-admin folders and choose “Upload.”
This folder will now be sent to your server by your FTP client. It will ask whether you want to replace the files or not. Choose ‘Overwrite,’ and then choose ‘Always use this action’ from the drop-down menu.
The older versions of your WordPress files will now be replaced with newer, more up-to-date copies by your FTP client. This step will fix the internal server error if your WordPress files were damaged.
Ask your Hosting Provider
If none of these methods work to fix the internal server error on your website, it’s time to get more help. Contact the support team of your web hosting company. They should have a look at the server logs and find the cause of the error.
We hope this article explained how to fix the 500 internal Server Error in WordPress. If the error nonetheless persists, it may be helpful to hire a WordPress developer to help you identify and address the problem.
It’s important to fix the 500 Internal Server Error as soon as possible, as it can prevent you from accessing your website and cause problems for your visitors.
Markus Schad | Senior SEO Strategist
Markus Schad is Senior SEO Consultant with over 8 years experience in getting more traffic and visitors for his customers. He is the founder of Commander-SEO.com.