中断后最可靠的做法不是看进度条,而是把“已发出请求的URL清单”和“已成功返回并解析的URL清单”分开核对,用两者交集确定真正覆盖范围。进度条停在某个百分比,只能说明任务被中止,不能说明哪些页面已经处理完成。
同一次全站扫描被中断,团队里常出现两种说法:一方认为“已经跑了大半”,另一方认为“数据不能用”。分歧通常来自对中断位置的判断不同。
这两种情况下,“已覆盖范围”的含义完全不同。请求层中断时,覆盖范围应以成功返回响应的URL为准;解析层中断时,覆盖范围应以成功写入结果集的URL为准。把两者混为一谈,就会得出互相矛盾的结论。
要判断实际覆盖范围,需要把扫描过程拆成可核对的清单。假设一次扫描面对1000个URL,中断时工具显示进度为62%。这个数字本身不能直接当作覆盖率,因为它可能按请求数、按批次或按预估总量计算。
把三份清单按URL逐一比对,可以得到四个区间:已请求且已解析、已请求未解析、未请求、请求失败。真正需要补扫的是后三个区间,而不是简单重跑全站。假设已请求清单有620条,其中已解析580条,那么可用的覆盖范围是580条,而不是620条,更不是进度条显示的62%。
即使URL已经解析,也不代表它进入了有效覆盖范围。以下情况会让一条URL虽然被处理,却无法用于排名分析:
因此,判断覆盖范围时要再分一层:已解析清单中,有多少条具备可分析的字段。这个数字才是有效覆盖范围。如果有效覆盖范围明显小于已解析数量,说明中断前已经存在质量问题,不能全部归因于中断本身。
面对中断后的分歧,建议按以下顺序操作,每一步的结果都会影响下一步:
这个顺序的关键在于:先确认哪些URL真的没被处理,再决定补扫什么。直接重跑全站看似省事,但会把已经解析的URL再处理一遍,既拉长时间,也可能覆盖掉中断前已经拿到的可用结果。
运营、技术和管理角色对“覆盖了多少”往往有不同参照。运营看的是可分析页面数,技术看的是请求成功数,管理看的是任务完成百分比。把分歧转成可核对的项目,需要统一口径:以哪份清单为基准、以哪个字段为完成标志、以哪个时间点的导出为准。
假设一次中断后,技术侧报告请求成功900条,运营侧只认可600条可用于分析。差异可能来自300条页面返回了内容但字段为空。此时不需要争论谁对谁错,只需要把两份清单按URL对齐,逐条标注状态。标注完成后,覆盖范围自然收敛为一个双方都能核对的结果。
如果工具本身不提供已请求与已解析的分层导出,那么中断后的覆盖判断只能依赖日志或外部记录。这种情况下,具体功能需要核对工具当前版本的实际能力,不能假定某个按钮或导出项一定存在。