Did you just try to access your WordPress site only to be met by the dreaded 500 Internal Server Error message? If you’re facing this issue, you probably already know what it looks like. But in case you’re not familiar, the error looks something like this whenever you try to access any page on your WordPress site:
In this post, you’ll learn what causes the Internal Server Error, AKA 500 Internal Server Error. Then, we’ll get to the important part and show you how to fix the Internal Server Error on WordPress.
Let’s get started so that we can get your WordPress site working again in no time!
What Causes the WordPress Internal Server Error Message?
500 Internal Server Error is a generic message when something is going wrong on your server. That’s pretty vague – but the message itself is fairly non-specific. While something like the Error Establishing a Database Connection message indicates a very specific error, 500 Internal server error can be caused by a variety of issues like:
- Problems with your .htaccess file
- Plugin or theme compatibility issues
- Insufficient PHP memory
- Corrupted WordPress core files
Because there are so many potential causes, we recommend going with a diagnostic approach and moving through the list below to try to suss out the specific cause.
How to Fix WordPress Internal Server Error Message
We recommend that you go through this list in order because this order should give you the best chance to fix the issue with as little frustration as possible!
For most of these steps, the only thing that you’ll need is an FTP program (FileZilla is the program used in the screenshots), as well as your FTP credentials to connect to your server. You can get these from your host.
Once you have that, continue on to fix your site.
Regenerate Your Site’s .htaccess File
One common cause of the 500 Internal Server Error is a corrupt .htaccess file. This is one of the first things to check, because fixing the .htaccess file is relatively easy to do.
Your .htaccess file contains important configuration options for your server. Even a small change to your .htaccess file can cause the 500 Internal Server Error. These changes can often be applied automatically by security and cache plugins, as well as anti-spam and redirection plugins too.
To fix your .htaccess file, you need to:
- Rename your existing .htaccess file via FTP
- Check if your WordPress dashboard is now accessible
- Generate a new .htaccess file via WordPress
To rename your existing .htaccess file, connect to your site via FTP and look for the .htaccess file in the root folder of your site. Right-click the file and choose Rename:
Rename the file to something like “.htaccess_old”. The actual name isn’t especially important – as long as it’s different from “.htaccess”.
Then, head to your WordPress dashboard (if it’s accessible) and go to Settings → Permalinks. You don’t need to make any changes – just click Save Changes to have WordPress automatically generate a new .htaccess file:
Hopefully, your site is fixed! If not, keep going.
Deactivate Your Plugins to Check for Plugin Issues
If you’re still having issues, your next step is to deactivate all of your plugins to see if that fixes the issue.
If your site starts working after deactivating your plugins, you know there’s a plugin that’s at least indirectly causing the issue.
Reactivate your plugins one by one until you find the culprit.
Can’t access your WordPress dashboard to deactivate your plugins?
No problem! You can do this via FTP.
Connect to your site via FTP and go to …/wp-content/.
In that folder, create a new folder called plugins_old:
Then, drag all of the folders from …/wp-content/plugins to …/wp-content/plugins_old:
This essentially deactivates all of your plugins in one fell swoop. Then, drag plugin folders from …/wp-content/plugins_old back to …/wp-content/plugins one by one to reactivate them one at a time.
Check your site each time you activate a new plugin to see if it’s causing an issue.
If you don’t want to deactivate all plugins at once, a potentially time-saving trick can be to just deactivate the most recent plugins you’ve added by renaming their individual folder.
Still not working? Soldier on and try something else.
Switch Back to Default WordPress Twenty Seventeen Theme
After you’ve checked your plugins, the next area you can check is your WordPress theme. Try switching back to the default Twenty Seventeen theme to see if that fixes the issue.
You can do this in a similar manner to plugins by going to …/wp-content/themes and renaming the folder for your active theme:
No luck? There are still a few more things to try.
Increase the PHP Memory Limit For Your Site/Server
Another potential cause of the error is that your site is hitting its PHP memory execution limit. Sometimes a plugin may use a large chunk of your memory, which causes your site to hit the limit. This is one of the reasons deactivating your plugins can often get your site working again, at least temporarily.
For a more long-term fix, you can increase your WordPress site’s PHP memory limit.
While there are some methods that let you do this yourself, they don’t work for all hosts.
Rather than beating your head against the wall, we recommend that you just speak directly to your host.
If you ask your host’s support for help with “how to increase the PHP memory execution limit”, they should be able to quickly help you get it done.
Re-upload wp-admin and wp-includes Folders
If nothing has worked so far, a long-shot solution is to try re-uploading your wp-admin and wp-includes folders to fix any potentially corrupted files.
To do that, download the latest version of WordPress from WordPress.org:
Then, extract the ZIP file and upload only the wp-includes and wp-admin folders via FTP.
When your FTP program asks you what to do with duplicate files, make sure to choose the Overwrite option:
Wrapping Things Up
At this point, we hope you were able to fix your WordPress 500 Internal Server Error problem. While there are always fringe cases, these diagnostic steps should give you a good chance at solving the issue.