结论先行:如果遗留系统不能改模板,你仍然可以用死链工具做“发现、分流、拦截”三类动作,但调整边界止于服务器响应层和链接入口层,不要指望从页面内部修正链接。一旦目标是把已返回 404 的 URL 恢复成可访问内容,这套边界就会失效,必须回到改模板或改应用逻辑。
遗留系统改不了模板,通常意味着页面里的 <a href>、导航、分页和正文内链都动不了。此时可动的层级只剩三个:服务器重定向配置、robots 与站点地图等抓取信号、以及外部入口链接。死链工具在这三层里的作用不同,判断标准也不同。
先做这个判断,再决定死链工具要输出什么清单。如果三层都动不了,工具只能帮你确认问题规模,不能帮你解决它。
假设你在一个遗留电商站上抽样了 20 个 404 链接,发现其中 18 个都能用一条通配重定向规则指向对应分类页,于是判断“重定向就够了”。这个结论在小样本上成立,规模化后却可能失效。
反例来自 URL 结构本身:如果旧链接是 /product?id=1024 这类查询串形式,而新站是 /category/name 这类路径形式,通配规则无法从查询串推导出目标路径。此时重定向只能落到首页或分类首页,用户和爬虫拿到的是“能打开但不对应”的页面。这类软 404 不会在死链工具里显示为错误状态码,却会让调整看起来成功、实际无效。
区分这两种情况的证据是状态码与目标页面的对应关系:
这一步的结果直接决定下一步:能推导的组交给重定向规则,不能推导的组要么保留 410 明确告知失效,要么推动改应用逻辑生成映射表。
这三个手段常被混用,但适用条件差别很大。
robots.txt 适合阻止爬虫继续抓取已经无意义的路径,比如大量带参数的筛选页。但它不适合用来“删除”已收录页面,因为抓取限制与索引移除是两件事。若目标是让页面从结果中消失,robots 通常不是充分手段。
站点地图 适合提交仍然有效、希望被发现的 URL。它不保证收录,也不适合用来标记死链。把 404 URL 放进站点地图,只会制造矛盾信号。
状态码 是最直接的一层:301 表示永久迁移到新地址,410 表示永久消失,404 表示未找到。选择哪一个,取决于你是否有一个语义对应的新地址。没有对应地址时,410 比强行 301 到首页更诚实,也更利于后续判断。
如果站点使用 HTTPS,也不要把它当作已经解决安全或排名问题的证据。HTTPS 不保证安全无漏洞或排名,它只是传输层的一个条件。不同搜索引擎对上述信号的支持情况须分别核查,不要用一家平台的观察结果直接推断另一家。
在模板不可改的前提下,建议按这个顺序执行:
这个动作的结果会直接改变下一步:如果重定向后目标页返回 200 且内容语义一致,说明服务器层调整有效,可以扩大到同组其余 URL;如果目标页返回 200 但内容不相关,说明需要回到应用层做映射,服务器层已到边界;如果状态码没有变化,说明配置未生效或存在更高优先级的规则覆盖,应先排查配置层级,而不是继续增加规则。
最后提醒一点:抓取量或某个统计归零,不能单独证明处理正确。它也可能是爬虫暂时降低频率、日志采样变化或规则误拦截造成的。判断调整是否成立,仍要回到状态码与目标页面的对应关系上。边界清楚的调整,比看起来全面但无法验证的调整更可靠。