很多站长判断抓取是否正常时,只看蜘蛛有没有来。但抓取其实是两步:先请求,再判断这次请求值不值得继续。有些页面确实被蜘蛛抓到了,返回的也是 200,可它既没有内容,也没有可继续跟随的链接,蜘蛛来过一次之后就很少再来。这类页面通常被归为软 404 或空壳页面,它们不报错,却在慢慢消耗站点的抓取资源。
什么是软 404 与空壳页面
软 404 指的是页面实际不存在或已失效,但服务器仍然返回 200 状态码,并在页面上给出「内容不存在」「已下架」之类的提示。空壳页面则更宽泛:状态码正常,但页面主体只有模板、导航和占位文案,没有实质信息,也没有明确的下一步入口。两者共同的特点,是让蜘蛛无法从这次抓取中得到有效内容,也很难判断这个 URL 接下来还会不会有变化。
它们对抓取路径的三层影响
消耗抓取预算
蜘蛛在一段时间内能抓的页面数量是有限的。大量空壳页面占用了请求次数,真正需要更新的页面就要排队等待。
打断内链路径
如果一个栏目页或列表页里,大量链接指向的都是空内容页面,蜘蛛顺着这些链接继续走的意愿会下降,新的有效 URL 也更难被连续发现。
影响站点整体判断
蜘蛛对站点的抓取投入,往往和它对站点的整体印象有关。空壳页面比例偏高时,它可能倾向于降低抓取频率,这对新内容产出较多的站点尤其不利。
常见的产生场景
- 电商站点的无库存、已下架商品页,旧 URL 仍然保留
- 筛选条件与站内搜索组合出的无结果页面
- 活动结束后没有下线的专题页、报名页
- 分页参数越界,翻到超出范围的页码
- 需要登录或特定条件才能看到内容的页面,蜘蛛访问时只剩提示文案
- 聚合页面在抓取数据失败时,只剩下标题和空白区块
怎么排查
- 从服务器日志中筛选返回 200 但页面体积明显偏小的 URL,先看它们集中在哪些目录。
- 抽样打开这些地址,对比蜘蛛 UA 与普通浏览器的返回内容,确认是不是条件判断导致的空页面。
- 把页面按有内容、内容很少、完全没有内容三档分类,不要一上来就全站处理。
- 检查这些 URL 的内链来源,看看是哪个列表页或模板在批量输出它们。
处理时的顺序
处理的原则是按页面真实状态给出明确答案,而不是一律用同一种方式掩盖。
确实不存在的内容,应返回 404 或 410,并从列表页和内链中移除入口,让它自然退出抓取队列。暂时没有内容但会恢复的页面,可以保留地址,但不要在页面上堆砌无关文案充数;必要时用 503 表达暂时不可用,同时注意不要长期使用。内容确实很薄的页面,优先考虑合并到相关页面,或者补充有效信息,而不是让它单独占一个 URL。
筛选页和分页参数造成的空结果,更适合在参数层面收敛,避免生成大量无意义的组合地址,这比逐个页面处理更省力。
别用抓取速度换内容质量
清理空壳页面之后,短期看被抓取的 URL 数量可能下降,但留下来的地址更接近真实内容,蜘蛛后续对站点的抓取节奏通常更稳定。
需要提醒的是,不要为了清理空壳页面就给整站加 noindex,也不要让正常栏目页跟着一起被拦。清理的目标是让每个被抓取的地址都有明确含义,而不是单纯减少被抓取的数量。可以先选一个小范围目录做验证,观察一段时间内有效页面的抓取变化,再决定是否扩大处理范围。
抓取这件事,蜘蛛愿意继续顺着链接走下去,往往比单次抓到多少页面更重要。软 404 和空壳页面不会立刻造成明显问题,但它们会让抓取路径越走越窄。定期检查返回 200 的薄内容页面,把入口整理清楚,抓取资源才能落在真正需要被发现的 URL 上。