410 Gone
410 Gone is an HTTP 4xx status code indicating that the requested resource has been permanently removed from the server and is unlikely to return. It is similar in meaning to 404 Not Found, which is used when the permanence of the absence is unclear, but 410 more explicitly conveys an intentional, permanent deletion.
- 410 Gone is an HTTP client error code signaling that a resource has been permanently removed from the server.
- Where 404 Not Found says nothing about whether the absence is permanent, 410 clearly communicates that the resource was intentionally taken down.
- In Google's handling, the practical difference between 404 and 410 is extremely small, and John Mueller has said it is hard to find a reason to prefer one over the other for SEO purposes.
- 410 acts as a slightly faster signal for removal from the index, but Google still re-crawls 410 pages for a long time.
- Use 410 when you are certain the deletion is permanent, and 404 when it is temporary or uncertain.
Overview
410 Gone is an HTTP 4xx client error status code indicating that the requested resource is no longer served by the origin server and that this condition is likely to be permanent. According to the MDN documentation, clients should not repeat requests for a resource that returns a 410 response, and site operators are advised to remove or replace links that point to such a code. A 410 response is cacheable by default.
The essence of 410 is that it explicitly communicates permanence. Unlike 404 Not Found, which does not specify whether the absence is temporary or permanent, 410 clearly signals that the resource was intentionally deleted and will not return. It is therefore well suited to cases that are certain not to come back, such as expired promotional pages, permanently deleted content, or deprecated API endpoints.
Difference from 404
Both 404 and 410 are 4xx client errors and both mean "the resource is not served," but they convey different intent. MDN recommends that server operators use 404 when they do not know whether the absence is temporary or permanent, and 410 when permanent deletion is certain.
| Aspect | 404 Not Found | 410 Gone |
|---|---|---|
| Meaning | Resource not found (permanence unspecified) | Resource permanently removed |
| Permanence signal | Ambiguous (could be temporary or permanent) | Explicit and permanent |
| Recommended situation | When the reason or duration of absence is uncertain | When intentional, permanent deletion is certain |
| Google index removal | Removed after a grace period | Slightly faster removal signal |
| Re-crawling | Continues for a long time | Continues for a long time (410 does not stop it) |
From an SEO standpoint, the most important fact is that there is almost no difference in how Google actually handles the two. Google's John Mueller stated that the difference in handling between 404 and 410 is so minimal that it is hard to think of a case where you would prefer one over the other for SEO purposes. On the question of repeated crawling, he also said that these do not cause problems and can simply be left as they are; they may be re-crawled for a long time, and returning a 410 does not change that.
That said, Google representatives have consistently noted that 410 removes a page from the index slightly faster. A 410 is interpreted as the operator deliberately declaring that the page is gone, so rather than protecting it for a grace period as with a 404, Google tends to treat it as an error more immediately. In practice, however, this makes almost no difference, and even when you return a 410, Google will keep re-crawling the URL for a long time.
Use Cases
- Permanently retiring promotional or event pages that have expired and are no longer valid.
- Intentionally and permanently deleting duplicate or low-quality content and wanting it removed from the index quickly.
- Explicitly removing deprecated API endpoints or discontinued product pages.
- When there is no replacement page, making a 301 redirect inappropriate, and the absence is certain to be permanent.
Response Example
GET /promotions/summer-2023 HTTP/1.1
Host: example.com
HTTP/1.1 410 Gone
Content-Type: text/htmlnginx Configuration Example
location = /promotions/summer-2023 {
return 410;
}Implementation Checklist
- Apply 410 only to URLs whose deletion is certainly permanent, and use 404 when it is uncertain.
- If a replacement page exists, prefer a 301 permanent redirect over a 410 or 404.
- Remove internal links that return 410, or replace them with valid targets.
- Do not obsess over index-removal speed; in Google's handling, the difference from 404 is minimal.
- Provide guidance and navigation on the 410 page as well, to reduce user drop-off.