The 500 error is mainly caused by corrupted or misconfigured htacess. folders and files with wrong permission attributes can also cause error 500. Abnormally functioning security or related scripts among others, can cause all these problems.

To resolve this, the website need to be regularly maintained by
  1. Updating the scripts
  2. Monitoring the performance of the scripts, bad one need to be removed or replaced
  3. Database need to be optimized
  4. htacess file and wp-config.php files need also to be monitored and optimized
  5. Security extensions need to be optimized
  6. If folders and files with wrong permission attribute, need to be resolved
  7. ETC