一次全站扫描被中断后,不能凭“已跑多久”推断覆盖范围,更稳妥的做法是立刻保存中断时的任务快照,再用同一组入口URL做小样本复扫,把“已访问”“已解析”“已入库”三种状态分开记录。缺少完整数据或后台权限时,你仍可执行这个最小动作,但只能得出覆盖到哪里的有限结论,不能推出全站问题已被发现或未被发现。
假设你用一款网站排名优化软件扫描一个约两万URL的站点,任务进行到约四成时网络中断或进程退出。界面只留下一个进度百分比和部分结果列表。此时最容易犯的错误是直接点“重新开始”,因为新任务可能覆盖旧日志,也可能因为URL排序变化而让两次结果无法对齐。更合理的顺序是:先导出或截图当前任务的任务标识、开始时间、已处理URL数、当前队列位置和错误列表,再决定是续跑还是分段复扫。
这里的关键不是软件本身,而是你是否留下了可对照的断点证据。如果连任务标识都没有,后续判断只能停留在粗略估计。
扫描中断后,“覆盖”至少有三层含义,混在一起判断必然出错:
判断时优先看导出文件或日志中的URL清单,而不是只看进度条。若导出文件里同一URL出现多次,说明重试或分片机制在起作用,不能简单去重后当作覆盖数。若日志只记录请求数而不记录URL,覆盖范围就无法精确还原,只能做抽样估计。
如果你没有后台任务日志权限,只能看到前端结果页,仍可做以下动作:
这个动作的结果会直接影响下一步:如果抽样URL大多能在中断结果中找到,说明已覆盖范围可能偏向站点前部或某个目录;如果抽样URL几乎找不到,说明中断发生在早期,续跑或重跑的必要性更高。但要注意,抽样只能说明“这些URL是否被处理过”,不能说明未抽样部分的问题分布,也不能证明软件漏抓了某些URL——也可能是站点本身屏蔽、超时或返回异常。
三种处理方式各有适用条件,不要默认重跑最干净:
判断续跑是否可信,可以看一个信号:续跑开始后,前若干条结果是否与中断前最后若干条结果在URL和字段上一致。如果一致,说明队列位置接上了;如果完全从站点首页重新开始,续跑可能只是名义上的。
即使你完成了抽样核对,也有几类结论不能直接下:
把中断当成一次覆盖范围的边界事件,而不是一次结论事件。先固定断点证据,再用最小抽样确认边界,最后才决定续跑还是分段复扫。这样即使数据不完整,你也能清楚知道哪些判断有依据、哪些只能留待下一次完整扫描。