devkult_
tools29converters34

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.

Class4xx Client Error
Retry?No — change the request first
Cacheable by defaultYes (heuristically, per RFC 9110)
Response bodyAllowed
Defined inRFC 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

  1. If there's a replacement page, 301 to it instead.
  2. Use 410 for content you've removed on purpose and want deindexed.
  3. Before retiring an API version, announce the date with a Sunset header (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"}, 410
Go 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