The 500 Internal Server Error, also known as HTTP Error 500, is a server response that indicates an unexpected problem preventing the server from fulfilling the user’s request.
In simpler words, it’s a general message from your server saying “There’s a problem, but I’m not sure what.”
So if you’re seeing one now, then it is important to understand that the issue is not due to the user’s browser, internet connection, or device. Instead, the problem lies with the server that hosts the website. This server-side error can manifest in various messages, as different websites may display their own variations of the 500 error.
Here are some of the different variations of the 500 Internal Server Error:
- 500 Internal Server Error
- Internal Server Error 500
- HTTP Error 500
- HTTP Status 500 – Internal Server Error
- Error 500 Internal Server Error
- 500 Error
- Temporary Error (500)
- 500 – Server Error
- The website cannot display the page – HTTP 500.
Causes of 500 Internal Server Errors
The generic 500 server error can be challenging to pinpoint, because it is a general error—it does not point to any specific cause from the get-go. This means you have to dig into your website to find the cause.
But the good news is there are some likely culprits you can look at first:
- Browser Cache: Clearing your browser cache can help resolve the issue by ensuring that you are accessing the most up-to-date version of the website.
- Database Issues: Incorrect login credentials or a corrupt database can trigger a 500 error. Double-check that the credentials are correct and consider repairing or optimizing the database.
- Corrupted Files: If the core files of a WordPress website become corrupted, it can lead to a 500 error. Restoring or updating these files can help resolve the issue.
- Server and Disk Space: Issues within the server, such as running out of disk space or PHP memory limit exhaustion, can result in a 500 error. Contact your hosting provider to address these server-related issues.
- File Permissions and .htaccess: Incorrect file or folder permissions, as well as a corrupt or broken .htaccess file, can cause a 500 error. Double-check these settings and make necessary adjustments.
- Third-Party Plugins and Themes: Compatibility issues or errors within third-party plugins or themes can trigger a 500 error. Disable or remove these elements one by one to identify the problematic ones.
- Malware infections: Malicious software can compromise your website’s functionality and trigger internal server errors. For example, if a hacker injects a piece of malicious code into your website’s files, it can disrupt the server’s operation and result in a 500 error.
- Broken script injections: Hackers can inject malicious scripts into your website’s code, which may cause conflicts and result in internal server errors.
By understanding these potential causes, you can take the necessary steps to address them and resolve the 500 internal server errors.
How to Fix the 500 Internal Server Error?
Where should you start troubleshooting when you see a 500 internal server error on your site? Sometimes you might not even know where to begin. Typically 500 errors are on the server itself, but from our experience, these errors originate from two things, the first is user error (client-side issue), and the second is that there is a problem with the server. So we’ll dive into a little of both.
1. Try Reloading the Page
This might seem a little obvious to some, but one of the easiest and first things you should try when encountering a 500 internal server error is to simply wait a minute or so and reload the page (F5 or Ctrl + F5). It could be that the host or server is simply overloaded and the site will come right back. While you’re waiting, you could also quickly try a different browser to rule that out as an issue.
2. Clear Your Browser Cache
Clearing your browser cache is always another good troubleshooting step before diving into deeper debugging on your site.
3. Check Your Server Logs
You should also take advantage of your error logs. you will get better idea where this error is coming from. This can help you quickly narrow down the issue, especially if it’s resulting from a plugin on your site.
4. Check Your Plugins and Themes
Third-party plugins and themes can easily cause 500 internal server errors. A lot of times you should see the error immediately after installing something new or running an update. This is one reason why we always recommend utilizing a staging environment for updates or at least running updates one by one. Otherwise, if you encounter a 500 internal server error you’re suddenly scrambling to figure out which one caused it.
5. Reinstall WordPress Core
Sometimes WordPress core files can get corrupted, especially on older sites. It’s actually quite easy to re-upload just the core of WordPress without impacting your plugins or themes. We have an in-depth guide with 5 different ways to reinstall WordPress. And of course, make sure to take a backup before proceeding.
6. Check for Permissions Error
A permissions error with a file or folder on your server can also cause a 500 internal server error to occur. Here are some typical recommendations for permissions when it comes to file and folder permissions in WordPress:
- All files should be 644 (-rw-r–r–) or 640.
- All directories should be 755 (drwxr-xr-x) or 750.
- No directories should ever be given 777, even upload directories.
- Hardening: wp-config.php could also be set to 440 or 400 to prevent other users on the server from reading it.
7. Increase PHP Memory Limit
A 500 internal server error could also be caused by exhausting the PHP memory limit on your server. You could try increasing the limit.
8. Fix Your .htaccess File
If you’re using a host that is running Apache, it could very well be that your .htaccess
file has a problem or has become corrupted.
9. Fix Coding or Syntax Errors in Your CGI/Perl Script
500 errors being caused by errors in CGI and Perl is a lot less common than it used to be. Although it’s still worth mentioning, especially for those using cPanel where there are a lot of one-click CGI scripts still being used.
10. Check With Your Host About Server Issues
Finally, because 500 internal server errors can also occur from PHP timing out or fatal PHP errors with third-party plugins, you can always check with your host. Sometimes these errors can be difficult to troubleshoot without an expert.
How does the 500 internal server error affect page ranking?
When you need to understand more about medicine, you ask a doctor when you want to know how an appliance was designed, you ask an engineer and similarly, if you want to know something about how things work on Google, ask someone who helped designed the very thing. It is always better to get the answers straight from the horse’s mouth. The information presented here in this article are straight from the statements and explanations provided by John Mueller, the Senior Webmaster Trends Analyst at Google who understands the process, probably better than everyone else.
According to John Mueller, there are several scenarios where the 500 internal server error can be benign and have no effect on a page’s ranking while in others it might cause the page to be de-indexed. So, what happens is when the Googlebot crawls (See our FAQs) through your website, if it gets a 500 code error, it tries to establish contact again. Now if this is a one time thing, then it does not affect the indexing of the page at all. However, if the Googlebot receives the error repeatedly, it slows down the frequency of crawling which could be detrimental to page growth. If the Googlebot continues to get these errors for an extended period of time, then eventually it “drop(s) those URLs from the index,” meaning they are no longer ranked on the Google results and Googlebot does not crawl to those pages again. So, a sustained return of this error can be very disastrous to the website.
Other Common Error Codes
HTTP codes show you how your web browser and website communicate. These are some other common error codes you might see on your website:
HTTP 200
This is a standard status code for websites that are performing well.
HTTP 301
This is the code for permanent redirects. For example, say you have two site pages about widgets with duplicate information and one gets more traffic than the other. It makes sense to redirect the low-traffic page to the high-traffic page to improve SEO for your site.
HTTP 302
This code is for temporary redirects. This is for situations where you want to send users to an alternate page for a short amount of time.
HTTP 304
This code shows up when the website you’re requesting hasn’t seen an update since your last visit.
HTTP 403
This code comes from the server when you’re trying to access a restricted URL.
HTTP 404
A 404 code tells your users that your server can’t find that page they requested with their browser. 404 errors are common, and some sites use this to their advantage.
HTTP 405
This is an HTTP response status code error. It tells you that a web browser wants to access your web page and your server has rejected that specific HTTP method. This means that the browser can’t access the requested web page.
HTTP 410
This is a permanent code that tells site visitors that the page they’re looking for doesn’t exist.
HTTP 413
This code appears when a user tries to upload a file that exceeds the server’s file size limit.
HTTP 429
This error is a server response to stop sending requests because of overloaded resources. This code might show up if your site needs to make too many API calls to meet a request.
HTTP 503
This code tells users that the server is temporarily unable to load the page they’re looking for.
Check out this post for a comprehensive overview of error codes.