先看扫描器有没有留下可续跑的进度记录,而不是重新点一次“开始”。如果它按URL队列或分页游标保存了断点,已覆盖范围大致等于“已完成队列 + 当前批次的已返回结果”;如果只显示一个百分比或总条数,那这个数字通常不能直接当作覆盖证据,需要结合日志、导出文件和站点自身清单交叉核对。
中断后的判断方式,取决于工具是否把任务状态持久化。可续跑的工具一般会保留任务ID、已抓取URL列表或批次游标,重新进入同一任务时能接着上次的位置继续。只能重跑的工具在进程结束后状态丢失,界面上的进度条归零或回到初始值。
判断属于哪一种,可以做一个最小验证:对同一任务点击恢复或继续,观察它是从中间位置开始,还是从第一条URL重新开始。这个动作的结果直接决定下一步——能续跑就补尾部,不能续跑就改用分段策略。
单一进度数字不足以支撑结论。更可靠的做法是把工具侧证据和站点侧证据对齐:
假设一个场景:站点有1万条URL,工具显示已完成63%后中断。导出已完成列表只有5400条,而sitemap有1万条,那么差集4600条就是待补范围——此时63%这个比例与导出条数不一致,应以导出列表为准,因为百分比可能是按批次估算的。这是假设例子,用于说明比较方法,不代表任何工具的实际表现。
覆盖范围判断清楚后,接下来是对当前任务的取舍,三种选择各有适用前提:
一个实际动作是:先做一次差集计算,如果差集数量占总量比例很小且断点可续,就保留;如果差集混乱、无法对应到具体URL,就改写为分段任务;如果连导出功能都受限,就考虑退出。这个动作的结果——差集是否可解释——直接决定你选保留还是改写。
请求量归零、进度条走满、错误数为零,这些都不能单独说明全站已被正确覆盖。请求量归零可能是因为任务被中断后没有重启,也可能是因为剩余URL被去重规则过滤;错误数为零可能是因为大量URL被跳过而根本没请求。要排除这些解释,需要回到URL级差集,而不是停留在汇总指标上。
另外,覆盖范围只说明“扫过”,不等于“结果可用”。如果已完成部分的抓取时间跨度很大,或站点在中断期间发生了改版,那么前后两段数据可能对应不同的页面状态,合并使用前要先确认这一点。
补跑完成后,再做一次差集:站点清单减去工具导出列表,结果应为空或只剩已知的排除项(如robots禁止的路径)。同时检查重复项:同一URL是否出现两次以上抓取记录,重复通常来自断点位置不准或子任务边界重叠。如果差集为空且无重复,覆盖范围才算闭环;如果仍有缺口,说明断点估算或分段边界需要调整,再决定是继续补跑还是缩小任务粒度。
整个过程的核心不是追求一次跑完,而是让每次中断后都能说清楚“哪些URL有结果、哪些没有”,这样后续无论是分析排名数据还是分配优化任务,都不会建立在残缺的覆盖面上。