How to Fix the WordPress 500 Internal Server Error

Everyone from a developer to a designer will face the 500 internal server error once, twice or even more times in their life. And like with most internal server errors, people who get them only want to get rid of them but not put in any effort into understanding the cause(s) of them.

Need help fixing the 500 #internalservererror? This article has got you covered! Click To Tweet

While in some cases this might be enough to solve the issue temporarily, it won’t be enough to stop the error from reoccurring. Meaning that if you don’t know all the ins and outs of the 500 internal server error you are most probably going to deal with it on a regular basis.

To help you not to land yourself in this sticky situation, in this article we will do our best to give you a clear explanation of what the error is, what causes it, and how to resolve it using a number of different methods.

Meaning Behind the 500 HTTP Error

The 500 internal server error comes from the family of 500x responses which are also known as server errors.

Error graphic art

Just by their name alone, you can assume that these errors are a “pretty big deal” since they are related to the server itself. And for those of you that don’t know, server errors are especially damaging because once they occur, they can crash your entire site making it inaccessible to you and your users.

In this error family, there are quite a few variations of the 500 error, but the most common ones are:

  • The 503 service unavailable error
  • The 502 bad gateway error
  • The 500 internal server error

Although knowing the meaning and the methods of resolving for the 503 and 502 errors is equally as important, that is a topic for another time.

Our focus will be specifically on the 500 internal server error, so let’s start by seeing the definition behind it.

The 500 internal server error means that a server of a particular site you are trying to reach has encountered a situation in which it is unable to fulfill a request.

Due to a big number of different operating systems, web servers, and browsers this error is known not only as of the 500 internal server error but also: HTTP 500, 500 error, HTTP error 500, and so on.

Alongside its name, when you encounter this error, you will most probably be greeted a message along the lines of: “Your request was unable to be completed due to an internal server error or misconfiguration”.

Maybe the worst aspect of the 500 error is that it is very broad, meaning that it can be caused by a number of different things. For this reason, it is very important that you familiarize yourself with its most common causes.

Causes Behind the 500 Internal Server Error and Their Solutions

You have migrated an old site to new hosting

Server room

When you migrate an older site to newer hosting you will most likely have a conflict between the PHP versions related to your server. Why?

Well, if your site or any of its plugins don’t support the newer PHP version, the 500 internal server error will be generated. This type of error is commonly known as, you guessed it, “migration server error”.

Solution – Create a copy of your themes and plugins and then delete all of them from your site. To do so, you can use the WP Reset plugin which will allow you to reset an entire site or just specific aspects of it with just a click.

Using it, you will even be able to delete plugins while your site is down using something called the Emergency Recovery Script.

On top of all that, this plugin will come with lots more very useful features such as the collections feature that gives you the option to compile a collection of your must-have plugins and themes which can then be installed whenever you need it and as many times as you want.

Also, since the collections you create are stored on the cloud you can access and include them in any site that has the WP Reset plugin installed.

A .htaccess Apache configuration error has occurred 

In some cases, when you are configuring a plugin, that plugin can add extra code to your .htaccess file, and in turn, cause the 500 internal server error as well as a bad plugin configuration, because Apache was modified in real time.

Solution – Access the site’s .htaccess file through an FTP client (cPanel, Plesk) and remove the code that was added by the plugin, that is, if you know which exact piece of code isn’t supposed to be there. If not, you should then replace the entire .htaccess file with the default WordPress .htaccess file.

You have a problematic plugin installed

Plugins tab

Even without any migration taking place, plugins can cause errors on their own either by simply being corrupted or by not functioning properly with other plugins.

Solution – As you might have guessed, this can be resolved by deactivating all the plugins currently on the site. As mentioned earlier, you can do so with just one click using the WP Reset plugin. 

If this method works and your 500 internal server error isn’t there anymore, then you can be sure that it was caused by a plugin. Now, the next thing you should do is go into your plugins section and activate the plugins one by one so you can find out which pesky plugin caused the error.

There is an issue with the PHP memory limit 

PHP code

Sometimes when you try to upload an image or even log into WP-admin you might get the 500 error because the PHP memory limit has been exhausted.

Solution – The obvious solution to this issue is to increase the PHP memory limit, which is done by opening your site’s root directory and locating the wp-config.php file.

Next, you should download wp-config.php file and open it in a text editor.

Once you have done that, add this line to the file before the opening PHP tag:

define(‘WP_MEMORY_LIMIT’, ’64M’);.

Lastly, just save the file, re-upload it to the root directory and refresh your site. 

Your site has corrupted WordPress core files 

Person holding a WordPress sign

As their name suggests these WordPress core files are crucial for the proper functioning of your site, so if they get corrupted in any way, they might be the cause of a 500 internal server error.

Solution –To get rid of corrupted files you first need to back up your site.

After you have a backup safely stored on either your computer on the cloud, you can then download a fresh WP version from WordPress.org

Next, extract that folder and use an FTP client to connect to your site.

Now go into the site’s root folder, select wp-admin and wp-includes, and upload the extracted folder.

Note: When this folder gets transferred to your server, the server will ask you if it can overwrite existing core files. For this, you can select the option to replace old files with the new ones.

Last Resort Solution

If you have tried each of the methods mentioned above and the error is still present, you can always try contacting your hosting provider in the hopes that their technical experts can resolve the issue.

Two customer support agents

At the end of the day, it is a server issue, and servers are what hosting providers specialize in.

Conclusion

We understand how frustrating facing the 500 internal server error can be. But with the methods we mentioned in this article, you should hopefully get rid of them in no time.

Thank you for reading and we hope we helped at least in some way!

1 thought on “How to Fix the WordPress 500 Internal Server Error”

  1. When i try to activate new theme (free theme) i had issue “HTTP ERROR 500” on my WordPress website i try to install WordPress again but still found same issue. Now on your solution step 2 on my file wp-config.php have no “define(‘WP_MEMORY_LIMIT’, ’64M’);” please help me. Thank you so much.

    Reply

Leave a Comment