500 Internal Server Error in WordPress – how to fix it


500 Internal Server Error in WordPress is something that we see very often while developing WordPress websites. There are a lot of reasons that can cause the Internal Server Error trouble in WordPress. And if it happens to you – our 500 Internal Server Error in WordPress – how to fix it tutorial comes in to help you resolve the situation.

First – there is no need to panic. Just for your information, most of the people using WordPress have come across this problem and 100% of them have solved it. The reasons can vary and the inconvenient part is that nothing in the message gives you a hint what exactly to check. So if you do not remember messing up any of the points listed below…just start from the very first one and keep trying with the next one till it works for you.

What can cause 500 Internal Server Error in WordPress 

Let’s see which are the most common reasons for seeing this page and then I will give a detailed explanation and the exact steps to help you easily fix the problem :

1. Specific plugin or several plugins that can not be combined and cannot work together

2. Corrupted .htaccess File

3. Reached PHP Memory limit

4. Incompatible Theme

5. Wrong Permissions

6. Hosting Server issue

Specific plugin or several plugins that can not be combined causing 500 Internal Server Error in WordPress

It is really likely to have the problem caused by an inappropriate plugin or plugin combination. The inconvenient part here is that if you do not see the error exactly after the plugin installation ( in this case you can just deactivate this specific plugin and have your website back to normal )..there is no chance to find our which one exactly is causing you the 500 Internal Server Error in WordPress. The most common practice here is to disable all plugins and see if this will fix your website. Of course, this will not delete them all, but it will just deactivate them to help you understand if the problem is plugin related.

Let me now explain how you can easily deactivate in bulk all the plugins without having to delete them. There are few ways to do this depending on your experience and your preferences.

1. You can do this in your cPanel

Go to the File Manager and open the folder where you have your WordPress installation. Once there, select the /wp-content/plugins and simply rename it to whatever you like ( /wp-content/plugins.broken for example). Now all your plugins are deactivated. Now you will probably not be able to access your WordPress admin panel. You simply need to go back to the cPanel file manager and rename the /wp-content/plugins.broken back to /wp-content/plugins and refresh your WordPress admin backend. When you login and navigate to the Plugins option to see all your plugins there, but deactivated. Start activating them one by one to find out which one is causing you the trouble. When you find it by seeing the 500 Internal Server Error in WordPress again, delete this plugin and find an alternative one that is suitable for your website.

2. The second way you can do this is via FTP

This option is recommendable if you are used working with FTP. Renaming the file to deactivate the plugins takes less than a minute. Again – find the /wp-content/ folder and navigate to the plugins one. In our case, rename the folder to: /wp-content/plugins.broken and you are done. If the issue is plugin related, log in to your WordPress admin backend and then go back to /wp-content and rename the folder back to /wp-content/plugins. Start activating the plugins again one by one till you find the bad one.

3. The third option is to do it via the phpMyAdmin

Go in the wp_options table there and navigate to “active_plugins”. Simply change the value of that option to a:0:{} and the work is done.

Corrupted .htaccess file causing 500 Internal Server Error in WordPress

You can quickly give this option a try by logging in your cPanel and following the steps below

  1. Click on the File Manager icon.
  2. Tick the”Show Hidden Files” option
  3. Click Go. The File Manager will open in a new tab.
  4. Find the .htaccess file.
  5. Right click on the .htaccess file and rename it to .htaccess.new. You can also rename it by clicking on the icon for the .htaccess file and then click on the Rename icon which is placed at the top of the page.

Then go to your WordPress admin area and click on the Settings > Permalinks. Save the changes and reload your website. If the problem was in your .htaccess file, you should see your website up and running now.

There is an alternative way to rename your .htaccess file using FTP. Find it there and rename it. Reload your website and see the results.

Reached PHP Memory limit causing 500 Internal Server Error in WordPress

In your wp-config.php file you can easily edit the PHP Memory limit. Simply add a line inside the main php tag : 1define(‘WP_MEMORY_LIMIT’, ’64M’);. This action will definitely fix the issue if you have seen message like : “Fatal Error: Allowed memory size of xxx bytes exhausted”. But if you haven’t seen this message- the problem may not be memory limit related.

If this does not help, you can contact your Hosting provider and ask them to check the logs and help you solve the problem.

Wrong Permissions causing 500 Internal Server Error in WordPress

Not very common, but sometimes the error “500 Internal Server Error” appears in WordPress when .php files have incorrect permissions. If you have your permissions set to 777 for example, then you will see “500 Internal Server Error” on your WordPress website.

In order to check this go to your cPanel and open the File Manager. Click at the name of the file/folder and navigate to the Change Permissions option, enter the correct ones (755) and Save by clicking at the Change Permissions button. If the permissions were set incorrectly – this should fix the problem. If not – we will continue showing you what to do depending on what is causing the issue.

Incompatible theme causing 500 Internal Server Error in WordPress

Similar to the  plugins, you can just rename your theme. Once you do this and go to your WordPress admin back end you will see a notification that you are back to the default theme. Check your WordPress website. If it is working- this means that something is wrong with the theme. Unfortunately if this happens the best you can do is to choose another theme for your project. If you insist on having this one, then contact your hosting provider and see if they will be able to help you analyze where exactly the problem is and what changes are needed. Contacting an experienced developer to take a look at your theme, might be a good idea too.

If it is your hosting provider causing 500 Internal Server Error in WordPress

Contacting your hosting provider is always a good idea when you have a problem with your WordPress website. It is really important to choose a host that has 24/7 support. But mainly look for one that knows WordPress in debts. Having a reliable hosting partner can play a key role for your project and can save you a lot of time, so that you can invest more time in other important things to improve your website. Almost all companies claim to have “optimized WordPress environment”, but my personal advise is to check before you choose. Ask different questions to understand how far they can support your project.

As for the 500 Internal Server Error in WordPress, they will most likely look at the server logs and provide you with a solution.

One different tip from me if none of the options above work for you: Re-upload the Core Files by getting them from a new WordPress install. Re-upload the wp-admin and wp-includes folders. And do not worry – none of your information can be affected, it will just help you in case any file was corrupted.

Thank you for reading this WordPress tutorial on 500 Internal Server Error in WordPress – how to fix it? I really hope I have managed to help with the most common solutions. This article will be expanded once new fixes are getting more common and popular, so that we can cover most of the cases and help more people quickly solve the 500 Internal Server Error in WordPress. Feel free to share and comment.