先不要重跑,也不要直接相信界面上的完成百分比。正确做法是把中断时留下的日志、导出文件和扫描队列三者对齐,用“扫描到哪个URL、哪个阶段、时间戳多少”重建覆盖边界,再决定是续扫、补扫还是整站重扫。判断依据不是进度条,而是可核对的记录。
多数好搜排名提升软件的全站扫描会经历抓取、解析、指标计算、结果写入四个阶段。中断时进度条停在70%,可能意味着抓取完成70%,也可能意味着抓取已完成、只有结果写入中断。两种情况覆盖范围完全不同。
你可以打开扫描日志,按时间倒序找最后一条正常记录,再找第一条报错或超时记录。如果最后记录停在“正在抓取”类字样,说明后续URL根本没进入解析;如果停在“写入结果”或“生成报告”,说明抓取和解析大概率已完成,缺的只是输出。
这一步的产出是一句话结论:中断发生在抓取阶段、解析阶段还是写入阶段。它直接决定下一步是补抓URL,还是只重跑结果导出。
只看一份材料容易误判。建议同时调出以下三份内容:
把日志中的URL集合记为A,导出文件中的URL集合记为B,站点地图中的URL集合记为C。A∩B是已抓取且已出结果的部分,A−B是抓到了但没写入结果的部分,C−A是完全没碰到的部分。这三块分别对应不同的补救动作。
如果A−B很大而C−A很小,说明抓取基本完成,重跑导出即可;如果C−A很大,说明大量页面从未被请求,必须补扫。
中断后最容易犯的错误,是拿几个已扫页面的结果去推断全站。比如你抽查了首页和三个栏目页,发现标题和描述都正常,就认为整站没问题。这种推断只在页面模板高度统一、且已扫页面覆盖了所有模板类型时才成立。
一旦站点存在多种模板、分页、筛选参数或大量由脚本渲染的内容,样本结论就不能直接放大。判断边界的方法是:先列出站点的模板类型清单,再核对已覆盖的URL是否每种模板都至少命中一个。如果某类模板一个都没扫到,那么该类模板下的所有页面都属于未知区域,不能算已覆盖。
假设一个站点有列表页、详情页、专题页三类模板,已扫的50个URL全是详情页,那么列表页和专题页的结论就是空白。此时应优先补扫这两类模板的代表页面,而不是继续堆详情页数量。
根据前面的边界划分,可以落到三种动作:
执行任何一种动作后,都要用同一套集合核对方法再验一次:新的日志URL集合是否覆盖了原来的缺口,导出文件是否补齐了A−B。如果缺口闭合,说明覆盖范围已恢复;如果仍缺,说明还有未暴露的队列或过滤规则在起作用,需要回到日志层继续查。
进度条显示100%、导出文件行数变多、扫描耗时变长,这些都不能单独作为覆盖完整的证据。进度条可能只统计了已入队数量;导出文件可能包含重复URL;耗时变长可能只是网络变慢。
同样,某个统计项归零也不代表处理正确。它可能是真的没有异常,也可能是该类页面根本没被扫到。要排除后一种解释,仍需回到URL集合的交叉核对上。
因此,判断覆盖范围时,始终以“哪些URL被请求过、哪些产生了结果、哪些完全没碰到”这三条为准,其余界面信号只作参考。这样即使扫描被中断,你也能给出一个可复核的覆盖边界,并据此选择成本最低的补救动作。