One of the frustrating errors you will typically encounter in WordPress is the 500 Internal Server Error.
It is a common error message, yet you cannot readily pinpoint the culprit since it is a generic error. It tells you nothing about the problem encountered by WordPress; you have to figure it out for yourself.
500 Internal Server Error can have several causes.
This article will guide you in determining the cause of the error message on your site, and will suggest options on how these problems can be fixed.
What the Error Message Is About
500 Internal Server Error is actually a generic error message displayed on websites being run on a web server.
It is not totally WordPress-specific; it can happen to other websites as long as they run on web servers.
When this error message shows up, it simply means that the file system or server powering your website has encountered some sort of problem.
But the exact problem cannot be determined unless you do a lot of troubleshooting first.
Common Causes of Internal Server Error
There are two main culprits of the Internal Server Error popping out from your WordPress site:
Corrupted .htaccess file
Your WordPress site contains a configuration file called .htaccess file.
It gives you control over all the files and folders in your WordPress directory and sub-directories.
There are times when installing a plugin or theme can harm your site’s .htaccess file. Another possibility is that the file is named differently other than “.htaccess”.
When any of these happens, an internal server error will show up whenever you try to open the website in your browser.
Memory limit exceeded for PHP
Your web hosting provider sets a PHP memory limit for your site depending on the plan you’re using with them. Using shared hosting plans gives you a smaller memory limit compared to the normal hosting plans.
If your WordPress site grew large enough and has various kinds of plugins installed in it, then you might exceed your PHP memory limit, which would result in an internal server error.
Using too many plugins isn’t just the culprit here.
You might have installed a poorly-coded plugin too, and that can also cause the internal server error message on your site.
Troubleshooting 500 Internal Server Error in WordPress
Since you won’t readily know whether your site has a corrupted .htaccess file or has exceeded the PHP memory limit, you have to do trial-and-error to see which of these two are causing error messages on your WordPress site.
You’ll be making several changes in your website’s root directory as you troubleshoot your site. Creating a backup file for your site is highly recommended.
This is so you can save and restore your entire WordPress site in case any of the solutions here did not work for you.
Once you have your site backup files, proceed to the following steps to fix the 500 Internal Server Error on your site:
Set up an FTP Client.
You need to gain access to your site’s files in order to pinpoint and troubleshoot the error message’s origin.
You may use your web hosting provider’s File Manager panel, but you can also set up your own FTP Client for this purpose.
An FTP client gives you an easier way to access and make changes to your site’s core files. The most widely used FTP client is FileZilla, but you can choose whichever client you want to use.
Since FileZilla is the most recommended FTP client option, here are the steps on how to download and connect it to your site:
- Navigate to FileZilla’s homepage (https://filezilla-project.org/).
- Select Download FileZilla Client.
- FileZilla will show recommended operating system specifications for downloading the FTP client on your computer. Check your computer’s exact operating system against those recommended by the site. If it matches perfectly, proceed to clicking Download FileZilla Client.
- If your operating system isn’t the same as those recommended on their site, select Show Additional Download Options It will give you different FileZilla version options. Select one that is suitable for your operating system.
- FileZilla will then download the installer to your computer. Save the file and proceed to installing the program.
- After successful installation, open the FTP client.
- Go to File, then select Site Manager.
- Click on New Site, then type in your WordPress site’s name.
- The following settings will appear. Configure them as follows:
- Host – Type in your domain name.
- Port – Leave this setting blank.
- Protocol – Choose File Transfer Protocol (FTP).
- Encryption – Use Plain FTP.
- Logon Type – Use Normal.
You are now ready to connect to your site’s server. To do this:
- Enter the login information you’re using to open your web host’s file manager. Or you may use the login information for accessing cPanel if your host uses cPanel instead.
- Navigate to Transfer Settings
- Tick the box that says Limit Number of Simultaneous Connections.
- On the Maximum Number of Connections box, type in 8.
- Hit FileZilla will now connect to your site’s server.
You may now access your WordPress site’s root directory and core files.
Create a new .htaccess
Corrupted .htaccess files are the most common culprit of Internal Server error. You simply have to create a new one to replace the corrupted file.
- Use FileZilla, your preferred FTP client, or your web host’s File Manager panel to access your WordPress root directory. The directory’s name is usually You will also know you’re in the right directory if the following folders appear: wp-admin and wp-content.
- Locate your .htaccess Sometimes, this file may be hidden. To view it, click Server, then choose Force Showing Hidden Files.
- Rename your .htaccess file to “.htaccess.bak”. This step will delete your old .htaccess
- Open WordPress admin area.
- Go to Settings, then choose Permalinks.
- Click on Save Changes on the bottom part of the page.
Go to your browser and access your WordPress site. If no 500 Internal Server Error message appears, it means your root file is truly corrupted, and your creation of a new .htaccess file solved the problem.
But if the error message persists, it’s time to move to the next step.
Increase your site’s PHP memory limit.
The next possible cause of the error could be a cap in your PHP memory limit.
WordPress usually tries to increase your site’s memory limits, but it never goes farther than the limits set by your web hosting provider.
To solve the problem, you can manually increase your memory limit by doing the following:
- Access your root directory via File Manager, FileZilla, or any other FTP client.
- Find your wp-config.php file and right-click on it.
- Choose Download and save it to your computer.
- Open your file in a text editor such as NotePad.
- Look for the opening PHP tag and type in this code underneath that line:
- Save your file.
- Upload this edited file on your root directory under the same filename. Overwrite your old wp-config.php
- Refresh your root directory.
Open your website in your browser to check if the error message still comes through. If it doesn’t show up, you’ve successfully increased your PHP memory limits.
But there are still some steps to complete even if the Internal Error message is gone. We’ll get to them in a bit.
If the error message is still there, the problem isn’t exceeding the PHP memory limit. Go back to your root directory and repeat the steps enumerated above.
Only now, you have to delete the line of code you added earlier. Save the file, then re-upload it to the root directory and use the same filename to overwrite the old file.
Delete your plugins one-by-one.
Excess use of PHP memory limit can be attributed to overloading a WordPress site with several plugins. These plugins might also cause the corruption of your .htaccess file.
So, if the prior fixes failed to solve your internal server error message, try deleting your plugins one-by-one from the WordPress admin area, refreshing and checking your website after each deletion.
If the error message disappears after a plugin is deleted, that plugin is likely the culprit of your site’s problem.
If for some reason you cannot open your WordPress admin area, here’s what you need to do:
- Access your root directory via your FTP client.
- Open the folder named wp-content.
- Locate the Plugins folder and rename it to anything you like. This will deactivate all plugins used on your site.
- Refresh your site in your browser. If the error message disappears, then a faulty plugin is indeed the culprit.
- Pinpoint the exact plugin causing the error by activating each plugin one at a time from the root directory. Refresh your site everytime you activate one.
- Once you’ve seen the plugin at-fault, deactivate it, then rename the folder back to
Other Possible Fixes
If you followed the solutions suggested above but still find the error message persists on your WordPress site, you can try these other fixes:
Check your file permissions.
Files and folder permissions must only be either 755 or 644. Any value other than that can cause internal server errors, as well as other problems in your site.
Go to FileZilla or your FTP client to open your root directory. Locate the Permissions tab, then check all the permission values for all your folders and files.
Debug your site using WordPress’s built-in debugging feature.
If you are an experienced developer, all it takes is adding a line of code on your wp-config.php file to enable WordPress’s debug feature.
It can pinpoint all the causes of the internal error your site is experiencing.
Note that this solution is only recommended for advanced site developers, since average site owners may find it hard to spot the differences between major and minor errors on the site.
Debugging live sites might also accidentally show bits of important code to site visitors.
Upload a new WordPress version.
You can try uploading a fresh version of WordPress from WordPress.org if all the above solutions still fail to remove the internal server error.
Make sure you have a backup of your entire site just in case this option still doesn’t work.
- A fresh WordPress version will be downloaded in a zip file on your computer.
- Extract all files, then open the extracted folder.
- Access the root directory from your FTP client.
- Overwrite the old wp-admin and wp-includes files by uploading the freshly-downloaded versions to your root directory.
- Refresh your FTP client.
- Open your site in your browser and check if the error message persists. If it’s gone, corrupted root files are the problem.
Contact your web hosting provider.
If all the solutions fail to solve your site’s 500 Internal Server Error, it’s a good idea to check with your web hosting provider’s support team.
Tell them of your site’s internal server error and let them know all the steps you’ve done to check your site for its possible causes.
Inform them that your root directory isn’t the problem, since you’ve checked them already using the solutions presented above. Ask them if there are issues with their server logs.
If the issue has been determined as a PHP memory limit excess, you can also politely negotiate for an increase with your web hosting provider.
It can be frustrating to find out that your site has a 500 Internal Server Error, since it means a lot of troubleshooting to pinpoint the main cause.
The possible error causes are a corruption in the site’s core WordPress files and exceeding the limits set by your host provider for the PHP memory.
A number of solutions have been presented to you in this post.
Try them all and see which one works for your site. If none of them work, contact your host provider for support.
Internal server error can be tricky, but with the troubleshooting options shown in this post and with your host provider’s help, your site will be up and running again in no time.