What is a 500 server error?

The 500 status code is a hypertext transfer protocol (HTTP) code that signals that there is an internal server error making a website inaccessible.

This code indicates to browsers that something went wrong with a web site’s server, but it isn’t specific about explaining what caused the problem.

airbnb 500 server error example

(Image Source)

500 server error explained

A 500 internal server error code can be seen on different websites in many different ways since each site can customize their own HTTP 500 error message.

Here are some common ways that you might see this code:

  • 500 error
  • 500 internal server error
  • Internal server error
  • HTTP 500 – internal server error
  • HTTP 500 internal error
  • HTTP error 500
  • Temporary error (500)

Some sites tend to get pretty creative about how this message appears, like FitBit:

creative 500 server error fitbit example

(Image Source)

Internal server errors are generated by the website you’re trying to access. Because of this, this code can be seen in any operating system, including a smartphone.

No matter how you see this message displayed, each version means the same thing.

Something unexpected happened with the web server, and the server can’t provide any detailed information about what caused the issue.

500 server error history

HTTP was created in 1989 by CERN scientist Tim Berners-Lee.

The protocol was designed to be a global language for the web, and standards for HTTP were put in place by the World Wide Web Consortium (W3C) and the Internet Engineering Task Force (IETF).

The creation of HTTP led to the use of three-digit codes beginning with a number between one and five as a language of communication for both browsers and servers.

Each block of numbers has a specific and unique use, but 500 server errors are used to reveal issues with a website’s server.

500 server error uses

There are many reasons why a site might be sending out a 500 error code to visitors, but here are a few common situations that can cause them:

  • A permissions error – 500 server errors are most commonly caused by incorrect permissions on at least one file or folder. Incorrect permissions on a PHP and CGI script usually cause these.
  • A coding error – if there is an issue with the structure of a website’s .htaccess file, a 500 error code may appear. For this reason, you should check to make sure that your site’s .htaccess file is free of issues.
  • A PHP timeout – if your script is connected to external resources that timeout, a 500 error can appear. Create timeout rules in your script if this is the cause of the error.

The server is currently overloaded with traffic because of a popular blog post or press attention that is sending an abundance of users.

If you’re running WordPress, Joomla, or another content management system (CMS), contact their customer support team to find specific help for how to diagnose a 500 internal server error on your site.

If you aren’t using a CMS, reach out to your web hosting provider for feedback on how to troubleshoot a 500 server error code.

500 server error misunderstandings

Adding plugins on your WordPress site can take it to the next level. But if you aren’t careful, some plugins or software can do more harm than good.

If you’re running popular software on your server, incompatible versions, poor installations, or incorrect server permissions can all cause a 500 internal server error code.

To avoid this problem, check to see if the software you recently installed or upgraded failed to install or update.

In WordPress, you can identify any plugin that needs to be updated by heading to the “Plugins” section of your account.

update wordpress plugins

(Image Source)

You should also make sure that any plugins or themes that you just activated don’t conflict with any pre-existing plugins or themes on your site.

Deactivate each plugin or theme one by one to find out which one is causing the server error.

You should also test plugins on a staging server before deciding to activate them on a live site.

Some web hosts offer staging sites as part of their plans, such as Kinsta or WPengine. Check with your web host to see if any staging options are available 

You can also create your own staging site by using the WP Staging plugin.

How to fix a 500 error code

Because it is a server error, the fix therefore has to be at the server level.

If you’ve visited a website you do not own and receive a 500 status code, there’s not much you can do. Realistically these are your options:

  1. Reload the web page.
  2. Clear your browser’s cache.
  3. Delete your browser’s cookies.
  4. Contacting the website directly.
  5. Come back later.

If it’s your website, then you can try:

  1. Check your web host to see if they are having server issues. Most good web hosts have a status page or website where you can check this.
  2. Clear your site’s cache to see if that resolves it.
  3. Clear the cache from your CDN to see if that resolves it.
  4. Ask your developer/web team if something was deployed recently.
  5. Reach out to your host to see if they’re having issues.
  6. If you have access and the skills, restart your server.