结论是:不要按“已发现”和“未发现”直接分成两组,而要先按页面模板、入链来源和参数结构把整批页面切成若干同质层,再在每层内部随机抽一部分作为对照组,让两组只差一个变量。若这批页面在模板、入链或参数上本身就高度混杂,任何对照划分都会失效,此时应先补分层,而不是急着下判断。
批量提交后只有一部分被发现,最直觉的做法是拿已发现的页面和未发现的页面做比较,看差异在哪。问题在于,这两组的差异往往同时来自很多因素:有的页面在列表页有入口,有的只存在于站点地图;有的模板正文更长,有的几乎是空壳;有的带多级查询参数。差异一多,你无法判断究竟哪一个造成了发现与否。
更麻烦的是反向因果。页面被发现了,才可能被内部链接系统进一步引用,于是“入链多”既可能是原因,也可能是结果。直接比较两组的入链数量,得到的结论可能是循环的。
可操作的分层维度通常是三个,按优先级排列:
分层后,在每一层内部随机抽取一部分页面,人为施加同一个动作,其余保持不动。这样层内两组的唯一差别就是你施加的那个变量。
假设某批 800 个详情页中,200 个已被发现、600 个未发现。先按“是否有正文入链”分层,得到有入链层 300 个(其中 180 个已发现)和无入链层 500 个(其中 20 个已发现)。此时“入链”与“发现”高度相关,但还不能下结论。接下来只在无入链层内随机取 100 个页面,为其中 50 个补充一条来自相关正文的链接,另 50 个不动,等待一个完整的抓取周期。如果补链组被发现的比例明显高于对照组,你才有依据把“正文入链”视为可操作变量。这个数字只是说明比较方法,不代表任何真实站点结果。
反例是:这批页面共享同一个会变化的列表页,列表页本身按时间或热度轮换展示。此时“是否被展示”在观察期内不断变化,你无法稳定地定义入链层。页面今天在列表页、明天被挤出,对照组的成员身份在实验中途就变了。
另一类失效情形是站点地图或内部链接在观察期内被批量改动过。如果处理组和对照组之外还发生了全局改动,两组的差异就不再只归因于你施加的那一个变量。遇到这两种情况,先冻结其他改动、固定列表页展示规则,再重新划分,否则结论不可用。
给每个页面记录三件事:所属分层、当前发现状态、你施加的动作及日期。然后只比较层内处理组与对照组的发现状态变化,不跨层汇总。如果某一层内两组变化接近,说明该变量在这批页面上作用有限,下一步应换一个分层维度重试,而不是加大提交量。如果某一层出现明显分化,下一步是把该变量在其余层做小范围重复验证,确认它是否可迁移。
当开发、内容和 SEO 对“为什么只有一部分被发现”各执一词时,分层对照表就是共同的核对依据:每个人都能看到某层内两组只差哪一个变量、观察窗口多长、结果如何。争议点会从“谁的说法对”变成“这一层的样本量是否够、观察期是否完整”。这比反复提交或反复讨论更能推进决定。
需要提醒的是,站点地图提交不保证收录,robots.txt 的抓取限制也不等于可靠的索引移除;这些手段影响的是抓取与发现路径,不能替代分层对照来判断因果关系。按层设对照、只动一个变量、记录观察窗口,才是让这批页面的分歧收敛为可核对结论的方式。