排名工具一次全站扫描被中断后怎样判断已覆盖范围

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

排名工具一次全站扫描被中断后怎样判断已覆盖范围

中断后不要重跑,先把已产出的结果按URL清单和抓取状态分成“已判定”“待确认”“未触及”三堆,再用页面模板、目录层级和状态码分布交叉核对,最后只补扫“未触及”和“待确认”部分。判断覆盖范围的关键不是看总条数,而是看已扫描部分是否在结构上均匀分布。

先看断点位置,而不是看进度条

扫描中断时,工具通常会留下一个断点记录或最后处理的URL。这个位置比百分比更有用:如果断点停在第37个目录的第2页,而全站有60个目录,那么“未触及”范围大致就是后23个目录,而不是均匀缺了三分之一。假设一个站有5000个URL,中断时已处理1800条,但断点集中在产品目录,那么博客、帮助中心、标签页很可能完全没扫到。此时进度条显示36%,实际覆盖的页面类型可能只有一种。

具体动作:打开已导出结果,按URL路径的第一段分组统计条数,再和站点地图或导航中的目录清单对比。如果某个一级目录在结果中为0条,而它在站点地图中存在,就把它归入“未触及”,不要用“应该没问题”跳过。

用状态码分布判断已覆盖部分是否可信

已扫描的1800条里,如果200状态占比异常高、404和301几乎为零,这不一定说明站点健康,更可能是扫描只走到了正常页面,还没碰到重定向和失效链接集中的区域。反过来,如果已扫描部分出现大量403或429,说明中断前已经触发访问限制,剩余未扫部分即使补扫也可能得到不完整结果。这两种情况的下一步不同:前者直接补扫剩余目录;后者需要先降低请求频率或调整抓取设置,否则补扫仍会中断。

可核对的证据是状态码的时间分布。如果429集中在中断前最后几分钟,说明是限流导致,不是站点本身没有那些页面。此时把已扫描结果中429的URL单独列出,它们属于“待确认”,不能算已覆盖。

按页面模板抽样,确认覆盖是否均匀

全站扫描最容易漏掉的是模板相同但数量庞大的页面,比如商品详情页、分页列表、筛选参数页。判断方法是从每个模板中各抽3到5个URL,检查它们是否出现在已导出结果中。如果商品详情页抽了5个只有1个在结果里,说明该模板覆盖严重不足,即使总条数看起来不少。

这里要区分两种解释:一种是扫描确实没走到该模板,另一种是该模板的URL被工具判定为重复或参数无效而主动跳过。区分证据是看这些URL是否带有查询参数、是否在站点地图中、是否被robots规则限制。如果站点地图里有但结果里没有,且没有robots限制,就更可能是未覆盖而非主动跳过。

把结果转成补扫清单,而不是重跑全站

完成上述核对后,你会得到三份清单:已判定(可直接使用)、待确认(状态码异常或模板抽样不足)、未触及(断点之后的目录和模板)。补扫时只提交后两份,并在提交前做两件事:一是把待确认里的429/403 URL单独放一批,用更低频率跑;二是把未触及按目录拆成小批次,每批完成后立即导出,避免再次中断后无法判断进度。

假设一个站有8个一级目录,中断后你发现前3个目录覆盖完整、第4个目录只扫了一半、后4个目录为0。补扫清单就是第4个目录的后半段加上后4个目录,而不是全部8个目录重跑。这样做的结果是补扫量从5000条降到约2800条,且每批都有独立断点,下一次中断时你仍然知道哪些批次已完成。

哪些信号不能单独作为覆盖完成的证据

总条数达到预期、扫描状态显示“已完成”、或者导出文件能打开,都不足以证明覆盖完整。总条数可能因为重复URL被合并而虚高;状态显示完成可能只是队列跑完但大量URL被跳过;文件能打开更不代表内容齐全。更可靠的组合证据是:站点地图中的URL与结果中的URL做差集后剩余量很小,且各一级目录和主要模板都有抽样命中。如果差集仍然很大,即使工具显示完成,也应把差集部分当作未覆盖处理。

补扫完成后,用同样的差集方法再核对一次。如果差集缩小到可接受范围,就可以进入结果解读阶段;如果差集没有明显缩小,说明问题不在中断,而在扫描配置或站点本身的可发现性,需要先解决那一点再继续。

图1 图2

nginx