You receive the Error 500 for your WordPress blog.
Your web site works and then “from once” your page is not working any more.
You are not sure if you caused the problem with some of your actions.
Well, here are some guesses:
Error 500 – Internal Server Error may be caused by bad formed .htaccess file. Try to check if your .htaccess file is bad formated. There is no service that checks that as I know. Simple rename the .htaccess to something like .htaccess1. If you still have the problem then the particular .htaccess was not the cause of the problem.
In the era of web-site-for-speed-optimization, file-compression, cache-control, and cookie-free domains usually the speed optimization plugins took the control over the .htaccess file. So if you have a plugin such as W3 Total Cache it may be good to reset the options if you indeed have a problem with the .htaccess file. Maybe to entirely uninstall them for a moment.
If .htaccess is not a problem then at least 2 more problems may be:
PHP Coding Timing Out
If your PHP script makes external network connections, the connections may time out. If too many connections are attempted and time out, this will cause a Error 500 Internal Server Error also.
Plugin or theme function conflicts
In general Internal server errors are usually described in more detail in the server error log. If you have access to your server error log, generate the error again, note the date and time, then immediately check your server error log for any errors that occurred during that time period.
Here is a good reference for the system files: http://kb.mediatemple.net/questions/663/System+Paths#dv_40/access-logs-per-domain
Internal server errors (error 500) are often caused by plugin or theme function conflicts, so if you have access to your admin panel, try deactivating all plugins and try manually resetting your plugins. If that resolves the issue, reactivate each one individually until you find the cause.
If that does not resolve the issue, the theme may cause the problem. Try switching to the Default theme of WordPress.
VPS hosting virtualization is bad.
You have enough system memory on your web server, disk space looks good. The processor usage is in average 10% and everything from the hosting point looks good. However, some of your PHP scripts executes forever and at the end you get error 500 (no forever loops). It may be the virtualization technique your VPS uses, or some other configuration you are not aware. As a rule, if you don’t mess with the hosting settings and sometimes your scripts work and other time your scripts don’t work—it is good sign that you should consider leaving your hosting to something better. This may be the case with OpenVZ.
The biggest disadvantage from a client perspective that you should be concerned about with OpenVZ is that it can easily be over-subscribed. Hosting providers can and do host 20+ virtual machines on a system with 12 GB of ram. Each VPS has 1 GB of ram “assigned” to it. However, not all systems use 1 GB all the time, so the system “robs Peter to pay Paul” when a VPS does need all its memory. It will allow the VPS to access its assigned amount of ram. However if none is available due to other VPS’s using it, contention can get bad and things slow down.
Some bad PHP configuration
PHP can include some libraries that in general can be stored out of the PHP default path. If you use and specify these libraries and you don’t set the path to these libraries in php.ini or via set_include_path you may end in problems. So set these please.
include_path = ".:/var/www/html/some_lib/"