站长工具,一次全站扫描被中断后怎样判断已覆盖范围

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

站长工具,一次全站扫描被中断后怎样判断已覆盖范围

先看扫描留下的日志或进度记录,再按“已完成条目数、最大已处理URL、时间戳、错误类型”四个字段估算覆盖范围;如果这些字段都缺失,只能确认“部分URL被访问过”,不能推出任何覆盖率数字。下面用一个假设情境把判断过程走一遍。

假设情境:扫描到一半断开,先分清三种中断形态

假设你用某站长工具对一个约两万条URL的站点做全站扫描,跑到中途进程被杀或网络断开,页面显示“已扫描约八千条”。此时不要直接把这八千条当成覆盖率,先判断它属于哪种形态:

判断依据来自日志结构本身:如果每条记录带唯一序号且单调递增,倾向顺序型;如果序号跳跃、时间戳交错,倾向并发型;如果同一URL反复出现且状态码相同,倾向重试型。这一步的结论直接决定下一步该重扫全部还是只补缺口。

从日志里能提取哪些可核对的字段

缺少完整数据或后台权限时,仍可执行的最小动作是:只读取已落盘的日志文件或导出的部分结果,逐行提取以下字段,不依赖工具界面。

  1. 已处理URL总数:按去重后的URL计数,而不是按日志行数。重试型中断下两者差距可能很大。
  2. 序号或时间范围:最小与最大序号、最早与最晚时间戳,用来判断中断发生在列表的哪个位置。
  3. 状态分布:200、301、404、超时各占多少。如果大量条目是超时而非成功,说明“已访问”不等于“已获取有效结果”。
  4. 错误集中区间:若错误集中在某个序号段之后,可能中断前已经出现异常,覆盖范围要往前收缩。

把去重URL数与站点已知URL总量对比,得到一个粗略比例。这个比例只能作为区间估计,不能当作精确覆盖率。请求量归零或日志停止增长,也可能是进程被挂起、限速等待或磁盘写入失败,不必然代表扫描正常结束。

用抽样验证代替全量重扫

如果重扫成本高,可以先做一次小规模抽样,验证“已完成区间”是否真的完整。具体动作:从日志声称已完成的序号段中,随机抽20到50条URL,用同一工具或简单请求逐条访问,记录是否能在日志中找到对应记录。

结果如何影响下一步:

抽样数量不必大,但必须随机,且要覆盖不同序号段,否则只能说明某一个区间的状态。

哪些结论不能从中断数据里推出

中断后的部分数据,可以支持“哪些URL已被处理过”的判断,但不能支持以下结论:

换句话说,中断数据的用途是定位缺口和决定重扫范围,不是替代完整扫描的结论。

把判断结果转成下一步动作

走完上面几步后,通常会落到三种决策之一:

每次重扫后,保留新旧日志并对比覆盖区间,确认缺口是否真的被补上。这样即使工具本身不提供覆盖率报告,你也能用日志字段和抽样结果,对已覆盖范围给出一个有依据的判断。

图1 图2

nginx