When you access a web page that the website cannot find, the server that powers that website usually returns a status code indicating that the server was unable to find the file requested. That status code returned when a file is not found is 404.
While returning a 404 status code is the standard way to handle a 404 error, there are several other ways to handle a not found error on your server. Some of these methods are acceptable, but others will create problems for your website.
An incorrect handling of not found errors causes confusion, either for a person visiting your website or for a search engine crawling your website (or, often times, both). Without a standard 404 error, a person or a search engine might not understand that the server could not find a particular file.
To discover what type of broken pages your website has, check out our free 404 Snapshot tool. Regardless of the type of broken page you have, SpringTrax's tracking tools can still help you find, understand, and fix every broken page on your site. If you have any questions about your site, feel free to contact us.
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.
None; this is how broken pages should work.
Now, make sure your error page offers a good explanation of the problem along with suggestions of where the user should go next.
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.
The 410 status code is intended for pages that you have permanently removed from your website. If the removal is temporary, or might be temporary, use a 404 status code instead of a 410 status code.
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.).
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.
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.
At 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.
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.
This type of broken page has two problems:
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.
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 file exists at the new location.
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.
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.
The server returns a 301 status code, indicating the file has moved to a new location. That new location is your website's home page. As a result, a visitor who clicked on a broken link to your site arrived at your home page.
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.
If you have to redirect your 404, redirect it to a page that specifically indicates the requested file is unavailable. Ideally, do not redirect at all and instead use a standard 404.
When a visitor encounters a broken link, that visitor sees your home page. The server does return a 404 status code indicating that the file accessed is not found. However, because your website's home page is used as the error page, there is no text presented to the user indicating that the file was not found.
With this type of broken page, you are saying your home page is your website's not found error page. Like with the "Redirect to Home Page" type, you never want to confuse your home page and your error page.
Create a different page for people to see when they encounter a not found error. Return that broken page instead of your home page when a user encounters a broken link.
Like with the "Home Page As The 404 Error (No Redirect)" type, this type of broken page returns the home page when somebody encounters a broken link. However, the home page returns a 200 status code, indicating that nothing is broken. This confuses users who are not informed they have reached an error. It also confuses search engines who cannot detect that this page is broken.
This broken page type allows your home page to display on an infinite number of links, opening you up to problems with duplicate content. Essentially, you are saying that yoursite.com/some-broken-link is a valid page on your site and that the valid page located at that link is a duplication of your home page.
This type of broken page is highly problematic and can lead to extensive duplicate content problems. Among other issues, duplicate content problems can negatively impact your search performance.
To fix this, create a different 404 error page for your site and have that page returned by your server when users encounter not found errors on your site.
A 403 status code is returned indicating the page is forbidden (usually due to a permission issue).
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.
A server-level error status code (a number larger than 500) is returned when a broken page is accessed on your site.
A server-level error is different than a not found error, and the two should not be confused.