error code 410

HTTP Status Code 410 = “Gone”

The requested resource has been permanently removed from the server and will not be available again.

Unlike 404 Not Found, a 410 explicitly tells clients and search engines:

“This resource intentionally no longer exists.”

Difference between 404 and 410

| Code | Meaning |
| — | – |
| 404 | Resource not found (may return later) |
| 410 | Resource permanently removed |

Example

Request

http id=”q7m2we”
GET /old-api HTTP/1.1

Response

http id=”v5k8ra”
HTTP/1.1 410 Gone

Common use cases

  • Deleted webpages
  • Removed APIs
  • Expired download links
  • Removed user accounts/content
  • Permanently discontinued services SEO impact

Search engines like Google remove 410 pages from search indexes faster than 404 pages.

Fixes

For users

  • Check for updated URL
  • Return to homepage
  • Contact website owner
  • Use archived/cached versions if available For developers
  1. Return 410 intentionally Node.js Express

js id=”u8w3kc”
res.status(410).send(‘Resource removed’);

  1. PHP

php id=”g7q2mv”
http_response_code(410);
echo “Gone”;

  1. Laravel

php id=”r4k9zn”
abort(410, ‘Resource removed’);

  1. Apache .htaccess

apache id=”t2p5xe”
Redirect gone /old-page

When to use 410

Use 410 when:

  • content is intentionally removed,
  • endpoint is deprecated permanently,
  • you want search engines to stop indexing quickly.

Use 404 if the absence may be temporary or unknown.

Related HTTP status codes

| Code | Meaning |
| — | |
| 404 | Not Found |
| 410 | Gone |
| 301 | Moved Permanently |
| 403 | Forbidden |
| 500 | Internal Server Error |