先看扫描日志里最后一条成功返回的URL属于哪个目录或分页区间,再与站点地图、内链清单对比,而不是只看已扫数量。若日志保留了每个URL的抓取时间,可以按时间倒推中断点;若只显示总数,覆盖范围就无法精确判断,只能重扫或改用分段扫描。
扫描被中断时,工具通常只留下两类线索:已处理URL数量,以及最后一条记录。矛盾往往出在这里——数量看起来接近全站,但最后一条URL却停留在某个栏目中间。这时有两种合理解释。
第一种解释是扫描确实按顺序推进,中断点就是覆盖边界,最后一条记录之后的页面都没扫到。第二种解释是工具并发抓取多个队列,完成数量是乱序累加的,最后一条记录只代表某个线程的末尾,不代表整体进度。两者对应完全不同的下一步:前者可以补扫剩余区间,后者必须整站重扫,否则会留下看不见的空洞。
要判断属于哪种情况,可以检查以下证据,而不是凭感觉估算。
假设一个站点有A、B、C三个栏目,各100个URL。若已扫清单里A全部完成、B完成一半、C一个没有,且时间戳递增,可以判断中断点在B的中段,补扫B剩余部分和整个C即可。若已扫清单里A、B、C各有零散URL,时间戳交错,则覆盖范围无法用“补扫”修复,应整站重来。这个例子只是说明比较方法,实际数字以你的日志为准。
覆盖范围是否可信,还取决于扫描前设定的条件是否在中断前后保持一致。
这些条件不一致时,即使数量补齐,覆盖范围也不能视为完整。此时更稳妥的动作是固定同一套配置,把整站拆成按栏目或按URL段的小批次,每批单独记录起止URL,中断后只需重跑当前批次。
确认覆盖范围后,决策分两种。若证据支持顺序中断且配置未变,可以只补扫缺失区间,并在合并结果时标注两段的扫描时间,避免把不同时刻的响应混为一谈。若证据支持乱序中断或配置已变,应放弃拼接,改用分段扫描重新执行,并把每段的URL清单单独留存。
分段扫描的代价是总耗时增加,但换来的是中断后覆盖范围始终可判定:每段有明确的起止边界,任何一段失败都不影响其余段落的结论。对于已经有实际业务、需要把测速结果用于页面决策的站点,这个取舍通常比追求一次扫完更可控。
最后核对一点:具体工具的日志字段、并发模型和断点续扫能力各不相同,是否支持按区间补扫需要以你所用工具的当前说明为准,不能默认所有工具行为一致。