站点运营

站点运营:软 404 与空壳页面自查,别让蜘蛛在没内容的地址上反复抓取

硬 404 一眼可见,软 404 却常常被忽略:地址返回 200,页面却是空的。本文梳理软 404 的常见场景、自查方法,以及按情况选择 301、410、noindex 还是补内容的处理思路,帮站点把无效地址收拢起来。

站点运营

站点运营:软 404 与空壳页面自查,别让蜘蛛在没内容的地址上反复抓取

硬 404 很容易发现:地址打不开,状态码就是 404。软 404 则相反——服务器返回 200,页面模板完整、导航和页脚都在,唯独正文是空的,或者只剩一句「暂无内容」。对蜘蛛来说,这类地址看起来是正常页面,于是被重复访问、重复排队,却始终没有新内容产出。抓取配额是有限的,这类地址占得越多,留给真正值钱的页面的机会就越少。

软 404 为什么比硬 404 更难处理

硬 404 是一个明确信号:这个地址不用再来了。而软 404 给出的是相反信号:这里是有效页面。问题在于它既没有内容可供分析,也不会自动从索引里消失,只能靠人去发现和干预。更麻烦的是,它往往不是个别现象,而是某个模板或某个栏目配置的产物,一旦出现就是成批的。

常见的空壳页面场景

  • 内容被删但模板还在。文章下架后,详情页模板仍然渲染,正文位置留空,或者只显示「该内容已不存在」。
  • 空栏目与空分类页。栏目建好了,内容还没填,列表页就一直是空的。
  • 无结果的筛选与参数页。带参数的排序、筛选组合被访问,但匹配不到任何结果,页面照样返回 200。
  • 占位页与待建设页。为了占位而生成的一批页面,长期停留在「敬请期待」状态。
  • 正文只剩摘要或标题。列表页能看到标题,点进去只有一两句话,实质信息接近于零。

怎么把这类地址找出来

  1. 从日志入手。看哪些地址被蜘蛛反复访问,但对应的页面正文很短或为空。高频访问加无内容,基本可以判定。
  2. 抽查站点地图。把站点地图里列出的地址和实际页面内容对一遍,混进去的空页要先清理掉。
  3. 批量检查状态码与正文长度。用抓取工具跑一遍主要栏目,重点看返回 200 但正文长度明显偏低的地址。
  4. 看内链指向。站内有没有链接指向这些空页?如果导航、相关推荐、面包屑还在往外输送链接,需要一并处理。
  5. 给页面加个判空逻辑。内容为空时,让程序自动走另一条状态码,而不是默认渲染空白模板。

按情况选择处理方式

页面上还有可替代的内容

比如文章被合并到了新页面,或者栏目已经调整,就用 301 指到最相关的那一页。指向首页或随便一个上级页面意义不大,最好让访客和蜘蛛都能落到同一主题的内容上。

内容确实不再需要

如果这个地址以后不会再产生内容,返回 404 或 410 都比留着一个 200 的空页面更清楚。410 更明确一些,但在实际使用中,404 已经足够表达「这里没有东西」。

内容只是暂时缺失

短期内会补上内容的,可以先设置 noindex,同时把它从站点地图和站内链接里撤下来,等内容补齐再放开。不要让它以空壳状态长期挂在那里。

列表页与筛选页

空的列表页、无结果的筛选组合,最好不要返回 200。可以返回 404,也可以在保持可用性的同时加上 noindex。核心判断标准很简单:这个地址对访客有没有价值,如果没有,就不该给蜘蛛一个「可抓取」的信号。

把检查放进日常节奏

  • 新栏目上线前,先确认有没有内容可填,没有就暂缓开放入口。
  • 内容下架时,顺手确认一下状态码是不是按预期返回。
  • 每季度抽一次主要栏目,看有没有新冒出来的空壳页。
  • 把「正文为空」作为上线的检查项之一,而不是等出了索引问题才回头找。
软 404 的处理思路和死链不太一样:死链是修地址,软 404 是修信号。让返回 200 的页面都有实质内容,或者干脆不再返回 200,蜘蛛的每一次到访才更有意义。

这件事不需要一次做完。先从被抓取最多、内链指向最多的那批空页面开始,处理一批、观察一段时间,再处理下一批。比起追求数量上的彻底清理,稳定的持续维护更容易坚持。