先别急着重跑。中断后判断覆盖范围,关键不是看软件显示的进度百分比,而是看它有没有留下可复核的中间记录。如果扫描日志、已处理URL清单或结果文件被完整写入,就可以从断点续跑;如果这些记录只存在内存里、中断即丢失,那么唯一可靠的做法是重新扫描,并把这次中断当成一次流程缺陷来修。
全站扫描通常同时做两件事:抓取页面、把结果写进本地数据库或导出文件。中断可能发生在任意一层,而这两层的覆盖判断方式完全不同。
判断方法很直接:找到软件的结果输出位置,看文件大小和最后写入时间是否在中断后还有变化。没有变化,就按“未覆盖”处理。
能用来圈范围的证据有三类,按可靠性从高到低排列:
实际操作上,把已处理URL清单导出,与站点地图或站内链接列表做一次比对。差集就是未覆盖部分。如果软件不提供导出,只能翻日志,那就把日志里最后一条成功URL作为分界点,之后的全部视为未覆盖。
扫描中断本身只是一次事件,但它常常暴露出旧内容、旧系统或旧合作关系已经不值得继续投入。判断标准可以落到三个问题上:
这三者的分界线不是扫描进度,而是“补全扫描后你打算做什么”。如果补全后没有明确的下一步动作,退出比续跑更省成本。
假设某站点有5000个URL,扫描到约3000个时中断,日志保留到最后成功处理的URL。此时先做一次差集,确认剩余约2000个未覆盖。如果这2000个里大部分是标签页、分页和参数页,而真正需要优化的核心内容页只有200个,那么合理动作是:只补扫这200个核心页,其余按退出处理。结果就是扫描范围从5000缩到200,后续分析工作量同步下降。这个例子的数字仅用于说明比较方法,不代表任何真实站点的规模。
如果决定重跑,先检查中断原因是否已经消除:是网络超时、内存不足,还是目标站点限制了请求频率。原因没解决就重跑,大概率会在相近位置再次中断。更稳妥的做法是把扫描拆成小批次,每批完成后立即落盘,这样即使再中断,覆盖范围也始终是可数的。具体软件是否支持分批和断点续跑,需要以你手头版本的文档和实际行为为准,不要假设某个按钮一定存在。