spider web

WordPress can break for a variety of reasons.  Generally when it breaks, you will have one of a few symptoms.  You will get an HTTP error, you will get a blank page, or there will be some broken functionality.  The goal of this article is to troubleshoot the HTTP Error 500 you may see.

HTTP Error 500 means internal server error. This can have a variety of causes. With wordpress there are 4 common causes:

  • Allocated Memory has been exhausted
  • Corrupted .htaccess file
  • corrupted php file
  • Bad plugin

Allocated Memory has been exhausted:

You can adjust the max memory for your site by adding the following to your wp-config.php file in the root folder for your site:

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

The above code can be added anywhere within the <?php> tag

If that does it, then you need ot figure out what is using up so much memory on your wordpress site.

Corrupted .htaccess file

You can try re-creating your .htaccess file to correct this issue. You can connect to your site via ftp, rename the .htaccess file and re-add the content. Here is an example .htaccess file you can use for testing:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Bad Plugin

For me, this is generally the most common cause. If you cannot sign into the site, disabling plugins the conventional way won’t work. However, if you can connect to your site via FTP, you can do the following:

  • Connect to your site via ftp
  • open the wp-content folder
  • rename plugs to plugins.old
  • Attempt to load your site again.

 

If this works, all of your plugins will now be disabled. You can try renaming your plugs.old file back to plugins. and re-test your site.

If successful you will now be able to load your site. If renaming plugins.old back to plugins breask your site again, then open up your plugins folder and start renaming the folder for each plugin to pluginname.old until your site starts working again