搜狗SEO工具全站扫描中断后如何判断已覆盖范围

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

搜狗SEO工具全站扫描中断后如何判断已覆盖范围

扫描被中断后,不要凭“任务完成百分比”或“已发现链接数”直接下结论。先取一份中断前后的可核对产物——通常是导出文件、任务日志或页面清单——按URL路径、状态码和抓取时间三个字段切分,再判断哪些范围已经可用、哪些必须重跑。下面以你手里的一份中断导出表为例,说明具体做法。

先确认中断发生在采集阶段还是写入阶段

同样是“扫描到一半停了”,含义并不相同。若工具在采集过程中中断,未写入的URL通常不会出现在导出结果里,你看到的覆盖范围会系统性偏小;若采集已完成、只是在写文件或导出时中断,缺失的往往是尾部记录,而不是整段目录。

判断方法很直接:查看导出文件中最后若干条记录的时间戳是否集中。如果最后一批URL的抓取时间几乎相同,且此后再无新记录,更可能是写入中断;如果时间戳本身分布正常、只是数量少于预期,则更可能是采集中断。这个区分决定了你是补跑缺失部分,还是直接重跑整站。

用目录分布判断哪些路径已被覆盖

把导出表按URL的一级或二级目录聚合,统计每个目录下的记录数,再和你已知的站点结构对照。假设某站有/news/、/product/、/help/三个主要目录,中断导出里/news/有大量记录、/product/只有零星几条、/help/完全为空,那么可初步判断扫描按某种顺序推进,尚未走到后两个目录。

这里有个不能直接照搬的边界:目录记录数多,不等于该目录已完整覆盖。列表页、分页和标签页可能让同一目录产生大量URL,而深层详情页仍未抓到。因此目录统计只能用来定位“可能未开始”的区域,不能用来证明“已经抓全”。

用状态码和时间戳区分已处理与未处理

导出表中如果带有状态码字段,可以进一步分层:

时间戳还能帮你划定一个“可信边界”。取中断前最后一个时间戳集中的区间,把该区间内的记录视为相对完整的一批,区间之外的记录单独标记。这样你得到的不是“覆盖了百分之多少”,而是一份分段的、可复核的范围说明。

把判断结果转成下一步动作

完成上述切分后,你会得到三类范围:已处理且可信、已进入队列但未完成、完全未触及。对应动作也不同。

  1. 对“已处理且可信”的部分,可以先做抽样验证:从每个目录随机取少量URL,确认它们的状态码与线上实际返回一致。若抽样一致,这批数据可用于后续分析;若不一致,说明导出口径有问题,应先解决口径再谈覆盖。
  2. 对“已进入队列但未完成”的部分,优先补跑而不是全量重跑,前提是工具支持按URL清单续跑;若不支持,则记录这批URL,在全量重跑后单独比对差异。
  3. 对“完全未触及”的部分,直接纳入下一轮扫描范围,并在下一轮开始前确认站点结构没有新增目录。

假设你按上述方法补跑后,发现/product/目录的记录数从零星几条增加到与/news/接近,而/help/仍然为空,那么下一步应检查/help/是否被robots规则或内链结构隔离,而不是继续增加扫描轮次。这个动作的结果会直接影响你是调整抓取配置,还是修改站内链接。

哪些情况下这套判断不成立

如果导出文件本身没有时间戳、状态码字段,或者工具只提供一个汇总数字,那么按目录和时间切分的方法就无法执行。此时可用的替代证据是:中断前后的任务日志、服务器访问日志中对应时间段的请求记录,或站点地图与导出URL的差集。若这些都没有,只能承认当前无法可靠判断覆盖范围,需要先让下一次扫描产出可核对的明细,再谈范围问题。

另外,请求量或抓取量在中断后归零,不能单独证明扫描已正确停止或已完整覆盖——它也可能只是任务被暂停、网络中断或写入被阻塞。判断覆盖范围始终要回到明细数据本身,而不是依赖某个汇总指标的走势。

图1 图2

nginx