SEO工具软件:一次全站扫描被中断后怎样判断已覆盖范围

📍 WDQWDWQD987AAAAA:216.73.217.54
📱 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
🔗 /47822458ae88.html
📄

SEO工具软件:一次全站扫描被中断后怎样判断已覆盖范围

结论先给:如果扫描中断时你保留了任务日志、已完成URL清单或可续跑的任务状态,就可以按“日志时间戳+已抓取URL集合+队列断点”三步界定覆盖范围;如果中断后只剩一个总数或进度百分比,没有逐条记录,那么任何覆盖结论都不可靠,只能重跑或分批补扫。

先分清中断发生在哪一层

全站扫描通常包含三个环节:发现URL、抓取页面、写入结果。中断可能发生在任意一层,覆盖范围的含义完全不同。

判断覆盖范围前,先确认日志里最后一条成功记录对应的是哪一层。很多误判来自把“抓取完成数”当成“发现完成数”。

用三个证据交叉验证覆盖范围

单看进度百分比不够,至少需要三类证据互相印证:

  1. 任务日志的起止时间戳:确认中断时刻,以及中断前最后一次心跳或批量写入时间。
  2. 已抓取URL集合:导出已完成列表,和站点地图、内链清单、历史收录清单做差集。差集里的URL就是待确认缺口。
  3. 队列断点或游标:如果工具支持续跑,断点位置能直接说明从哪里继续;如果不支持,断点只能用来估算缺口大小。

假设一次扫描目标是1万个URL,日志显示中断前完成6200条,但站点地图有8000条、内链又发现1500条未在地图中的URL。此时不能把6200当作覆盖范围,因为发现层可能还没走完,真实分母大于9500。这个例子只说明比较方法,不代表任何工具的实际表现。

把差集按目录或模板分组,能看出缺口是否集中在某一类页面。如果缺口集中在分页、筛选参数或旧栏目,说明中断恰好发生在某类链接展开阶段,补扫范围可以收窄。

什么情况下上面的判断会失效

一个典型反例:工具在中断后自动清理了临时队列,日志只保留最终统计,没有逐条URL记录。这时你无法区分“没发现”和“发现了但没抓”,也无法确认写入是否完整。进度百分比可能来自估算而非实际计数,继续补扫会重复劳动,且无法证明覆盖完整。

另一个失效条件是站点在扫描期间发生改版、跳转规则变化或大量删除。此时中断前后的URL集合不可直接比较,覆盖范围要按时间切片分别判断,而不是合并成一个结论。

还有一种情况:扫描被限速或封禁触发中断,日志里的失败URL会被误记为“已处理”。需要检查失败原因字段,把超时、403、连接重置的URL单独归入未覆盖,而不是算作已完成。

下一步动作:先补缺口还是先重跑

根据前面的证据做选择:

无论选哪条路,补扫或重跑完成后,用同一份URL清单再做一次差集,确认缺口归零或只剩明确排除的规则外页面。这个动作的结果决定你能否把本次扫描用于后续决策:差集未收敛时,任何基于覆盖率的判断都只是局部结论。

图1 图2

nginx