How to fix WordPress 500 Internal Server Error

WordPress 500 internal server error is one of the common WordPress errors you will encounter as a WordPress publisher. 

This error is usually caused by something getting corrupted in your WordPress files or by an issue on your hosting provider’s server.

This error can be frustrating especially for WordPress beginners because it doesn’t tell you what the problem is. You’ll need to have a bit of patience and perseverance along with the basic WordPress troubleshooting skills to find and fix WordPress 500 internal server error.

Before we start on how to fix the WordPress 500 internal server error, let’s start with something different.

 

The HTTP Error 500 is a standard status codes defined in the HTTP protocol. Whilst many people are familiar with other HTTP errors such as 404 (not found) or 301 (redirect), few people actually understand the 500 server error.

In general, anything started with 5** means that a server error happened - a client tried to perform a valid request on the server, but the server had a problem fulfilling this request due to a problem on the server.

To paraphrase this using Wikipedia terminology

Response status codes beginning with the digit "5" indicate cases in which the server is aware that it has encountered an error or is otherwise incapable of performing the request.

Of course, if your website is running on WordPress, this means that the web server powering your site encountered an error on WordPress (or otherwise) where it was not able to fulfill the request.

If WordPress 500 internal server error is encountered, you’ll see a page like this when accessing your website. See the screenshot below.

wordpress 500 internal server error 

However, if you’re seeing a WordPress blank page instead of the above error message, it is a different issue. In that case, instead of following the below guide, take a look at this guide: WordPress Blank Page: Find and Fix the Source of White Screen of Death

Let’s take a look at some of the key issues that cause WordPress 500 internal server error and learn how to solve them.

Note: As always, take sufficient backups before proceeding. So even if something goes wrong, you can restore your WordPress site.

In case you’re not confident enough to solve the issue by yourself, you may find suitable WordPress developers who could help you diagnose it.

Reasons for causing WordPress 500 internal server error

As said, there can be many reasons for WordPress 500 internal server error. Some of the main reasons are listed below.

  • Corrupt .htaccess file
  • PHP memory limit issues
  • Issue caused by a faulty plugin(s)
  • Corrupt WordPress core files
  • Hosting issue

WordPress 500 internal server error caused by corrupt .htaccess file

In order to troubleshoot your WordPress site for fixing internal server error, one of the first things you need to do is to create a new .htaccess file.

Usually, .htaccess gets corrupted when you try to install a faulty plugin on your site or when you customize your website.

This fix is simple. Just replace your current .htaccess file with a new one.

.htaccess file is typically found in the root directory. This is where you can see other important directories like wp-admin, wp-content and wp-includes.

However, if you’re not seeing .htaccess file in that location, you’ll need to ensure that all hidden files are viewable.

If you’re using FileZilla as your FTP client, go to Server menu and click Force showing hidden files.

Filezilla server show hidden 

You should now be able to see .htaccess file if it was hidden.

Now, you’ll need to rename your .htaccess file. Once done, the next step is to create a new file.  

 rename htaccess

Simply, open a text editor on your PC and copy the below code snippet and paste it.

# BEGIN WordPress

RewriteRule ^index\.php$ – [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

# END WordPress

Save it as a .txt file. Once done, upload the file to the root directory and rename it as .htaccess.

Fixing WordPress 500 internal server error by exceeding PHP memory limit

Similar to corrupt .htaccess file, exhausting PHP memory limit is also a common issue that causes WordPress 500 internal server error.

In order to fix the issue, you’ll need to increase the PHP memory. Follow the below steps.

Open your wp-config.php file. You can find the file in the root directory where your .htaccess file is located.

Copy the below code snippet on it and save the file.

define('WP_MEMORY_LIMIT', '64M');

 wp config increase memory limit

Try doubling the memory. You should also discuss this with your hosting company since there could be some limitations.

For more essential WordPress tweaks like this one, you may refer to this guide: 101 WordPress tricks Every Serious Blogger Needs to Know

If increasing the memory limit fixes your issue, this means you’ve fixed the problem temporarily. You still need to figure out what exhausts the memory limit. This could be due to a faulty plugin or a poorly coded theme function.

You may ask your hosting company to look into the server logs in order to help you figure out the reason for the cause.

Alternatively, try installing P3 (Plugin Performance Profiler) plugin. This plugin helps you to figure out which plugin is degrading the performance of your website and exceeding the memory limit.

P3 scan results 

Refer to this guide if you’d like to learn how to use P3 plugin to profile plugin’s performance: The Ultimate Guide to Analyze and fix Performance of Your WordPress Website. In this guide, look for the section P3 (Plugin Performance Profiler).

Note: if your website is frequently exceeding its limit, you might want to consider switching your WordPress host to a premium hosting provider like InMotion VPS hosting server. InMotion has burstable memory, so during temporary peak loads, it ensures your site doesn’t exceed the memory limit, which avoids WordPress 500 internal server error.

A faulty plugin might also cause WordPress 500 internal server error

If none of the above solutions solved your issue, probably the issue is caused by a faulty plugin you installed on your server.

Simply rename the plugins’ directory and check if fixes WordPress 500 internal server error. If renaming the directory fixes the issue, it indicates that one or more of your plugins is the reason for the problem.

In order to find the exact faulty plugin, first of all, reinstate the plugin directory’s name. This means, all of your plugins are now activated. Try deactivating all of your plugins first. Then, reactivating them one by one till you find the faulty plugin.

 

edit plugin directory

Once you found it, get rid of that plugin from your website and report it to the plugin author.

Additionally, you can enable WordPress debugging to figure out the root cause of the issue. Follow this guide to learn everything you need to know about enabling WordPress debugging.

Reupload WordPress core files and check if it fixes WordPress 500 internal server error

If the above solutions don’t fix your problem, chances are it is caused by corrupted core files.

In that case, download the latest WordPress on your local computer. Then, reupload wp-admin and wp-includes folder from that fresh WordPress install to your WordPress website.

corrupt core files 

If the problem is caused by corrupted files, reuploading should fix the issue.

Contact your hosting provider

In case none of the above steps help you to find a solution for WordPress 500 internal server error, you’ll need to get in touch with your web hosting provider.

The quality of the response you receive for your support request differs between hosts. It is very likely that many hosts shrug the issue off and blame your site’s WordPress files for the downtime.

So it is very important that you go through all of the above steps before getting in touch with your host.

By looking at the server logs, they should be able to find what causes the issue.

Have you ever encountered WordPress 500 internal server error? How did you fix it? Let us know by dropping a comment below.

One more thing...

Do you have friends or a Facebook group who you think would find this useful? Share this with them and then let me know what they think.

Want to supercharge your website?

 
Our website loads FAST ... just 1.29 seconds. We're hosted on FAST InMotion VPS servers We want YOUR website to be fast too, so we've gotten you an exclusive deal - 47% OFF for DART Creations friends + FREE domain! Check it out NOW!