站长工具平台:一次全站扫描被中断后怎样判断已覆盖范围

📍 WDQWDWQD987AAAAA:136.243.57.164
📱 Mozilla/5.0 (compatible; QlyzeBot/1.0; +https://app.qlyze.io/bot)
🔗 /a3b06134d9d5.html
📄

站长工具平台:一次全站扫描被中断后怎样判断已覆盖范围

先接受一个前提:多数站长工具平台不会把“被中断的扫描”保存成一份可直接续跑的完整进度快照。中断后能拿到的,通常只有已完成部分的导出结果或逐页状态。判断覆盖范围的关键,不是看报告里有多少条记录,而是把“已抓取页面”与“应抓取页面”做一次差集,再决定是重跑、补跑还是直接换用更窄的扫描方式。

先把手里那份中断结果还原成页面级清单

打开导出文件或结果表,保留三项最小字段:完整URL、抓取状态、发现来源。抓取状态里要区分“已成功返回内容”“返回错误码”“被规则跳过”“尚未访问”。发现来源则用来判断这条URL是来自站点地图、内链还是外链。

如果工具只给了汇总数字,没有逐页行,那这份结果不足以判断覆盖范围,只能当作参考。此时应回到工具里找“页面列表”“URL明细”一类视图;若确实没有,就把它标记为不可用于覆盖判断,而不是用总数去反推。

用站点地图和内链做应抓集合的底稿

应抓集合不是“我以为存在的页面”,而是能被发现的URL。取站点地图里的URL作为主干,再抽取站内导航和正文链接指向的站内URL作为补充。两者合并去重后,得到一份候选清单。

这里有个容易出错的边界:站点地图里列出的URL可能已经失效,内链指向的URL也可能带参数。去重时按去掉跟踪参数后的规范形式归一,否则同一页面会算成两条,差集就不准。

做差集,并解释“零结果”的多种可能

把候选清单与中断结果的已成功URL做差集,得到未覆盖清单。此时不要急着下结论。未覆盖数量偏大,至少有两种合理解释:一是扫描确实只跑了前一部分;二是中断前工具正按某种顺序推进,而候选清单里混入了大量不该抓的URL,比如分页、筛选参数或重复内容。

反过来,如果未覆盖数量很小甚至为零,也不能直接断定“已经覆盖全站”。可能的原因包括:候选清单本身就不完整;工具在中断前已把主要入口抓完但深层页面未展开;或者部分URL被规则跳过却仍计入了成功。需要抽查几条未覆盖清单里的URL,手动打开确认它们是否真实可达、是否返回正常内容。

一个注明假设的短例子

假设某站点地图声明1200条URL,内链又发现300条不重复URL,合并去重后候选为1400条。中断结果里有900条标记为成功。差集为500条。若抽查发现其中约一半是带筛选参数的重复页,那么真实的未覆盖量接近250条,补跑这250条比整站重跑更省时间。这个数字只是说明比较方法,不代表任何真实项目的结果。

按差集结果决定下一步动作

根据未覆盖清单的规模和性质选择动作:

  1. 未覆盖集中在少数目录或分页:用工具的“指定URL列表”或“重新抓取这些URL”方式补跑,补跑后再次做差集验证。
  2. 未覆盖分散且候选清单本身可疑:先清洗候选清单,去掉参数重复和失效URL,再整站重跑。
  3. 未覆盖量很小但都是重要页面:优先手动检查这些页面的可访问性和状态码,而不是依赖工具重跑。

每次动作后都重复一次差集,直到未覆盖清单只剩已知的合理例外。这个循环比“看报告完成度百分比”更能说明实际覆盖到了哪里。

需要留意的适用边界

上述方法适用于能导出逐页结果、且候选清单可自行构建的情况。如果所用站长工具平台不提供URL明细导出,或者站点本身存在大量需要登录、依赖脚本渲染才能发现的页面,差集法会明显失真,此时应改用更小的范围分批验证,而不是强行把整站结论套上去。具体工具是否支持这些导出和补跑方式,需要以你实际使用的版本为准去核对。

图1 图2

nginx