410 Gone
4xx client error
The resource was deliberately removed and won't be coming back.
410 is a 404 with intent: the server knows the resource used to exist and that its removal is permanent. Search engines treat it as a strong signal to drop the URL, and clients should delete links or cached references to it.
| Class | 4xx Client Error |
|---|---|
| Retry? | No — change the request first |
| Cacheable by default | Yes (heuristically, per RFC 9110) |
| Response body | Allowed |
| Defined in | RFC 9110 §15.5.11 — 410 Gone |
Example response
HTTP/1.1 410 Gone
Content-Type: application/json
Content-Length: 16
{"error":"Gone"}Common causes
- Deleted products, expired listings or retired API versions.
- Content removed for good with no replacement.
How to fix it
- If there's a replacement page, 301 to it instead.
- Use 410 for content you've removed on purpose and want deindexed.
- Before retiring an API version, announce the date with a
Sunsetheader (RFC 8594).
Send a 410 from your server
Express
res.status(410).json({ error: "Gone" });Next.js route handler
return Response.json({ error: "Gone" }, { status: 410 });Flask
return {"error": "Gone"}, 410Go net/http
http.Error(w, "Gone", http.StatusGone)
nginx
return 410;
Check what a URL returns
Print just the status line from the command line, or check a whole list of URLs at once, with their response headers, in the HTTP Status Checker.
curl -sI https://example.com/your-path | head -n 1
Frequently asked questions
Does Google treat 410 differently from 404?
Slightly. Both are removed from the index; Google has said a 410 can be processed a little faster because it's explicitly permanent.
Related status codes