网站死链查询,怎样取得可复查的状态证据

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

网站死链查询,怎样取得可复查的状态证据

可复查的状态证据,指的是你在某个时间点对某个URL发起请求后,留下的状态码、最终跳转地址、响应时间、请求方式和抓取时间,并且这些记录能被另一个人用同样的方法复现。只截图“打不开”不算证据,因为它无法区分是服务器返回404、DNS解析失败、连接超时,还是被robots.txt拦住。

先区分两类证据:直接响应与间接判断

直接响应来自你对目标URL发起的HTTP请求,比如curl -I https://example.com/page返回的HTTP/1.1 404 Not Found。间接判断来自抓取工具的报告、站长平台的状态提示、日志里的记录。两者用途不同:直接响应适合复核单个URL,间接判断适合发现大批量问题,但最终确认仍应回到直接请求。需要注意,robots.txt的抓取限制不等于可靠的索引移除,它只约束爬虫抓取行为,不代表该URL已从索引中消失。

可执行清单:每项查什么、怎么查、结果说明什么

  1. 查HTTP状态码。用curl -I -L或浏览器开发者工具的Network面板,记录首次响应码。结果说明:404/410表示资源不存在;301/302表示发生了跳转,需要继续看最终地址;5xx表示服务端问题,与死链性质不同。
  2. 查最终落地URL。加-L跟随跳转后,记录最终返回200的地址。结果说明:如果最终地址与预期一致,说明是跳转链过长而非死链;如果最终仍为404,才是真正需要处理的断链。
  3. 查是否被robots.txt拦截。请求/robots.txt并查看对应User-agent的Disallow规则。结果说明:被拦截只意味着爬虫不会抓取,不能据此判断页面是否已从索引移除,也不能替代死链判断。
  4. 查DNS与连接层。用curl -v观察是否卡在域名解析或TCP连接阶段。结果说明:解析失败或连接超时属于可用性问题,与返回404的处理方式不同,不能混为一类。
  5. 查响应时间与请求方式。记录耗时和HEAD/GET的差异。结果说明:部分服务器对HEAD返回404而对GET返回200,此时应以GET结果为准,并在记录中注明请求方式。
  6. 查站点地图与内链中的引用。在站点地图和页面源码中搜索该URL。结果说明:站点地图里存在不保证被收录,但若站点地图仍引用已404的URL,应优先清理或替换。

两种处理方案的比较条件

方案一:逐条直接请求并手工记录。适合URL数量少、需要精确复核的场景,成本是时间,优点是证据链完整、可复现。方案二:用抓取工具批量扫描后抽样复核。适合URL数量大、需要定期巡检的场景,成本是工具配置与结果筛选,优点是覆盖面广,缺点是工具报告可能滞后或误报,必须抽样用方案一验证。判断依据是:如果问题集中在少数关键页面,选方案一;如果需要对整站做周期性检查,选方案二,但保留直接请求作为最终确认手段。

记录格式与判断结果

每条证据至少包含:URL、请求时间、请求方式、状态码、最终URL、耗时、使用的命令或工具。假设某页面返回301到另一个同样返回301的地址,最终404,这属于跳转链断裂,处理方式是修正跳转目标而不是删除原URL。如果返回410,说明资源被明确标记为永久移除,与404的处理优先级可以不同。所有记录应保存原始输出,而不是只写结论,否则无法复查。

下一步:选取一个你怀疑已失效的URL,用curl -I -L执行一次并保存完整输出,再与抓取工具报告中的同一URL比对,确认两者是否指向同一状态。

图1 图2

nginx