The internet delivers its fair share of frustrating situations, but few are as annoying or as confusing as the dreaded 500 internal server error message. Not only are these codes frustrating for everyday users, but they can also have negative implications for website performance, search engine results, and general business reputation.
In this guide, we'll cover everything you need to know about 500 errors:
Before you can truly understand 500 error codes and why they exist, it helps to get a basic feel for the Hypertext Transfer Protocol (HTTP) status codes. These dictate how web servers respond to browser codes and play a huge role in everyday browsing.
In short: every time you visit a website, your browser makes a request with the website's server. The response to this request forms a three-digit code. This essentially functions as a conversation between the server and your browser.
The various HTTP status codes are divided into broad categories, referenced by the first number in each code. For example, codes beginning with 3 arise when you are redirected to another page. If a request is made but the page is deemed invalid, the ensuing code will begin with a 4.
HTTP error 500 codes occur when the requests made by the client are valid but still cannot be completed by the server. These are sometimes referred to as "internal service errors." This is one of the most generic error responses available, simply indicating that a server error has occurred — and that it cannot be readily explained.
The text for these codes can vary, but it's common to see a simple message such as: "The server encountered an error and could not complete your request." Similarly, the error message might read, "This page isn't working. ____ is unable to receive your request."
This HTTP category references a wide array of situations in which servers are simply unable to complete requests. Different digits (501 or 502, for example) reference specific versions of this error. We've highlighted a few of the most common types below:
As the most generic form of this category, the standard 500 Internal Service Error provides broad coverage for unexpected issues that prevent users from accessing webpages. Because the server is unable to get more insight into the exact nature of the issue, a general 500 is provided as a placeholder of sorts. Regardless of why the issue exists or what caused it, the effect is always the same: you're unable to access the website in question.
The 501 error indicates a lack of functionality; the server simply doesn't have what it takes to complete the client's request.
In many ways, this code closely resembles a client-oriented counterpart from the 400 category: the 405 Method Not Allowed error. With the 405, however, the issue arises because the client is not supposed to make the request in question. Meanwhile, with a 501 error, the server cannot understand the request or doesn't support a necessary feature.
If one server receives a problematic response from a separate server, the result could be a 502 Bad Gateway error code. The Internet Engineering Task Force (IETF) explains that this error occurs upon receiving an "invalid response" while "acting as a gateway or proxy." This is a common response when there are network issues between two servers, although it's also possible if a firewall is not configured correctly and could even occur as a result of a simple coding error.
As one of the most familiar codes from this list, the 503 Service Unavailable is a likely response when a server is temporarily overloaded. As a result, the requested website cannot immediately be reached. The IETF highlights the strictly temporary nature of this error, which often occurs during scheduled maintenance but is also a possible response to a temporary overload.
This code differs significantly from many others in the 500 category, in that it implies that the website is still running — it simply can't be reached for the time being. As such, the error may be accompanied by a simple (albeit, frustrating) message indicating the "service is temporarily unavailable."
Like the aforementioned 502 error, the 504 Gateway Timeout error involves a server that acts as a proxy or a gateway. With this particular error, however, the issue doesn't involve a bad gateway so much as the lack of a response from a separate server upstream. The initial server is thus forced to wait too long and may simply time out before it gets the necessary response.
While no one single cause can be blamed for the vast range of 500 errors, certain concerns increase the likelihood of such issues. For example, 500 errors can result from:
From the user's perspective, a variety of behaviors can increase the likelihood of these errors. Key issues at play may include:
While all these actions will be required from time to time, it's important to approach them with extra care, as they bring new vulnerabilities to the table. These common causes are easily preventable with a little routine preventative maintenance.
In other situations, these errors serve as early warning signs of cyberattacks. These are especially likely to accompany Distributed Denial of Service (DDoS) attacks, in which servers are flooded with traffic in hopes of overwhelming them to the point that they are entirely inaccessible to legitimate users.
There's no denying the frustration of an HTTP 500 error code from the user's end. Simply put, this error makes it difficult to access a website when and how the user desires. Beyond this, however, 500 codes can cause numerous long-term issues for website owners, as outlined below:
At their most basic level, 500 errors make it impossible for would-be users to access websites. It's impossible to understate just how problematic this is. When load times are slow and content is out of reach, users will leave immediately and may never return, regardless of whether they think the issue is due to their internet connection or the website’s server.
500 errors can be indicative of poor performance in general. A poorly performing website will impact all users, regardless of whether they’re using Firefox, Chrome, or Microsoft’s Edge browser. When such performance issues abound, there will be fewer website visitors at any given time and therefore, fewer opportunities to nurture leads, produce conversions, and implement other search engine optimization (SEO) directives.
Today's demanding users get frustrated quickly. They expect that websites will always be available when they need them. Pages that fail to meet those expectations will inevitably annoy users, who will happily head to competing websites instead. This is especially true if they feel that, after taking steps such as clearing the browser cache or contacting a website support team, the site still won’t load. Loyal customers may ultimately jump ship if they feel that their favorite brands' websites are difficult to access.
The ill effects don't end with disappointed users. Over time, 500 errors can have a negative impact on the SEO results you've worked so hard to achieve. These errors prevent search engines from crawling websites. This, in turn, makes these pages impossible to index (ie, show up in search engine results).
Google search analyst John Mueller tells Search Engine Journal that, when 500 errors are continuously encountered, the pace of crawling will eventually slow down. There's no hard threshold indicating when, exactly, this will happen, but it's best avoided if strong SEO is a priority.
No, it is not permanent. A 500 internal error indicates that the server encountered an unexpected condition that prevented it from fulfilling the request. This error can be caused by various issues on the server side, such as server misconfigurations, scripting errors, or temporary server overloads. In many cases, the issue can be resolved by the server administrator or may resolve itself over time. Refreshing the page, clearing browser cache, or trying again later can sometimes resolve the issue from the user's end. However, if the error persists, it typically requires intervention from the website's technical team to diagnose and fix the underlying problem.
The sooner these errors are fixed, the sooner access will be restored — and this means fewer long-term issues with performance or reputation.
While simple fixes aren't always within reach, basic troubleshooting will help you get a solid grasp of the situation at hand — and which solutions might be required. When in doubt, follow these simple steps:
1. Check log files (server logs and error logs, specifically)
2. Check for syntax errors in PHP code
3. Deactivate plugins or themes
If the aforementioned troubleshooting solutions have produced limited results, it's time to take your efforts to the next level. Look to these advanced strategies for relief:
1. Increase PHP memory limit
2. Update server software
3. Check permissions on website files and directories
While 500 errors are often surprisingly easy to fix, they're always best avoided in the first place. Because these errors are so commonly seen in response to overloads, the best preventative strategies involve the seemingly simple solutions you should always rely on to keep your website running smoothly:
While the strategies outlined above can go a long way towards preventing 500 errors, they can be difficult to implement on your own. Thankfully, scanning services and other solutions can ease the burden of keeping your website or applications functioning optimally.
SiteLock offers a suite of solutions needed to avoid and mitigate common server-side performance issues. Our website security plans include critical elements like website scanning, malware removal, a web application firewall (WAF), and more.
For WordPress website administrators tired of troubleshooting via hard-to-follow online tutorials, we offer a broad range of WordPress site security services.
Don't delay: every moment you deal with a 500 error represents a missed opportunity to connect with consumers. Explore our cost-effective plans designed to boost performance and address vulnerabilities. Get in touch today if you have any questions.
Error icon created by Smashicons - Flaticon