网站收录

404、410 与软 404:页面下线时该给爬虫什么信号

页面下线并不只是删掉内容那么简单。返回什么状态码、要不要重定向、何时用 noindex,都会影响爬虫对站点的判断。本文梳理硬 404、410 和软 404 的差别,以及从发现到处理的顺序,帮助你把页面没了的信号表达清楚。

网站收录

404、410 与软 404:页面下线时该给爬虫什么信号

页面被删除、下架或临时不可用时,很多站点只做了删掉内容这一步,服务器仍然返回 200,页面也还能打开,只是里面空了。这种状态对用户和爬虫都是模糊信号:它既不是可用的内容页,也不是明确的已下线。

三种页面没了的信号

从 HTTP 层面看,一个 URL 不再提供内容,通常有三种表达方式。

  • 404:资源不存在。这是最通用的找不到,适合已经不打算再提供、也没有合适替代页面的 URL。
  • 410:资源曾经存在,现在被永久移除。语义上比 404 更明确,但爬虫对两者的处理差异没有想象中那么大。
  • 301 或 302 重定向:页面换了地址或有了新的归属,用户应该被带到新的 URL。

这三种都可以是正确选择,取决于这个 URL 之后还有没有价值。真正需要避免的,是第四种状态:内容没了,但服务器依然返回 200。

软 404 长什么样

软 404 指的是页面返回 200,但实际内容为空、报错或与用户预期不符。它不一定是空白页,常见的形态包括:

  • 商品下架后保留了模板框架,只剩标题和暂无库存
  • 列表页筛选出 0 条结果,但仍返回 200
  • 错误页面返回 200,而不是 404
  • 文章被清空,只剩导航、页脚和评论区
  • 用 JS 读取参数失败后显示空白,但初始响应仍是 200

这些页面对爬虫来说都是可抓取的,于是可能被反复抓取,甚至进入索引。

为什么它会影响收录

搜索引擎判断一个 URL 是否值得保留在索引中,会看它提供的内容与用户意图是否匹配。返回 200 的空壳页面,会让这个判断变得困难。

返回 200 并不代表页面合格,它只代表服务器愿意把这份响应交给客户端。内容是否成立,是另一层判断。

实际影响通常体现在几处:一是抓取资源被空页面占用,真正需要更新的页面来得更少;二是站内出现大量低信息量 URL,稀释了站点整体的内容质量信号;三是用户从搜索进入后立刻返回,行为数据也不理想。

怎么发现站内的软 404

  1. 在搜索控制台的页面报告中查看软 404 分类,它会列出被判定为软 404 的 URL 样本。
  2. 抽查站内返回 200 但内容极少的页面,尤其是筛选页、搜索结果页、下架商品页和空分类页。
  3. 用日志观察:哪些返回 200 的 URL 被反复抓取,但长期没有带来任何有效内容变化。
  4. 检查错误处理逻辑,确认 404 页面本身返回的是 404,而不是 200。

处理顺序:先定状态,再定去向

发现软 404 后,不建议直接批量改成 404,先回答两个问题:这个 URL 以后还会不会提供内容?有没有更合适的替代页面?

  1. 如果页面只是暂时缺内容,尽快补上;补不上就考虑合并到相关页面。
  2. 如果 URL 永久不再使用,且没有替代页面,返回 404 或 410。
  3. 如果有明确的替代页面,用 301 指向最相关的那一个,避免统一跳到首页。
  4. 如果 URL 必须保留但不想出现在索引中,用 noindex,同时保证页面本身有可读内容。
  5. 改完后观察一段时间,确认状态码在服务器层和页面层都生效。

几个容易踩的坑

  • 用 200 的错误页代替 404,爬虫会当成正常页面继续抓取。
  • 用 JS 跳转到 404 页面,初始响应仍是 200,信号不明确。
  • 把大量下架商品统一 301 到首页,容易被当作软 404 处理。
  • 只在 robots.txt 里屏蔽,而不处理状态码。屏蔽抓取不等于让页面退出索引。
  • 页面已返回 410,但站内还有大量内链指向它,爬虫会持续发现这个地址。

页面下线是站点运营里很常见的动作,但删内容只是第一步。把状态码、重定向和索引信号表达一致,爬虫才能正确理解这个 URL 的现状,也才谈得上把抓取和收录的资源留给真正有价值的页面。