seo关键词优化软件全站扫描中断后,怎样判断已覆盖范围

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

seo关键词优化软件全站扫描中断后,怎样判断已覆盖范围

先别急着重新跑一遍。中断后判断覆盖范围,关键不是看进度条走到哪里,而是把“已完成的任务记录”和“尚未处理的输入清单”做一次差集。如果软件留下了逐条日志或结果表,优先以它为准;如果只留下汇总数字,就要用抽样复核来确认这个数字对应的是哪一段输入。

矛盾现象:进度显示 80%,结果却像只扫了一小部分

全站扫描被中断后,最常见的情况是进度百分比和实际结果对不上。可能显示已完成大半,但导出的结果里只有首页、栏目页和少量详情页。这不是软件一定出错了,而是“进度”和“覆盖”在多数工具里本来就是两套计量方式。

一种解释是:进度按任务队列计算,队列里包含大量重复 URL、参数页或已合并的近似页面,所以百分比涨得快,实际独立页面并不多。另一种解释是:进度按响应数量计算,而中断前有大量请求超时、被限速或返回空内容,这些请求也被计入了“已处理”,但它们并没有形成可用的覆盖证据。

这两种解释指向的下一步完全不同。前者说明覆盖其实接近完成,只差去重后的补扫;后者说明表面进度虚高,真正需要重扫的范围可能比想象中大。

区分两种解释的证据:日志、输入清单和响应状态

要判断属于哪一种,先找三样东西:逐条任务日志、原始输入清单、响应状态分布。三者能对上,覆盖范围才可信。

一个可操作的验证动作是:从日志中随机抽 20 条标记为“已完成”的 URL,逐条在浏览器或命令行里核对是否真的返回了预期内容。如果 20 条里有多条打不开、跳转到别处或返回空页,那“已完成”就只是请求发出过,不等于覆盖成立。这个结果会直接决定下一步:抽样通过率高,可以只补扫缺失段;通过率低,就要把状态异常的那一批整体重扫。

用差集算出真实覆盖,而不是依赖百分比

假设扫描前提交了 5000 条 URL,中断后日志里有结束标记的是 3200 条,其中 400 条是超时或 5xx。那么可视为有效覆盖的是 2800 条,未覆盖和需重扫的合计约 2200 条。这里的数字只是用来说明比较方法,不代表任何工具的实际表现。

具体动作是:把输入清单和日志按 URL 做一次匹配,分成四组——已成功、已失败、未出现、重复。已成功组可以直接沿用;已失败组需要重扫;未出现组是中断造成的缺口;重复组要先去重再决定是否补扫。做完这一步,下一步的扫描范围就由这四组的大小决定,而不是由进度条决定。

中断后要不要直接全量重跑

如果日志完整、输入清单还在、失败组占比不高,优先补扫缺口,成本更低,也不会覆盖掉已有结果。如果日志缺失或只有汇总数字,全量重跑反而更省判断成本,因为无法可靠区分哪些结果可信。

判断标准可以简化成一条:能否把每一条输入 URL 对应到一个明确的结果状态。能对应,就做差集补扫;不能对应,就接受重跑。中断本身不证明任何一方处理正确,它只是暴露了记录完整性的差异。

把这次中断变成下一次的检查点

无论这次选择补扫还是重跑,都建议在恢复扫描前先确认三件事:输入清单是否固定、日志是否逐条落盘、失败状态是否单独标记。这样下次再中断时,判断覆盖范围只需要做一次差集,而不是重新猜测进度数字的含义。覆盖范围清楚了,后续的关键词映射和优化决策才有可用的输入。

图1 图2

nginx