搜索抓取

软 404 与空页面:蜘蛛抓到没有内容的 URL 时会怎么处理

站点里返回 200 却没有实质内容的页面,通常被称为软 404。本文说明蜘蛛为什么仍会反复抓取这类地址、它依据哪些信号判断页面价值,以及永久删除、暂时缺货、筛选组合页和超范围分页分别可以怎么处理,并给出一条从抓取日志入手的排查顺序。

搜索抓取

软 404 与空页面:蜘蛛抓到没有内容的 URL 时会怎么处理

站点上总有一批页面,服务器返回的是 200,打开却几乎没有内容:筛选条件无结果的列表页、下架后仍可访问的商品页、翻到第二十页之后的空分页。这类页面在用户眼里是“没什么可看”,在搜索蜘蛛眼里则更像一个信号混乱的地址——它拿到的状态码说明“页面正常”,但页面本身并没有提供对应的内容。这就是通常说的软 404。

软 404 为什么容易被反复抓取

因为从 HTTP 层面看,它们和正常页面没有区别。蜘蛛不会因为页面空白就自动提高判断门槛,它主要依据状态码和链接关系决定是否继续访问。只要内链、Sitemap 或历史记录里还有指向这些 URL 的入口,蜘蛛就会按惯例回来重抓,而且往往是定期回来。

更麻烦的是这类地址经常是批量生成的。一个筛选组合、一个分页参数、一个已删除的 SKU,都可能对应一个独立 URL。数量一旦上去,占用的抓取次数就不再是小数目。

蜘蛛识别“低价值页面”的常见依据

  • 正文可提取的内容极少,页面主要剩下导航、页头和推荐位。
  • 同一模板下大量页面文字高度重合,只是参数或标题不同。
  • 页面明确写着“暂无结果”“该商品已下架”,但状态码依然是 200。
  • 分页序号超出了实际数据范围,页面只剩一个空的列表容器。
  • 页面确实存在,但重要内容依赖交互才出现,直接抓取时是空壳。

这些信号单独出现不算严重,成规模出现时,蜘蛛对整个站点的抓取分配就可能变差:它拿回来的都是“看似有效”的页面,却总是抓不到新内容。

处理思路:先分清是暂时还是永久

永久不存在的页面

如果内容不会再回来,直接返回 404 或 410 更清楚。410 表达“已删除”更明确一些,但两者对抓取的影响方向一致,不必为了纠结用哪个而迟迟不动。

暂时缺货、季节性的页面

这类页面有重新上架的可能,不建议直接删掉。更稳妥的做法是保留 URL,在页面上给出明确状态,并保留商品或内容的基本说明,让蜘蛛每次抓到的不是一片空白。

筛选与排序产生的组合页

并不是所有筛选页都要屏蔽。真正有搜索需求、有独立内容的少量组合可以保留;纯粹由参数排列出来的组合,用 robots 规则或 noindex 控制,别让它们进入索引和抓取队列。屏蔽前先确认这些 URL 没有从别处获得外链。

超出范围的分页

超出实际页数的分页地址,返回 404 比返回一个空列表页更干净。也可以把它规范到最后一个有效分页,但要避免所有超范围分页都指向同一地址,那样会制造新的重复。

排查顺序

  • 先看抓取日志里状态码为 200、但响应体很小或内容明显重复的 URL 占多大比例。
  • 再看这些 URL 的入口来自哪里:内链、Sitemap、历史外链,还是站内搜索。
  • 按类型归并处理,能用规则批量解决的不要一个个手工改。
  • 调整后观察一段时间,确认这些地址的抓取次数确实在下降。

处理完之后,记得同步清理内链和 Sitemap 里的对应入口。一个已经返回 404 的 URL,如果还被大量内链指向,蜘蛛仍会继续撞上它,省下来的抓取次数其实并没有真正省下来。把这项检查纳入常规巡检,比等到抓取异常再回头翻日志要轻松得多。

清理软 404 不会立刻带来排名变化,它的意义在于把有限的抓取次数从“空跑”挪回真正需要更新的页面。