结论先说:如果扫描中断前已经跑完一批可识别的URL、且中断点之后没有发生站点结构变更,你通常可以把“已完成URL清单”当作下界,把“已发现但未完成”当作未知区,然后只对未知区补扫;但如果中断期间部署了新栏目、改了URL规则或切换了模板,这个结论就不成立,必须重新定义扫描边界。
扫描被中断后,最容易犯的错误是把工具里显示的“已发现URL数”当成“已覆盖范围”。这两者在多数网站SEO工具里含义不同:已发现表示链接或站点地图里出现过,已抓完表示该URL的响应、状态码和基础页面信息已经取到。中断后你要看的不是总数,而是已完成列表和待处理队列之间的差集。
判断时优先核对三个信号:
如果已完成清单可用、待处理队列可恢复,那么补扫范围就是队列剩余部分加上中断后新增的URL。如果队列被清空,你只能以已完成清单为下界,重新跑一次全站发现,再和旧清单做差集。
扫描中断本身不可怕,可怕的是中断窗口里站点发生了变化。下面这组条件可以用来分流:
这里有一个反例:如果中断前已完成清单里包含大量带参数的URL,而中断后你关闭了参数抓取,那么已完成清单会虚高,补扫时反而会漏掉真正的规范页。也就是说,覆盖范围不是由“抓了多少条”决定,而是由“抓的这批URL是否仍代表当前站点”决定。
假设某站有A、B、C三个栏目,扫描到B栏目一半时中断。中断前已完成清单显示A全部完成、B完成一半、C未开始。中断后你只更新了B栏目下三篇文章,没有改URL。此时合理的补扫边界是:B剩余一半 + B新增三篇 + C全部。A可以暂时不重扫,但要在补扫结束后抽查A的内链是否仍指向有效URL。
这个例子的关键假设是:URL规则和模板在中断前后一致。如果B栏目在中断期间换了分页方式,那么B的“已完成一半”就不再可靠,应把B整体纳入重扫范围。
补扫完成不等于覆盖判断结束。你需要把补扫结果和旧清单合并,然后检查三类异常:
根据这些异常再决定:如果变化集中在少数URL,做定点复查;如果变化跨栏目出现,重新跑全站扫描;如果只是发现逻辑差异,调整站点地图或内链入口后补扫一次。请求量归零或抓取量骤降不能单独证明覆盖完整,它也可能是限速、超时或队列重置造成的,必须结合已完成清单和站点变更记录判断。
出现以下任一情况时,不要试图从旧清单推算覆盖范围,直接重新扫描更省事:中断期间更换了域名或协议、批量修改了URL、模板输出结构整体变化、站点地图被重建且旧地图不可得。这些情况下旧清单的“已完成”只对旧结构有效,继续复用会把错误范围带进后续决策。
如果无法确认中断期间是否发生过变更,最稳妥的动作是先导出一份当前站点地图和主要内链入口,与旧已完成清单做一次差集;差集很小就补扫,差集很大就重扫。这个动作的结果会直接决定你是进入定点复查,还是回到全站扫描。