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
- Return 410 intentionally Node.js Express
js id=”u8w3kc”
res.status(410).send(‘Resource removed’);
- PHP
php id=”g7q2mv”
http_response_code(410);
echo “Gone”;
- Laravel
php id=”r4k9zn”
abort(410, ‘Resource removed’);
- 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 |