This error in WordPress is one of the most frustrating errors that occur. The error is not difficult to fix but it is usually not specific and may occur for different reasons, this is the reason why most people dread the error.
A 500 internal server error can present itself in different ways due to the various web servers, operating systems, and browsers. However, they are all communicating the same thing. Below are just a couple of the many different variations you might see on the web:
- “Is currently unable to handle this request. HTTP ERROR 500”
- “HTTP 500”
- “Internal Server Error”
- “HTTP Error 500”
Why is my site loading 500 Internal server error?
The possible causes of this error are;
- Corrupted .htaccess file
- Corrupted WordPress core files
- Plugin conflict
- Exceeding the PHP memory limit
- Issues with third-party plugins and themes.
Before we proceed, we advise that you take a backup of your website before troubleshooting.
Ready to troubleshoot? Let’s get right into it!
1. Reload the Site
First thing you need to do when you encounter the error is to reload the site. It could be that the server is simply overloaded and the site will come right back. You could also confirm if the issue is unique to just you by pasting your website name on downforeveryoneorjustme.com.
The website will let you know if the site is truly down or the error is unique to just you. If the website tells you that your site is up, then you may have to clear your browser cache to remove all cached pages. Then try to visit the site again.
2. Check Your Error Log
Yes, we know the error could be caused by one or more issue but, the error log sometimes tells where the issue is coming from exactly. So, instead of troubleshooting blindly, error log helps to narrow down the issue most especially if it’s resulting from a plugin or theme.
The Error log located in the WordPress directory.
3. Exceeding the PHP memory limit
A 500 internal server error could also be caused by exhausting the PHP memory limit on your server. You could try increasing the limit to, let say 64MB. Follow the instructions below on how to change this limit in the cPanel;
- Login to your cPanel
- Select “PHP version”
- If the PHP version is “5.6 native”, change it to “5.6” then click on “set as current“
- Click on “Switch to PHP Options”
- You can then click on the memory_limit attribute and change its value. Then click on “Save.”
4. Corrupted .htaccess file
The .htaccess file is likely to get corrupt when some changes are made to your website like installing a new plugin, theme, etc and thereby causing a 500 HTTP error.
To determine if there is an error within the .htaccess file you can disable it and create a new one. To do that, follow the steps below;
- Locate the .htaccess file – it is usually in the root WordPress folder (make sure the ‘show hidden files’ option is enabled because this file may be hidden)
- Rename the .htaccess file – it could be like this
.htaccess.bk
- Visit your website to see if this solved the problem
- If the site loads, then it means the issue came from the .htacess file
- Now, you need to generate a new .htaccess file with proper rewrite rules. To do that – login to your WordPress admin -> Settings -> Permalinks and click the save button.
5. Plugin Conflict
Sometimes, 500 internal server error is caused by third-party plugins or theme. From slider plugins to “drag and drop” plugins, we’ve seen several of them cause this error.
To determine if it’s a plugin conflict. Don’t worry, the plugins data won’t be lost. By disabling the plugins, you are deactivating them so the code can stop running. You will have to log in to your server using an FTP client or log in directly to your cPanel.
- Go to wp-content in the WordPress directory, rename the plugins folder to any name – You may rename it to
plugins.bk
. Doing so will deactivate all your plugins.
- Visit your website to see if the problem is fixed.
- If it’s fixed, you can find out which plugin is causing conflict. Log in to your wp-admin =>> plugins
- Start activating them one by one, reloading the site after each activation. When you see the error return, you’ve found the misbehaving plugin. You can contact the plugin developer to assist with the faulty plugin
6. Changing the Theme
If deactivating your plugins doesn’t fix the error, you should try changing the theme to a default theme, Twenty Seventeen.
So, here’s what you need to do – disable your active theme using FTP, to see if it’s the source of the error. Here are the steps you should follow:
- Access your server using an FTP client.
- Locate and access your WordPress root folder.
- Go into the wp-content/themes directory.
- Look for a folder that shares the same (or a similar name) to your active theme.
- Once you identify it, right-click your theme’s folder, choose the Rename option.
- Change your theme name to something like
theme.bk
- Reload the site
If you can access your site without running into a 500 HTTP error, your theme was behind it. You’ll also notice your website probably looks different. That’s because deleting your theme’s folder forces WordPress to replace it with a default one.
Of course, we know you will want to get back your old theme. However, do have in mind that you may run into the error again. That being said, we recommend you re-download the theme from its provider and make sure you’re using the latest version.
If the issue persists, then you may have to use an alternative theme or contact the theme developer.
7. Corrupted WordPress core files
In rare occasions, 500 HTTP error is caused by corrupted core files. You could try the steps below after you have tried the solutions above;
- Download a fresh version of WordPress from the main site
- Move all the WordPress files except the wp-content and wp-config into a new folder (you can name it old wp)
- Now extract the WordPress files directly into the WordPress directory ( file manager -> public_html)
- Remember you didn’t remove wp-content and wp-config? So, you don’t need the new wp-content folder.
Contact Your Host Provider
If after you have taken all the steps above and the issue persists, you may have to contact your web host for further assistance.
The error is so frustrating because it doesn’t always have a clear cause or a clear solution. It requires a lot of troubleshooting, as you’ve learned, but we hope these steps have at least made the task a little less irritating.
Have you ever encountered 500 HTTP error? How did you resolve it? Please share in the comment section!