The 500 Internal Server error it is most common and general error, that will be shown when there’s a problem with the server or with the WordPress file system. It is the most unhelpful and nondescript bane of web developers everywhere. It’s a catchall error message that can literally mean anything.
Let’s have a look how to troubleshoot this error.
Backup your site
I am highly recommending to backup your site before proceeding this troubleshooting. To find the core of the issue we will make changes in the root directory of the site. So if something will go wrong, you can always restore it.
Deactivate all your plugins
If you have access to your site from the back end, go to Plugins > All Plugins. Select all your plugins, choose “Deactivate” from Bulk Options and Apply changes.
Check if the 500 Internal Server error is gone from the front page. If it is gone, activate one plugin at the time to find out which one is causing this error.
If you don’t have access to the backend of your site, use FTP client of File Manager on your cPanel to access WordPress directory files.
Using FTP client
If you are already familiar with the FTP client, please skip this section.
If you are a PC user, please download FileZilla FTP Client from here.
For Mac Users try:
1. Cyberduck; free FTP software designed for Macs
2. Transmit – FTP software you purchase designed for Macs
Once you install FileZilla, use your domain name, username and password to access your host’s file manager.
And you are ready to go!
Access your site from the cPanel
First, log into cPanel. In the Files section, click on the File Manager icon.
Click to expand the public_html folder, nad you will see your WordPress site directory root.
Deactivate your plugins manually
Navigate to the /wp-content/plugins folder and rename the plugins folder to plugins.deactivate. All the plugins will be deactivated after this.
Check your front end if it is working, if it is working, if it is, rename back the plugins.deactivate to plugins. Open the plugins folder and start renaming each plugin folder one by one till the error disappears from your site. This will allow you to reactivate each plugin individually to isolate the offending plugin and resolve the 500 Internal Server Error.
Check the .htaccess file
Open your WordPress root directory in FileZilla or your preferred FTP client. This is typically called public_html. Locate the .htaccess file, download it to your computer to have a backup and delete it from your directory. Try to load your site again, if your site is back, congratulations!
Now, go into your WordPress admin area. Hover over Settings, and select Permalinks. Scroll down to the bottom of the page, and click Save Changes.
Increase your PHP Memory Limit
Sometimes this error can happen if you are exhausting your PHP memory limit. To solve this issue, edit the wp-config.php file that is located in your WordPress directory, along with wp-admin and wp-include folders.
First, check if you have already the following code added:
if it already there changed the 64M to 256, if it is not, place the following line inside the file:
Save the file, and re-upload it to your root directory, overwriting the original file. Refresh the client, and refresh your site. If you still see the error, you are not having PHP memory limit issues. Remove the above code from the wp-config.php file on your computer, save it, and re-upload it to your root directory.
Ask your Hosting Provider
If nothing works, then you need to get in touch with your hosting provider. By looking at the server logs, they should be able to get to the bottom of things.