Here you will find important information regarding the situations where your site returns a 500 Internal Server Error after installing a theme, WordPress or a WordPress plugin. 

 

It appears because of:

  • Conflicting third party plugins

  • The incorrect web server configuration

  • PHP memory limits that are set too low

  • Incorrect folder/file permission

  • Corrupt files or files that contain errors in code

 

1. Conflicting third party plugins - deactivate them

Go to the admin area, login and deactivate all plugins. Afterwards, check your frontpage again. If it loads without error, then you have a plugin conflict and you must start activation each plugin. When that error appears again, it means that the last plugin you activated is the one that needs deactivating. Check the others as well to make sure that it was the only one. 

However, if the error appears on the front end and the back end admin area, then you must access the site through a FTP client. Change the name of your wp-content/plugins folder to something else temporarily like “plugins.bak.” This will make WordPress ignore your plugins. Afterwards check to see if this solved the problem. If it did, log into your admin section and then change your plugin.bak folder back to plugins . Deactivate all of your plugins via your admin page.

 

2. Incorrect web server configuration

This can happen when your web server is configured with incorrect directives. Check the other causes first, and if needed, call the web host so solve the problem.


3. PHP memory limits that are set too low

  • Get your host to increase the limit

  • Or choose to upload your theme through a FTP client. In the Video section of the forum you will find a video tutorial that explains how to do that.


4. Incorrect folder/file permission

You generally must set the themes, file permission for WordPress and plugins at 644 for files and 755 for folders. It’s a fine line between setting the permissions too strict or too loose. That’s why you must set them exactly at those parameters. 


5. Corrupt files or files that contain errors in code

This can be caused by errors in file transfers to the web server. An often example is when you upload a text file in binary language,  instead of ascii it will render the file unreadable by the web server. This error can also be caused by a coding error, whether it is in a theme, WordPress or plugin.

  • If theme related, delete it and reinstall it.

  • Sometimes you need to reinstall WordPress.

  • However, if it is plugin related, you must deactivate all the plugins in order to solve the error.


However, the most common 500 error is caused by a file related to the WordPress .htaccess file. That file is designed to be used with  custom permalink structures. However, this is used by third party plugins and for overriding certain server configuration directives if allowed. If it contains errors, then the error will continue. You will find the file in the root folder of your WordPress installation.

  • log into your site via FTP (Filezilla, etc.)

  • download a copy of your .htaccess file, rename the copy e.g. “.htaccess-backup”

  • delete the .htaccess file residing on your Web server

  • create a new blank file called “.htaccess” on your PC/laptop/Mac

  • upload this new file to your Web server in the same place as the original .htaccess (which you deleted)

  • navigate to your WordPress admin URL, e.g. http://www.yoursite.com/wordpress/wp-admin, and you should now be able to log in!

  • finally, once logged in, navigate to the Permalinks settings page in the admin console. Simply going to the settings page should enable WordPress to write the correct .htaccess declarations itself. You should now be able to navigate to www.yoursite.com or http://www.yoursite.com/wordpress (depending on whether WordPress is running your entire site or just a blog etc.) and all should be well once more.


The recommended PHP configuration limits are the ones below:

  • max_execution_time 300

  • memory_limit 128M

  • post_max_size 32M

  • upload_max_filesize 32M


How do you verify your current PHP limits?

You can simply install a plugin found here. You can also contact the host and ask them what are the settings are and have them adjusted if needed.