网站死链检查工具-怎样排除缓存造成的假象

📍 WDQWDWQD987AAAAA:216.73.216.163
📱 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
🔗 /4600f8c0b017.html
📄

网站死链检查工具-怎样排除缓存造成的假象

用网站死链检查工具扫出一批404、410或超时链接时,先不要急着改页面或删链接。缓存造成的假象很常见:工具读到的是CDN边缘节点、浏览器、代理服务器或DNS缓存里的旧响应,而不是源站当前的真实状态。排除办法是绕过缓存重新请求同一URL,对比两次结果,再决定是否真的存在死链。

先确认工具拿到的是哪一层响应

要查什么:工具返回的状态码、响应头和最终URL,是否来自源站。

怎么查:对可疑URL用curl -I请求,观察响应头里有没有Age、X-Cache、CF-Cache-Status、X-Cache-Hits这类字段。再用带随机查询参数的同一URL请求一次,例如?cachebust=20240101。

结果说明什么:如果带随机参数的请求返回200,而原URL返回404,说明原URL很可能命中了旧缓存;如果两次都返回404,缓存嫌疑下降,需要继续查源站配置。

用强制回源请求做对比

要查什么:源站在不使用缓存时到底返回什么。

怎么查:在请求头里加Cache-Control: no-cache和Pragma: no-cache,或者直接请求源站IP并带上Host头。部分CDN还支持通过特定请求头触发回源,具体字段需要查你所使用服务的文档。

结果说明什么:源站返回200而CDN返回404,属于缓存层问题,应清理该URL的缓存或调整缓存规则;源站也返回404,才是真正的死链,需要修复链接或设置跳转。

逐项排查容易伪装成死链的缓存来源

把确认后的结果写进检查清单

要查什么:哪些链接是真死链,哪些只是缓存假象。

怎么查:对每个可疑URL记录三项——工具原始状态码、强制回源状态码、带随机参数状态码。三者一致为404,判定为真死链;仅工具原始请求为404,另外两项为200,判定为缓存假象。

结果说明什么:真死链进入修复队列,做301跳转或更新链接;缓存假象进入缓存规则检查队列,确认TTL设置和清除机制是否合理,避免下次扫描再次误报。

复测时注意这些判断条件

缓存清除后不会瞬间全网生效,边缘节点可能有传播时间,复测应间隔进行并记录每次结果。robots.txt限制抓取不等于页面已被移除,工具报错时不要把抓取限制当成死链结论。站点地图里的URL也不保证被收录或可访问,仍需实际请求验证。HTTPS只说明传输加密,不代表页面一定存在。不同搜索引擎和抓取工具的缓存策略不同,同一URL在不同工具里结果不一致时,以强制回源结果为准。

下一步:挑出扫描结果中状态码为404或410的URL,逐个执行强制回源请求,把返回200的标记为缓存假象并检查缓存规则,把返回404的列入真实死链修复清单。

图1 图2

nginx