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 status code to indicate a Not Found Error. When an error occurs while processing the code for the requested file, the server returns a 500 status code to indicate an Internal Server Error. The browser receives this status code, handles it accordingly, and displays the error message to the visitor.
Incorrect handling of website errors confuses the people visiting your website and 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 correctly. That can lead to drops in search rankings, lost traffic, and more.
If you’re trying to address a 404 error problem on your website, check out my guide to finding and fixing 404 errors.
Website Error Status Codes
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.
The differences are slight. 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 Code | HTTP 404 Not Found | HTTP 410 Gone |
| Meaning | Indicates 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 Indexation | Generally moved out of the index and rankings. | Googlebot may move the file out of the index and rankings more quickly. |
| Crawling Behavior | Search 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 CMS | Often 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 Possibility | Implies 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 Fix | A 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. |
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 the 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 index error pages and show 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.

Handling Errors For People
Along with properly displaying the error to search engine robots, you also want to design the error page for people who may encounter the error. That includes:
- Match Company Branding & Website Design. Use the company logo, color scheme, fonts, and design elements. This helps reinforce that people are on the right site, even if an error occurred.
- Mobile and Accessibility Friendly. Ensure the layout and navigation of the error page are usable on all devices. Also, make sure the error pages will work for screen readers to assist all visitors.
- Clear and Friendly Error Message. Explain what went wrong in simple terms and avoid technical jargon. For example, the message might say “Page Not Found”, “This page may have been removed”, or “We’re having trouble right now.” Along with text, imagery may help communicate the nature of the image.
- Provide a Path Forward. You want to make sure people stay on your website. To help with this, add a search box or helpful links to the page. For example, a Not Found error page could include links to main site sections or key pages. Or, a server error page could link to a status page or social media links to get help.
- Keep Tone Friendly or On-Brand. Make your error message sound like your brand. It should match your overall brand voice and style.
- Descriptive and SEO-Friendly Page Title. Use a title like “Page Not Found | [Site Name]”. This helps with clarity for users. It also helps search engine and AI bots understand the nature of the page.
For more about handling errors for humans, please review my guide to creating delightful error experiences.
Defining The Most Common Website Error Types
- Standard 404 Not Found Error
- 410 Gone Error
- Soft 404
- Redirect to Standard 404
- Redirect to Soft 404
- Redirect Error Page to Home Page
- Forbidden 404
- 5xx: Server-errors
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. Google will remove a Soft 404 Error from search results.
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:
- 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.
- 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 (5xx)
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 or watch my video about handling 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.
Need Help Configuring Your Website Errors?
Want help improving your website’s error pages? Contact me today to discuss how we can help review and improve your website’s current error pages and overall technical structure. Or, for more help, check out my other article discussing How to Find & Fix 404 Errors.
Prefer a more DIY approach? Order Tech SEO Guide, a reference guide to help you address the technical SEO issues on your website.
More Articles
Schema Entity Mapping
Learn how to build an entity map, connect entities with schema markup and @id, and decide which information to repeat across your website.
Read Schema Entity Mapping →Schema: Find, Fix & Prevent Problems
Find and fix common schema markup problems, from invalid code to rendering issues. Learn how to audit and test schema with crawlers and validation tools.
Read Schema: Find, Fix & Prevent Problems →