站内链接本质上是一张图,搜索蜘蛛顺着这张图从一个节点走到下一个节点。图里任何一个节点返回错误,路径就在那里断掉。断一处看似只是少了一个页面,实际影响往往沿着链接往上蔓延:原本可以由此继续前进的深层页面,失去了被发现的一条通路。
三种“撞墙”并不一样
硬 404 是最干脆的一种:地址不存在,服务器直接给出明确答复。蜘蛛很快会放下这个地址,把注意力转回有效页面。
软 404 麻烦得多:页面返回 200,状态看起来正常,但内容为空,或者正文只写了一句“内容不存在”“已下架”。蜘蛛需要额外判断才能确认这里没有东西可抓,判断成本比你想象的高。
还有一类介于两者之间的空壳页,比如无结果的筛选页、站内搜索页、JS 渲染失败后留下的空白容器。它们有完整模板,有导航有页脚,唯一缺的是主体内容。
死胡同的代价不止一个页面
- 抓取额度被消耗在没有产出的地址上,真正需要复查的页面往后排。
- 通往深层页的链接通路被切断,新 URL 的发现速度随之变慢。
- 蜘蛛可能在后续几次回访里重复确认同一批失效地址,形成无效往返。
- 用户和蜘蛛被同时引向无内容页面,跳出率与抓取效率一起变差。
哪些情况最容易长成软 404
- 筛选、排序、分页参数超出有效范围,生成了空列表页。
- 商品下架、文章删除之后,模板页仍然保留并返回 200。
- 站内搜索结果页被外部链接或内链大量指向。
- 依赖脚本渲染的页面,脚本失败时只留一个空容器。
- 过期活动页只改了文案,没有调整状态码或跳转。
处理思路:先定状态,再修路径
状态码决定蜘蛛怎么理解这个地址,路径决定它还能不能继续走。两件事要分开做,但都要做。
- 永久下线且存在替代页:301 跳转到内容最接近的有效页面,避免跳到首页这种泛化目标。
- 永久下线且没有替代:用 410 或 404 明确表态,不要用 200 硬撑。
- 临时下架:保留 200,同时补充说明性内容和相关链接,别让页面空着。
- 空结果页:无结果时返回 404 或加 noindex,并从内链与 Sitemap 中撤掉入口。
- 修复指向失效地址的入口:导航、正文内链、相关推荐、页脚,都要跟着一起改。
别忽略链接通路本身
处理完状态码只是第一步。深层页通常依赖少数几条固定链接进入,如果其中某一条正好是失效地址,页面与入口之间的跳数就会增加。跳数一多,被发现的概率和复查频率都会下降,表现上很像“内容没更新所以不抓”,实际是路断了。
所以修完 404,建议再沿原路径走一遍:从首页出发,看还能不能靠点击到达那些目标页面。如果必须绕远路,说明需要补一条更直接的入口链接。
定期自查的几个动作
- 每月做一次全站链接扫描,按被指向次数排序失效 URL,优先修高价值的。
- 看抓取日志里 404 的占比和集中位置,判断是零散失效还是成片塌陷。
- 检查 Sitemap 是否还在推送已经删除或下线的地址。
- 确认站内搜索页、多级筛选页没有被大量内链指向。
- 新页面上线前,检查它引用的旧版本地址是否已经失效。
一个 404 本身并不致命,真正的问题是它出现在通往几十个有效页面的必经之路上。
把死链当成路径问题而不是页面问题来看,处理顺序会更清楚:先让错误地址有明确答复,再让链接图重新连通。做完这两步,抓取节奏通常会在之后的一段时间里逐步恢复,剩下的就是内容和更新的功夫了。