How to Fix the Internal Server Error in WordPress

Internal Server Error
By Tapas Pal Updated

Bad news broke and you are in big trouble because it’s an HTTP 500 Internal Server Error. Your visitor will hit a dead end and will leave as soon as they land. This means a direct increase in your sites bounce rate. Bounce rate’s are bad signs as far as search engines are concerned. Your SEO rankings will take a hit. Today we will look at most common solutions to this infamous error.

What is 500 Internal Server Error

HTTP 500 Internal Server error is an all in one message saying that something is wrong with the server so it can’t  display the requested URL. It’s not descriptive at all. 500 in that error message is the response code. The word internal represents that the error is caused on the server side and not on the client side.

What does it mean in WordPress

This error is not tied to anything and can pop up absolutely anywhere. It has nothing to do with WordPress. It can occur in any site no matter whether it’s on WordPress or not.  A simple mistake of typing a wrong URL might land you in this error. It’s a lame message asking you to find a needle in a haystack. In most cases it has something to do with the sites programming or the server configuration. But it can be anything really.

Before we proceed

Hold on there buddy. Are you sure that there is an actual error? Try another browser. Clear all browser cache and reload the browser a few times. Check the URL properly. Maybe it loads already. If everything failed, then it’s time to investigate.

Common causes of Internal Server Error in WordPress

In this article. we have narrowed down our investigation to a few well-known culprits who commit this crime.

  • Invalid .htacess configuration file
  • PHP memory limit
  • Invalid WordPress plugin
  • Invalid WordPress theme
  • Corrupted Core files

Invalid .htacess configuration file

If the “.htacess” file gets corrupted, then you will get the internal server error. This file is normally located in the root directory of your WordPress installation, the one that holds “wp-admin” and “wp-content” folders. Use an FTP client or cPanel file manager to access this file and rename it to “.htacess.old”. Make sure that hidden files are visible or else this file won’t be visible.

Now go back to your site and check if it loads. If it does then congrats! There is one more thing you need to do before your WordPress site is fully functional. Visit your Dashboard > Permalink and click “Save Changes”. This will force WordPress to generate a new “.htacess” file for you. Now visit some of your posts to see if everything shows up.

PHP memory limit

If your PHP memory limit gets exhausted, you will get “500 Internal Server Error”. This is especially bad if you are in a shared host and are stuck with what you get. Try and increase WordPress memory limit and see if it helps. Login to an FTP client or your cPanel file manager and open “wp-config.php”. Add the following line of code

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

If the error is taking place only when you are trying to upload a file or trying to access the backend, then follow the steps below to increase your memory limit

  • Create a file called “php.ini” in “wp-admin” folder present in your WordPress installation directory
  • Edit the file and add this line  memory=64MB
  • Save and reupload the file

This seems to have worked for many users. If any of this two methods solved your problem, then you need to contact your host team right now. They will help you figure out what’s consuming all your memory. They will be able to use the server log files to trace what’s wrong with the server.

Invalid WordPress plugins

If you got the error right after installing a new plugin, then you can be certain that this plugin is not compatible with your system. Use an FTP client or your cPanel file manager to remove the newly installed plugin. You can find it in the “wp-content/plugins” folder located in the root WordPress directory.If that didn’t work, then maybe it’s one of the other plugins. Unfortunately, there is no easy way to figure out what plugin is causing the problem. The easiest way is to deactivate all plugins at once. Don’t worry as all plugin related data will still be available.

If that didn’t work, then maybe it’s one of the other plugins. Unfortunately, there is no easy way to figure out what plugin is causing the problem. The easiest way is to deactivate all plugins at once. Don’t worry as all plugin related data will still be available.

The easiest way is to deactivate all plugins at once is to rename “plugins” folder located inside “wp-content” to something like “plugins.old”. Now reload your site to see it’s running. If it does then it is one of the plugins that is causing the problem. Re-activate all the plugins, testing each one at a time until you find the faulty one. Remove it. Chances are there is already a better alternative available. Search and install it.

Invalid WordPress theme

A badly coded theme can also cause HTTP Error 500. The easiest way is to rename the folder storing the currently active theme to something else. All themes are located inside the “wp-content/themes” folder. Adding an underscore to the front or end of the active theme folder will be sufficient. WordPress will fall back to the default theme. If the site starts working again, then remove the theme and switch to another one.

Corrupted Core files

If everything else failed, download a fresh copy of WordPress and reupload “wp-admin” and “wp-includes” folder. If the core was somehow corrupted, then this will solve your problem. All your information will be available as long as you don’t overwrite “wp-content” folder and “wp-config.php” file.

Contact your hosting support

So, nothing helped? Tell you what, this is a good time to get on the phone and contact your hosting support. Let them know of what you tried. This will speed up the process.


Rest assured that the “500 Internal Server Error” is fixable. The worst you can do is panic. Your site will be up and running in no time if you do proper inspections. If uncertain, get in touch with your support team instead of making things worse.

So, did any of the methods listed here helped you in solving HTTP Error 500 error. Did you do something different? Do you know any other reasons why this is happening? Share you knowledge and experience with us in the comments section below.