Are you experiencing 500 internal server error in WordPress?
This guide is for you.
Internal server error is one of the most common WordPress errors. Since the error doesn't give much information, many WordPress users find it quite difficult to solve it themselves.
Here at Ibmi Media, as part of our WordPress Development Services, we regularly help our Customers to fix WordPress related errors.
In this context, you will see how to easily fix internal server error in WordPress.
More information about WordPress 500 Internal Server Error?
The HyperText Transfer Protocol (HTTP) 500 Internal Server Error server error response code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request. This error response is a generic "catch-all" response.
Basically, any syntax errors will cause a 500 Internal Server Error message to be displayed instead of your WordPress website.
What triggers WordPress 500 Internal Server Error?
Internal server error is not specific to WordPress. It can happen with any website running on a web server. Due to the generic nature of this error, it does not tell the developer anything.
Asking how to fix an internal server error is like asking your mechanic how to fix the automobile problem without telling them where the issue is.
Internal server error in WordPress is often caused by plugin or theme functions.
Other possible causes of internal server error in WordPress that we know of are:
i. corrupted .htaccess file
ii. PHP memory limit exceeded.
In other cases, internal server error could show up when you are trying to access the admin area while the rest of the site works fine.
Let us take a look at how to go about troubleshooting the internal server error in WordPress.
How to fix WordPress 500 Internal Server Error?
To fix this error, apply the following tips;
i. Inspect the website .htaccess File for corruption
The first thing you should do when troubleshooting the internal server error in WordPress is check for the corrupted .htaccess file.
You can do so by renaming your main .htaccess file to something like .htaccess_old.
To rename the .htaccess file, you will need to login to your site using FTP or File Manager app in your hosting account's cPanel dashboard.
Once you connected, the .htaccess file will be located in the same directory where you will see folders like wp-content, wp-admin, and wp-includes.
Once you have renamed the .htaccess file, try visiting your site to see if this solved the problem. If it did, then give yourself a pat on the back because you fixed the internal server error.
Before you move on with other things, make sure that you go to "Settings » Permalinks" page in WordPress admin area and click the save button without making any changes. This will generate a new .htaccess file for you with proper rewrite rules to ensure that your post pages do not return a 404 error.
If checking for the corrupt .htaccess file solution did not work for you, then you need to read the rest of this article.
ii. Increasing the PHP Memory Limit
Sometimes internal server error can happen if you are exhausting your PHP memory limit.
Use our tutorial on how to increase PHP memory limit in WordPress to fix that.
If you are seeing the internal server error only when you try to login to your WordPress admin or uploading an image in your wp-admin, then you should increase the memory limit by following these steps:
i. Create a blank text file called php.ini
ii. Paste this code in there: memory=64MB
iii. Save the file
iv. Upload it into your /wp-admin/ folder using FTP
Several users have said that doing the above fixed the admin side problem for them.
If increasing the memory limit fixed the problem for you, then you have only fixed the problem temporarily. You still need to find the cause that is exhausting your memory limit.
This could be a poorly coded plugin or even a theme function. We strongly recommend that you ask your WordPress web hosting company to look into the server logs to help you find the exact diagnostics.
If increasing the PHP memory limit did not fix the issue for you, then you are in for some more troubleshooting.
iii. Deactivate all Plugins
If none of the above solutions worked for you, then this error is most likely being caused by a specific plugin. It is also possible that it is a combination of plugins that are not playing nice with each other.
Unfortunately, there is no easy way to find this out. You have to deactivate all WordPress plugins at once.
If disabling all plugins fixed the error, then you know it is one of the plugins that is causing the error.
Simply go to the WordPress admin area and click on 'Plugins'. Now you need to reactivate one plugin at a time until you find the one that caused the issue.
Get rid of that plugin, and report the error to the plugin author.
iv. Re-uploading Core Files
If the plugin option didn't fix the internal server error, then it is worth re-uploading the wp-admin and wp-includes folder from a fresh WordPress install.
This will NOT remove any of your information, but it may solve the problem in case any file was corrupted.
First you will need to visit the WordPress.org website and click on the Download button.
This will install WordPress zip file to your computer. You need to extract the zip file and inside it you will find a WordPress folder.
Next you need to connect to your WordPress website using an FTP client.
Once connected go to the root folder of your website. It is the folder that has wp-admin, wp-includes, wp-content folders inside it.
Then follow the steps below;
i. In the left column open the WordPress folder on your computer.
ii. Now you need to select wp-includes and wp-admin folders and then right-click and select 'Upload'.
iii. Your FTP client will now transfer those folder to your server. It will ask you whether you would like to overwrite the files.
iv. Select 'Overwrite' and then select 'Always use this action'.
Your FTP client will now replace your older WordPress files with newer fresh copies.
If your WordPress files were corrupted, then this step will fix the internal server error for you.