Skip to content

Website Error Pages

By Matthew Edgar · Last Updated: September 08, 2023

If the web server encounters an error with the page a visitor requested, the server will communicate that error to the browser by returning an appropriate HTTP status code. When a file cannot be found, the server returns a 404 Not Found status code. Or, when there is an error processing the code for the requested file, the server returns a 500 Internal server error status code. The browser receives this status code, handles it accordingly, and displays the error message to the visitor.

Incorrect handling of website errors causes confusion for the people visiting your website and for search engine robots crawling your website. Without a proper status code attached to the error, a person or a search engine might not understand that the server was in error and may not handle the error in the right way. That can lead to drops in search rankings, lost traffic, and more.

If you trying to address a 404 error problem on your website, check out my guide to finding and fixing 404 errors.

Common Questions About Website Errors

404 vs. 410: What is the right response code for Not-Found Errors?

Correct handling begins by sending the appropriate HTTP response status code from the server to indicate to a robot that the URL requested is in error. Search engine robots use the response codes to better understand how to crawl and index the page. There are two status codes you can use for not-found error pages:

  • A 404 status code indicates the requested file was not found.
  • A 410 status code indicates the requested file was purposefully removed (gone).

Using a 404 response code is appropriate in almost all cases. It indicates the page requested is unavailable A 404 doesn’t indicate why the page can’t be found, it only says it cannot be located at this time. That makes it applicable under many different scenarios. For example, if a visitor types in the wrong URL, the 404 status code is appropriate as that misspelled URL cannot be located. Similarly, if a search engine robot requests an invalid URL during a crawl of the website, a 404 status code would correctly tell the search robot that URL cannot be located by the server.

A 410 error message is more specific and indicates you purposefully removed a file from your website. With a 404, the server is simply saying the file that was requested couldn’t be found but doesn’t say why. With a 410, the server is saying the file that was requested couldn’t be found because it has been removed. Using a 410 helps to clarify why the page is no longer available by stating the page was removed permanently and intentionally from the website.

In reality, though, there is little real difference between the ways a 404 and 410 status are treated by people visiting your website or Googlebot when crawling the website. Google may treat a 410 differently than a 404, moving it out of the index and rankings more quickly. There is also some evidence that Google will stop crawling a 410 more quickly than a 404.

Decide what practice makes the most sense for your website and maintain that structure. If it is technically challenging to differentiate between a 404 and 410 on your server, there is no harm in using a 404 for all not-found error types.

404 (Not Found)410 (Gone)
HTTP Status CodeHTTP 404 Not FoundHTTP 410 Gone
MeaningIndicates that the requested resource could not be found on the server.Indicates that the requested resource is intentionally gone and will not return.
SEO Rankings and IndexationGenerally moved out of the index and rankings.Googlebot may move the file out of the index and rankings more quickly.
Crawling BehaviorSearch engines may continue to crawl the URL in the hope that it will become available again in the future.Search engines are more likely to stop crawling the URL and remove it from their index.
Handling in CMSOften handled by default when a page or resource is deleted or moved without setting up proper redirects.Requires deliberate action to return a 410 status code when a resource is permanently removed.
Recovery PossibilityImplies that the resource might return in the future, so it can be monitored and potentially fixed.Suggests that the resource is gone for good, and there’s no expectation of it returning.
How to FixA 404 Not-Found can be fixed by redirecting the error or correcting broken links. Learn more about fixing 404 errors.As this is an intentional error message, generally it does not need to be fixed. Robots and visitors should see this error message.
Comparing 404 vs. 410 Error Messages

What is a Soft 404 Error?

A server communicates an error exists by sending a status code to the browser or search robot. Due to a misconfiguration in the website’s code, the server may send back a non-error status code even though the requested file is in error. The default HTTP status response code for non-error pages is 200. A 200 response status code means this page is “Okay”. This creates a Soft 404 Error: a page that looks like an error but doesn’t provide the appropriate response code to define this page as an error.

If that default response code of 200 is used on an error page instead of a 404 or 410 status code, the search robot or browser may think the page is not in error and may not handle the error correctly. This can lead Google to indexing error pages and showing Soft 404 errors in search results. That creates a poor experience for visitors to the website. It also leads to Googlebot wasting time crawling pages of your website you’d rather they not crawl.

More often than not, though, Google does figure out the Soft 404 error and will remove the page from the index. You can find Soft 404 errors Googlebot has crawled on your website in Google Search Console’s Page Indexing report in the “Why pages aren’t indexed” table. Even though Google has detected the Soft 404, you still want to configure your server to return a proper response code to avoid future issues.

Soft 404s in Google Search Console’s Page Indexing Report

Defining The Most Common Website Error Types

Standard 404 Not Found Error

What It Is

The server returns a 404 status code, indicating the file requested was not found. A page is displayed explaining the requested file was not found.

Comments & Concerns

None; this is how broken pages should work.

Suggestions

Now, make sure your error page offers a good explanation of the problem along with suggestions of where the user should go next.

410 Gone Error

What It Is

The server returns a 410 status code, indicating the file requested was removed from the server. A page is displayed that explains the requested file was not found.

Comments & Concerns

The 410 status code is intended for pages that you have permanently removed from your website. If the removal is temporary, use a 404 status code instead of a 410 status code.

Suggestions

Since you are returning a correct header, ensure your broken page offers a good explanation of the problem (the file was removed), along with suggestions on what to do next (related links, information to contact you, etc.).

Soft 404

What It Is

The server returns a 200 status code, indicating that this file exists even though it does not exist. A page is displayed explaining the requested file was not found.

Comments & Concerns

If the content indicates that the file requested is not available, this is generally okay though not ideal. Soft 404s can cause some confusion, especially if the content on the page displayed doesn’t make it clear that the file requested is not found.

Suggestions

At a minimum, ensure your content clearly explains that the file requested is no longer available on your site. Ideally, you should configure your server to return a 404 status code or a 410 status code on your website’s broken pages.

Redirect To Standard 404 (Or 410)

What It Is

The server returns a 301 status code, indicating the file has moved to a new location. The server redirects the user to that new location, and the new location returns a 404 (or 410) status response code.

Comments & Concerns

This type of broken page has two problems:

  1. The browser’s address bar does not display the actual broken link to the end user (or robot). This makes it harder for people who share your content or link to your content to know what link was actually broken. As a result, those people are less likely to correct their mistake by updating the broken link.
  2. This type of broken page provides conflicting signals. With the 301 status code returned first, you are saying that this file still exists, even though it doesn’t. Then, you are saying this file does not exist.

Suggestions

Disable the redirect and use a standard 404. With a standard 404, you show people the broken link in the browser’s address bar. Plus, with a standard 404, you are only sending one signal about the 404 error.

Redirect To Soft 404

What It Is

The server returns a 301 status code, indicating the file has moved to a new location. The server redirects to that new location, and the new location returns a 200 status code, indicating that the file exists at the new location.

Comments & Concerns

This is similar to the “Redirect to Standard 404” type, however, the result is that your server indicates the broken file is not broken. A redirect to a standard 404 is better because it at least indicates something failed.

Suggestions

Change the response code on the new location to return a 404 status code. This makes it clearer that the file is broken. The better way to fix this is by disabling the redirect and showing a standard 404 instead.

Redirect Error Page to the Home Page

What It Is

The server redirects an error URL to your website’s home page. As a result, a visitor who clicked on a broken link to your site arrived at your home page instead of an error page.

Comments & Concerns

This type of broken page indicates that your home page is your error page. The home page and your error page serve two distinct purposes; you never want your home page to be confused with your error page. Google will treat these as a type of soft 404.

Suggestions

If you have to redirect your 404, redirect it to a page that specifically indicates the requested file is unavailable. Ideally, do not redirect the error page at all and use a standard 404.

Forbidden 404

What It Is

A 403 status code is returned indicating the page is forbidden (usually due to a permission issue).

Comments & Concerns

A not found error message and a forbidden message are two different messages to communicate. The website’s not found error is distinct and should be treated as such.

Suggestions

Change the response code to a 404 or 410 status code.

Server Error

What It Is

A server error is returned when an error occurs on the server and uses a status code starting with the number 5 (such as 501 or 503). However, a server error response code can sometimes be used on a not-found error page instead. When this happens, the page looks like a 404 not-found error but the status code says it is a server error. This causes mixed signals for robots and humans.

Learn more about 5xx errors.

Comments & Concerns

A server-level error is different than a not-found error, and the two should not be confused. Mixing signals may cause Googlebot to not handle the error message correctly.

Suggestions

Change the response code to a 404 or 410 status code.

Handling Errors For People

Along with properly displaying the error to search engine robots, you also want to make sure that people who encounter the error clearly understand an error occurred. As well, you want to make sure people stay on your website instead of leaving your website since the page they were seeking was not found. This means you want to clearly state that an error occurred and give visitors a way to continue beyond the error page (preferably to another related page on your website).

For more about handling errors for humans, please review my guide to creating delightful error experiences.

Resources & Helpful Information

Need Help Configuring Your Website Errors?

Want help improving your website’s technical SEO factors? Contact me today to discuss how we can help review and improve your current technical structure.

Prefer a more DIY approach? Order Tech SEO Guide, a reference guide to help you address the technical SEO  issues on your website.

You may also like

Google Search Console: Page Indexing Report

Is Google indexing every page on your website? If not, why not? To answer these questions, you need to use the Page Indexing Report in Google Search Console. Find out how to use and understand this report.

How to Check HTTP Response Status Codes

Every page on every website returns an HTTP response status code. How do you check the status code for your website’s pages? What tools can you use to test status codes? What do the status codes mean?

How To Fix 404 Errors On Your Website

How do you find the 404 errors on your website? Once found, how do you fix the 404 errors? What tools can help? Find out in this in-depth 404 guide!