用死链检测工具拿到一份URL状态清单后,先看每一行记录的是哪一层结果:是工具发请求后得到的HTTP响应,还是搜索引擎已经抓取并放进索引的记录。两者混在一起,就会把“服务器返回404”误当成“已被索引”,或者把“抓取成功”误判成“页面已收录”。下面这份清单按优先级排列,适合时间和人手有限时先处理。
要查什么:工具输出里的状态码、抓取时间、来源字段。怎么查:打开死链检测工具的导出结果,逐列辨认。若字段是HTTP状态码(200、301、404、410、500等),它描述的是访问抓取层;若字段是“已索引”“未索引”“收录状态”,它描述的是索引层。结果说明什么:状态码只能证明请求那一刻服务器如何响应,不能证明搜索引擎是否收录;索引状态也不能说明服务器当前是否能正常访问。判断顺序是先看访问抓取,再看索引。
要查什么:工具报出的404或超时是否真实存在。怎么查:对清单中优先级最高的几条URL,用命令行或浏览器开发者工具发起一次请求,观察响应码和重定向链。例如:
curl -I -L https://example.com/old-page
结果说明什么:返回404或410,说明访问抓取层确实不可用;返回200但内容为空或为错误页,说明是软404,需要单独处理;返回301或302,说明是跳转而非死链。若工具显示404而直接请求返回200,可能是工具请求头、UA或超时设置导致的误报,应以可复现的直接请求为准。
要查什么:robots.txt是否屏蔽了该URL,页面是否带有noindex。怎么查:先读取站点根目录的robots.txt,确认目标路径是否被Disallow;再查看页面HTML的<meta name="robots">或响应头中的X-Robots-Tag。结果说明什么:robots.txt的抓取限制不等于可靠的索引移除,被屏蔽的URL仍可能因外部链接出现在索引中;noindex才是针对索引的指令,但需要搜索引擎重新抓取后才能生效。两者不能互相替代。
要查什么:目标URL是否出现在站点地图中,以及搜索引擎是否返回了该URL的索引记录。怎么查:在站点地图文件中搜索该URL,再用搜索引擎的站点查询语法检查索引情况。结果说明什么:站点地图不保证收录,它只是提交候选URL的渠道;索引查询返回结果,说明该URL至少曾被收录,但不代表当前可访问;索引查询无结果,可能是未收录、已移除或查询方式不匹配。不同搜索引擎支持情况须分别核查,不能用一个引擎的结果推断另一个。
要查什么:哪些死链有内链或外链指向,哪些只是孤立旧页。怎么查:在工具结果中按“被链接次数”或“来源页面数”排序,优先处理有站内入口的URL。结果说明什么:有内链指向的404会持续消耗抓取预算并影响用户路径,应优先修复或设置301;孤立且无链接的旧页可以放到最后,直接返回410或保留现状。适用条件是时间和人手有限,判断依据是链接来源数量,而不是URL总数。
下一步:从导出清单中筛出“HTTP状态为404或410且存在站内来源链接”的URL,先对这批URL做一次直接请求复核,再决定修复、跳转还是移除。