识别配置冲突的关键不是先修链接,而是把同一路径在不同配置层的判断结果并列出来:如果robots.txt、页面级meta robots、站内跳转规则、CDN或服务器重写规则对同一URL给出不同结论,冲突就已经存在。测试死链接时,这类冲突常表现为“工具说404,浏览器能打开”“页面能打开,但被禁止抓取”“已改成新地址,旧地址仍返回200”,交付前必须逐条定位到具体配置层,而不是只看最终状态码。
一个URL从请求到返回,会经过多个判断点。排查时按下面顺序记录每一层的输出,不要跳步:
把同一URL在四层的结果填进一张表,冲突会直接暴露。例如robots.txt允许抓取,但页面响应头是noindex;或者sitemap提交的是旧地址,而服务器已把旧地址301到新地址。
测试死链接时,至少对每个可疑URL做三类请求,并记录状态码、最终URL和响应头:
如果普通请求返回200,而带爬虫UA的请求返回403或404,说明服务器或CDN层存在基于UA的访问规则,这类规则可能与robots.txt的声明冲突。判断依据是:robots.txt写的是“允许抓取”,但实际请求被拒绝,二者不一致就属于配置冲突,需要回到规则文件核对。
死链接修复后常见的隐藏冲突是跳转链和canonical各指一个地址。检查项如下:
只要跳转终点、canonical目标、sitemap地址三者不一致,搜索引擎收到的信号就是矛盾的。适用条件是这些地址内容相同或高度重复;如果内容本就不同,应先决定保留哪一个,再统一其余配置。验收信号是:访问旧地址得到单次301,终点页面canonical指向自身,sitemap只列终点地址。
同一个现象可能有多种解释,不能直接下结论。例如“工具报告死链接,但手动访问正常”,可能原因包括:
只有当你复现了请求、拿到状态码和响应头,并确认规则文件与实际返回不一致时,才算“已定位的配置冲突”。否则只能记为待验证项,交给下一位协作者继续核对,避免把猜测写进交付文档。
为减少返工,每个被处理的死链接应留下可复查的记录:原URL、当前返回状态码、跳转终点、robots.txt对该路径的规则、页面canonical值、sitemap是否仍包含旧地址、修改人和核对时间。验收时抽查其中三条,确认四层判断结果一致。若发现robots.txt禁止抓取但页面仍被索引,不要把它当作索引移除手段,应改用页面级noindex并确认抓取未被阻止,这两者的作用范围不同。
下一步:挑出你当前死链接清单里返回状态最矛盾的三条,按上面的四层表格逐项填写,把不一致的层标出来,再决定改哪一层。