The 410 status code (Gone), explained
A reference for developers and site owners: what a 410 response means, when to send it instead of 404, and how search engines treat it.
What HTTP 410 Gone means
410 Gone is like 404 but stronger: the resource existed and has been permanently removed, with no forwarding address. It tells clients and crawlers to stop requesting it, unlike 404 which leaves the door open.
Which category is it?
410 is a 4xx code — Client error. 4xx means the request has a problem the client must fix — bad syntax, missing authentication, or a resource that isn't there. It's the caller's responsibility.
Common causes
- A resource intentionally and permanently deleted
- Retired API endpoints or expired content
How to fix it
- Remove links to the resource
- Return 410 deliberately for content you've permanently retired
Example 410 response
HTTP/1.1 410 Gone
Content-Type: application/json
{"error": "endpoint_retired", "message": "API v1 was shut down. Use /v2/orders."}How to diagnose a 410
- Check whether the 410 is deliberate: look for a rule in the server config, CMS or CDN that marks the URL as removed.
- Test with curl -I to confirm the status. Some CMS plugins send 410 for deleted posts automatically.
- If the content has a replacement, return a 301 to it instead of a 410.
- Remove internal links and sitemap entries that still point at the URL.
410 compared with similar codes
- 404: 404 says nothing was found and the resource may come back. 410 says it existed and was removed on purpose.
- 301: 301 points to a replacement. Use it when the content moved rather than disappeared.
410 Gone: common questions
Is 410 better than 404 for SEO?
Both tell search engines to drop the page from the index. Google treats them almost the same over time, though a 410 may be acted on a little sooner. Use 410 when the removal is deliberate and permanent.
Can a client retry after a 410?
It shouldn't need to. A 410 is meant to be permanent, and caches may store it. If the resource could come back, send 404 instead.
When should an API return 410?
When an endpoint or record has been retired for good, such as an old API version after its shutdown date. Name the replacement in the response body if there is one.