用死链修复工具识别配置冲突,核心不是看工具报了多少条死链,而是把“修复后仍反复出现同一批死链”当作信号,逐层比对几处配置对同一URL的指令是否互相矛盾。常见冲突来自robots.txt、站点地图、跳转规则、canonical标签和服务器重写规则之间对同一路径给出不同结论。时间和人手有限时,先查影响面最大、改动成本最低的一层,再往下查。
把交付结果定成一句话:目标URL返回的状态码、可抓取性和最终落地页三者一致,且重复抓取不再出现新的同类死链。围绕这个结果,必需资料包括:一份待处理URL清单、各URL当前返回的状态码、robots.txt内容、站点地图文件、跳转规则表、页面canonical声明。任务分工上,抓取数据由工具产出,配置比对由人工完成,验收由同一份URL清单复测。判断结果的方式是:同一URL在两次抓取中状态一致,且不再出现在新增死链列表里。
这些组合里,只有循环跳转能直接从“重定向次数过多”这一现象定位;其余几种现象都有多个解释,例如404既可能是文件确实不存在,也可能是重写规则写错,还可能是大小写不匹配,不能一看到404就断言原因。
curl -I https://example.com/old-page。时间有限时,第3步和第4步优先做,因为robots.txt与站点地图的矛盾只需改一处文本,影响却覆盖整批URL。第5步和第7步放在其次,跳转循环虽然危害大,但通常只影响少数路径。
假设某站点对/product/123做了如下配置:robots.txt中Disallow该路径,站点地图中仍列出该URL,服务器规则把该路径301到/products/123,而/products/123页面的canonical又写回/product/123。工具抓取时会先因robots限制无法正常获取内容,跟随跳转后又发现canonical指回被禁止的地址,于是每次抓取都报异常。判断方法:把四处配置并排核对,只要有一处结论与其他三处不同,就是冲突点。本例中应先移除robots.txt的Disallow或从站点地图删除该URL,再修正canonical方向,最后复测。
验收看三项:同一URL清单复测后状态码是否稳定、跳转链是否在一到两跳内结束、canonical是否与最终落地页一致。不要用“工具不再报错”作为唯一标准,因为工具可能只是暂时没抓到;也不要用“已提交站点地图”当作修复完成的证据。不同搜索引擎对robots.txt、canonical和跳转的处理细节并不完全相同,涉及具体搜索引擎时应分别核查其官方文档,而不是假设一套规则通用。
下一步:从当前死链清单里挑出出现次数最多的10条URL,按上面的七步逐条记录状态码、robots状态、站点地图收录情况和canonical指向,做成一张对照表,冲突点会直接显现出来。