What 410 means
The resource used to exist, was removed on purpose, and isn't coming back. There's no forwarding address. 410 is defined in RFC 9110 §15.5.11, and unlike 404 it states that the condition is expected to be permanent:
HTTP/1.1 410 Gone
Content-Type: text/html
<h1>This product has been discontinued</h1>
410 is cacheable by default, so browsers and CDNs may keep it without an explicit Cache-Control. Only send it for URLs you're sure about.
When to use it
- Deleted content with no replacement: discontinued products, expired listings and promotions, removed user profiles.
- Spam or hacked pages you've cleaned up and want gone from search results.
- Retired API versions (
/v1/...) where you want clients to stop calling rather than keep retrying.
If there is a replacement, a 301 Moved Permanently to it is better than 410: users land somewhere useful and links keep their value. Don't redirect everything to the home page; Google treats that as a soft 404.
How to return 410
In nginx:
location = /old-product { return 410; }
location ^~ /spring-sale/ { return 410; }
In Apache (.htaccess or the vhost):
Redirect gone /old-product
RewriteEngine On
RewriteRule ^spring-sale/ - [G]
In Express, res.status(410).send('Gone'). On WordPress, redirect plugins such as Redirection let you mark a URL as 410 without editing server config.
Serve a helpful page with the 410: explain that the item is gone and link to search or the category, so visitors aren't stuck.
410 and SEO
Google treats 404 and 410 almost identically: both tell it the page doesn't exist, and the URL is dropped from the index. Google has said 410 can be a slightly stronger signal, so a URL may be removed a little sooner, but in practice both end up in the same place. Googlebot will still recheck the URL from time to time, which is normal and doesn't hurt the site.
After removing pages, take them out of your sitemap and update internal links that point at them. Don't block the URLs in robots.txt: Googlebot then can't see the 410, and the old URL can linger in results.
Related codes
- 404 Not Found: the same result in search, without the "permanently" promise.
- 301 Moved Permanently: the content moved; send users and link value to the new URL.
- 403 Forbidden: the content exists but access is refused.
- 451 Unavailable For Legal Reasons: removed because of a legal demand.
To confirm a removed URL answers 410 and isn't redirected somewhere unexpected, check it with the Redirect Checker.