判断死链问题属于哪一层,核心是看它发生在“抓取—索引—展示”的哪一环,以及修复它需要动多少东西。最省事的判断方法是:先看死链的返回状态码和来源链接,再确认它是否被搜索引擎抓取过、是否出现在索引或站内导航中。如果只是一个孤立页面返回404,通常属于内容层;如果大量内链指向同一批失效地址,属于链接结构层;如果整站规则误伤,属于服务器或配置层。时间和人手有限时,优先处理“被大量内链引用且返回404”的链接,因为它的影响面最大、修复代价通常只是改几处链接或加一条跳转。
死链优化不是把所有404都消灭,而是按层级决定先动哪一块。可以用下面的对照快速归类:
robots.txt、CDN回源或跳转链配置错误,导致整批URL异常。特征是失效URL成规律出现,比如同一目录下全挂。修复代价高,但一次改动能覆盖一大片。注意,robots.txt 的抓取限制不等于可靠的索引移除。屏蔽抓取后,已收录的旧地址仍可能出现在结果里,因为它无法被重新抓取来确认失效。所以配置层的修改要分清“阻止抓取”和“让页面返回正确状态码”是两件事。
拿一条可疑死链,按顺序做三步,基本能判断它属于哪一层:
site: 加具体URL(不同搜索引擎支持情况须分别核查),如果能查到旧标题,说明索引层还没更新。此时即使链接已改,也需要时间让搜索引擎重新抓取。假设一个例子:某产品页改版后URL从 /p/123 变成 /product/123,旧地址返回404。检查发现旧地址被导航和20篇文章引用,且搜索结果里仍有旧标题。这属于链接层加索引层:先批量把内链改成新地址,再对旧地址做301跳转到新地址,最后等待重新抓取。如果只改了内链却没做跳转,外部链接和用户收藏仍会撞404。
时间和人手有限时,不要按“发现顺序”修,而按下面两个维度排:
一个可执行的排序步骤:先导出所有返回404的URL,按来源链接数量从多到少排;把来源数量大于某个阈值的挑出来,优先修;剩下孤立死链可以批量做410或保留404,不必每条都补跳转。判断结果:如果一批死链集中在同一目录且来源都是同一个模板,那它不是内容层问题,而是链接层或配置层问题,改模板比逐条改链接更省事。
改完之后,用同一套检查项复验:状态码是否变成200或301到有效页面;来源链接是否已不再指向旧地址;索引里的旧标题是否逐渐被新标题替换。如果状态码正确但索引仍显示旧内容,说明问题在索引层,继续等待或通过站点地图提交新地址即可,站点地图不保证收录,它只是帮助发现。如果状态码仍异常,说明配置层没改对,需要回查重写规则和跳转链。
下一步:从你手头能拿到的死链清单里,先挑出被内链引用最多的10条,按上面的三步检查项逐条标注层级,再决定是改链接、加跳转还是改配置。