搜索抓取

搜索蜘蛛抓取:软 404 与空壳页返回造成的抓取入口衰减排查

很多站点把已下架、无结果、参数无效的页面统一用 HTTP 200 返回,蜘蛛会把它当成正常内容反复抓取,稀释了有效页面的抓取机会。本文说明软 404 的表现、从抓取日志中识别它的几个信号,以及按页面类型选择 404、410、301、503 的处理顺序和排查步骤。

搜索抓取

搜索蜘蛛抓取:软 404 与空壳页返回造成的抓取入口衰减排查

蜘蛛判断一个 URL 是否值得反复抓取,主要依据响应状态码和页面内容。当站点把“已下架”“无结果”“参数错误”这类页面统一用 HTTP 200 返回时,蜘蛛会把它当成正常内容页,继续投入抓取配额,而这类页面几乎不会带来有效入口。这种情况通常被称为软 404。

软 404 对抓取的直接影响

软 404 不会让蜘蛛立刻放弃某个目录,但它会稀释入口质量:日志里 200 状态码占比很高,实际有内容的页面比例却很低;蜘蛛在同一批模板化空页之间来回抓取,新页面被发现的时间被拉长。判断时不要只看状态码分布,还要把响应体积和正文特征一起看。

从抓取日志识别软 404 的信号

  • 状态码为 200,但响应体积集中在一个很小的区间,且模板高度一致;
  • 大量 URL 的正文差异极小,主要差别只在标题或筛选条件上;
  • 同一路径下的 URL 被反复抓取,却没有新的内链或外链指向它们。

常见的软 404 来源

  • 筛选、排序、分页参数超出有效范围后仍返回 200 的列表页;
  • 站内搜索无结果页;
  • 已下架商品、已删除文章但没有做跳转或状态码处理的详情页;
  • 栏目为空时仍可正常访问的聚合页。

按页面类型选择返回方式

处理原则是让状态码与页面的真实含义一致,而不是一律 200 或一律 404。

  1. 内容永久移除且没有替代页:返回 404 或 410,并清理站内指向它的链接;
  2. 内容迁移到新地址:使用 301 指向新 URL,同时避免跳转链过长;
  3. 参数组合无效但仍需保留形式的页面:返回 404 或 410,或规范到有效 URL;
  4. 站内搜索无结果页:可返回 404,或保留页面但避免被大量内链暴露;
  5. 临时维护:返回 503 并配合 Retry-After,不要用 200 加“稍后再试”文案。

排查顺序建议

  1. 先从日志中筛出状态码 200、响应体积偏小的 URL 段;
  2. 抽样查看这些页面的正文,确认是否为模板化空页;
  3. 回到代码或 CMS,确认这些页面的状态码由哪一层决定;
  4. 调整后观察该 URL 段的抓取频次与状态码分布变化;
  5. 同步清理站内指向无效页的链接,避免入口继续扩散。
把无效页返回正确的状态码,通常比新增一批内链更能改善抓取效率,但它不会立刻改变已经抓取的 URL 的处理结果,需要持续观察日志。

软 404 的本质是状态码与内容语义不一致。定期抽样核对 200 页面的正文质量,并让无效页返回符合实际的状态码,有助于让蜘蛛把抓取配额更多放在有效页面上。