HTTP 410 Gone
有意删除:资源曾经存在,已被特意移除,并且不会再回来。
HTTP 410 是什么意思
HTTP 410 Gone 是 404 的明确版本:服务器确认该资源曾经存在,并被有意、永久地移除了。客户端和爬虫应删除对它的引用,不再继续请求。
实际中,410 主要是一种 SEO 和 API 卫生工具——对于已下架的内容、停产的产品或废弃的端点,它是一个明确的信号,而 404 会让问题悬而未决。
410 错误的常见原因
- 内容被有意下架:过期的信息列表、被移除的个人资料、退役的文档。
- 一个应尽快从搜索结果中消失的停产产品页面。
- 一个客户端必须停止调用的已废弃 API 版本。
站点所有者的最佳实践
- 当移除是有意且最终的时使用 410;对未知或拼写错误的 URL 保留 404。
- 如果存在等价页面,优先使用 301 重定向,而不是任何错误状态码。
- 提供一个有帮助的页面内容(搜索、替代方案)——是状态码而非内容告诉机器该资源已消失。
示例响应
HTTP/1.1 410 Gone Content-Type: text/html <!doctype html> <title>This page has been removed</title>
SEO 影响
Google 从索引中移除 410 URL 的速度会比 404 稍快一些,并且访问频率也会降低。对于大规模清理(过期的分类广告、失效的产品页面),410 是你能发出的最干净的信号。
常见问题
对已移除的页面来说,410 比 404 更好吗?
对于有意移除的内容,是的——它明确无误,并能略微加快取消索引的速度。对于未知 URL,404 仍然是正确的选择。
浏览器对 410 和 404 的处理会不同吗?
不会,用户看到的错误页面无论哪种情况都一样。区别对爬虫和 API 客户端才有意义。
我应该改为重定向已删除的页面吗?
只有在确实存在等价页面时才应该这样做。将所有内容都重定向到首页会被视为软 404。