先给结论:不要按“已发现/未发现”直接分组,而要先按页面模板、内链层级、内容类型三个维度确定可比的基线,再把同基线内的页面随机分成两组,只对其中一组施加一个变量。这样做的原因是,被发现比例偏低时,未发现页面往往集中在同一模板或同一目录,直接对比会把模板差异误读成处理效果。
这两个状态对应完全不同的对照组设计。如果日志里从未出现抓取记录,属于前者;如果出现过抓取但索引中查不到,属于后者。把它们混在一组,后续任何动作都无法归因。
可核对的证据包括:服务器日志中该 URL 的抓取时间与状态码、站点地图提交记录、站内搜索或目录页是否链接到该 URL。需要说明的是,抓取量或请求量归零并不能单独证明处理正确,它也可能是抓取预算被其他目录占用、robots.txt 临时拦截、或服务器返回异常导致的。站点地图提交也不保证收录,它只提供发现线索,不控制选择结果。
当批量页面来自同一模板、正文长度接近、内链位置一致时,可以按 URL 做简单随机分组。假设有 200 个页面,用固定随机种子分成 A、B 各 100 个,只对 A 组做一项改动,例如把入口从三级目录提到二级目录。这种情况下基线足够齐,随机分组能抵消零散差异。
实施动作:先导出全部 URL 并记录模板标识,再生成随机数排序,取前一半为 A 组。结果影响下一步的方式是——如果 A 组被抓取的比例明显高于 B 组,说明内链层级是有效变量,可以把同一动作推广到同模板的其他目录;如果没有差异,就不必扩大改动范围。
当批量页面跨越多个模板、多种内容类型时,直接随机会把模板差异混入结果。此时应先分层:把同一模板的页面放进同一层,在每层内部随机分 A、B 两组,最后合并统计。这样即使各层基数不同,层内仍是可比对照。
分层需要记录的依据:模板标识、正文段落数区间、是否有独立内链入口。任何一项无法核对,就不要把它当作分层变量,否则分层本身会引入主观判断。
假设某目录有 120 个页面,日志显示 40 个被持续抓取,80 个从未出现。按模板分层后发现,未抓取的 80 个全部来自同一模板,且都只通过分页链接到达。此时正确做法不是拿这 80 个和已抓取的 40 个对比,而是在未抓取的 80 个内部随机分两组,只给其中一组增加一个来自上级目录的直链。这样对比的才是“有无直链”这一个变量,而不是模板差异。
动作与结果的关系:如果加直链的一组在后续日志中出现抓取,说明入口可达性是主要限制;如果两组都没有变化,应转向检查该模板的响应状态、渲染方式或内容重复度,而不是继续加链接。
最后一步是把分组规则、随机种子和观察窗口固定下来并记录,否则后续新增页面无法并入同一对照体系,之前的结论也无法复核。