网站收录

软 404 与空壳页面:蜘蛛怎么判断一个地址“没有内容”

服务器返回 200,页面却几乎没有内容,这类地址通常叫软 404。它不会在日志里报错,却会在索引报告里慢慢堆积。本文说明软 404 与真正 404 的区别、空壳页面的常见来源、搜索引擎判断“无内容”时参考的几类信号,以及从状态码、参数规则和模板层面处理的具体步骤。

网站收录

软 404 与空壳页面:蜘蛛怎么判断一个地址“没有内容”

服务器返回 200,页面上却几乎没有内容——这种状态在访问日志里看不出任何异常,在索引报告里却会慢慢堆积。这类地址通常被称为软 404(soft 404),指的是“HTTP 状态码表示成功,但内容上等价于不存在”的页面。

软 404 和真正的 404 差在哪

硬 404 是服务器明确告诉蜘蛛“这个地址没有东西”,蜘蛛会较快把 URL 从索引里拿掉。软 404 则相反:状态码是 200,蜘蛛要读完整个页面、甚至渲染之后,才能判断出这是个空壳。判断成本更高,也更容易出现反复抓取、反复评估的情况。

哪些页面容易变成空壳

  • 筛选或搜索参数生成的结果页,条件组合没有匹配项,只剩一句“暂无结果”。
  • 商品下架、文章删除后仍返回 200 的详情页,正文区已经为空。
  • 分页越界,例如实际只有 3 页,第 50 页却照常渲染出一个空列表。
  • 模板占位页:只保留标题、导航和页脚,主体内容依赖接口,而接口没有返回数据。
  • 需要登录才能看到内容的页面,未登录状态下只有一段登录提示。

蜘蛛用来判断“没内容”的信号

搜索引擎不会只看字数,通常是多个维度叠加:

  • 可读正文与模板的占比,正文太少、导航和页脚占了大部分版面。
  • 与站内其他页面的相似度,大量页面共用同一段提示语,容易被归为重复或空页。
  • 页面结构,正文容器为空,或者只有列表外壳没有条目。
  • 链接情况,页面上没有可用链接,或者全部指向同一批导航地址。
  • 渲染结果,前端框架渲染后仍是空白,与初始 HTML 没有实质差异。
状态码 200 只代表“这次请求被成功处理”,并不代表“这个地址值得进索引”。

处理思路

  1. 确实没有内容的地址,直接返回 404 或 410,不要用 200 硬撑。
  2. 如果是暂时缺货、临时维护,用 503 加 Retry-After,比返回 200 空页更清楚。
  3. 搜索、筛选类参数页,可以考虑加 noindex 或做抓取限制,同时避免在站内大量链接到它们。
  4. 分页越界的 URL,重定向到最后一页,或者干脆返回 404。
  5. 需要登录的内容,用 200 展示登录提示并不算错,但不要让它成为内链的主要落点,更稳妥的是让这部分不进入索引。
  6. 已经进索引的空壳页,状态码修正后会逐步退出,不必急于一次性全部改完。

怎么找到站内的软 404

从日志里找最有价值:同一批 URL 被反复抓取,但页面正文长期很短,或者渲染后内容几乎一致,就值得抽查。也可以在搜索、筛选、分页这些入口上随机取样,看看有没有“条件为空”的情况被模板渲染成了完整页面。

配合索引报告一起看

索引报告里的“已抓取 - 尚未编入索引”和“软 404”分类,经常指向同一批页面。数量不多时可以人工判断;数量大时优先改模板和参数规则,而不是逐个改页面。

软 404 的麻烦在于它不报错。服务器日志显示 200,页面也能打开,只有蜘蛛在后台默默把这些地址标成低价值。定期检查空壳页面,比事后清理索引要省事得多。