410 Gone
The resource is permanently gone.
Usually happens because:
- ☑ Resource was deleted intentionally.
- ☑ Promotional or temporary pages expired.
- ☑ Database records purged permanently.
🔍 Quick Checklist:
Meaning
The HTTP 410 Gone response status code indicates that access to the target resource is no longer available at the origin server and that this condition is likely to be permanent.
Root Causes
- Resource was deleted intentionally.
- Promotional or temporary pages expired.
- Database records purged permanently.
| Cause | Frequency |
|---|---|
| Resource was deleted intentionally. | ⭐⭐⭐⭐⭐ |
| Promotional or temporary pages expired. | ⭐⭐⭐⭐ |
| Database records purged permanently. | ⭐⭐⭐ |
Common Mistakes
- Using 404 Not Found instead of 410 Gone for resources that were intentionally deleted.
- Keeping active backlinks to 410 pages on the site indexing tree.
How to Fix
Framework-Specific Examples
Express router returning 410 for expired endpoints.
app.get('/old-campaign', (req, res) => {
res.status(410).send('This promotion has ended');
});Server Configuration Examples
Returning 410 immediately for static paths.
location /old-page { return 410; }Prevention
- Implement routing patterns that automatically flag expired campaigns or pages with 410 Gone.
- Maintain active redirects where possible.
Frequently Asked Questions (FAQ)
Q: Does Googlebot treat 404 and 410 differently?
Yes. Googlebot removes a 410 page from its search indexes immediately, whereas a 404 page is checked multiple times over several days before being removed, to safeguard against accidental errors.
Q: When is 410 preferred over 404?
Use 410 for intentionally and permanently deleted endpoints, such as one-time secure links, deleted accounts, or expired promotional landing pages.
Q: Should a 410 page trigger redirects?
It depends. If a direct successor page exists, redirecting via 301 is better. Otherwise, returning 410 is correct to purge the index.
Q: How do crawlers handle 410 caching?
Crawlers cache the 'gone' status eagerly, meaning search bots will stop visiting that URL much sooner than a 404 URL.