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。