首页/网络/协议速查/404 与 410 的取舍(含 SEO)
HTTP 方法与状态码91 条

404 与 410 的取舍(含 SEO)

404=找不到(可能是临时的,也可能内容不存在);410=明确告知「曾存在、已永久删除」。

协议速查网络更新于 2026-10-13

两个码的分工

404 Not Found 说的是「现在找不到」,不承诺资源是否会回来;410 Gone 说的是「曾经存在,现已永久删除」,明确要求客户端与搜索引擎不要再访问。两者都属于 4xx,但语义差别会直接改变搜索引擎的收录与移除策略。

搜索引擎为什么在意

搜索引擎对 404 的处理是「暂不确定」:会保留一段观察期,并在后续抓取中反复确认;对 410 则视为确定移除信号,会更快把 URL 从索引里清掉。批量下架、删稿用 410 更干脆,临时维护或灰度下线则应该留在 404。

基本信息

404通用未找到;不承诺资源是否会回来
410永久消失;给搜索引擎明确的移除信号
规范RFC 9110 §15.5.5(404)、§15.5.11(410)
缓存两者都可被缓存;需要长期保持结论时显式给出缓存策略

典型使用场景

  • 商品永久下架、文章删稿:用 410 加速从索引移除
  • 页面临时维护或灰度下线:用 404 保留恢复的可能
  • 敏感资源隐藏存在性:统一回 404,避免暴露「存在但无权访问」
  • 站点改版后批量清理垃圾页面:410 的移除效率最高
  • URL 结构整体迁移:应返回 301 或 308 指向新地址,而不是 404 或 410

状态验证

状态验证
curl -s -o /dev/null -w '%{http_code}\n' https://example.com/removed-page   # 只看状态码
curl -sI https://example.com/removed-page | head -5                        # 顺带看缓存头
curl -s -o /dev/null -w '%{http_code} %{time_total}\n' https://example.com/old-a https://example.com/old-b  # 批量核对

选用建议

场景推荐理由
页面暂时下架404可能恢复,避免搜索引擎彻底除名
商品永久下架、文章删稿410加速从索引移除
敏感资源隐藏存在性404不暴露「存在但无权访问」
批量清理垃圾页面410大规模移除效率高
已有后继地址301 / 308有替代页时用重定向,别用 404 或 410 丢掉权重
软 404(HTTP 200 却在正文里写「内容不存在」)既污染收录,也让监控彻底失去信号:对外必须返回真实 4xx。
410 是「不可逆」信号:搜索引擎会逐步减少甚至停止抓取。删除前先把统计与日志留存做完,否则历史访问数据再也补不回来。

易错点

  • 软 404(返回 200 显示「内容不存在」)会污染收录,必须返回真实 4xx
  • 把临时下线做成 410:想恢复时搜索引擎已经移除,重新收录要多花数周
  • 410 配了很长的缓存时间,后来改回 200,中间缓存仍按旧策略返回 410
  • 整站迁移用 404 或 410 代替 301:原有排名与外链权重白丢
  • 4xx 页面做成白屏或死胡同:用户与爬虫都失去找回路径的机会

数据来源与参考

  • RFC 9110 §15.5.5(404)
  • RFC 9110 §15.5.11(410)
  • Google Search Central:站点移除说明

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌