不要把“已发现”和“未发现”直接当成两组做对比,因为这两组在提交那一刻就已经被系统区别对待了。更可靠的做法是先按“提交方式是否真正生效”切一刀,再在每一层内部随机划分对照组。具体说:把同一批URL按提交渠道拆成若干层,每层内随机取一半作为对照、一半作为处理,然后观察两组的发现率差异。这样得到的差异才能归因到提交动作本身,而不是页面质量或链接结构的先天差别。
在划分对照组之前,必须先区分两种完全不同的“未发现”。一种是提交接口本身没接收,另一种是接收了但抓取队列没动。两者的处理路径不同,混在一起会让后续所有对比失去意义。
判断方法:拉取提交接口的响应记录和服务器访问日志,按 URL 逐一比对。如果某一批 URL 的提交响应全部成功,但访问日志里完全没有对应请求,那这批的“未发现”属于抓取未触发,而不是提交失败。这一步做完再进入分组,否则对照组里会混入本不该参与比较的样本。
常见的错误做法是按页面类型分组——比如把商品页放一组、文章页放一组,然后比较两组的发现率。但页面类型本身就与内链深度、更新频率、模板结构相关,这些因素会同时影响发现率。用页面类型分组,等于把提交效果和页面先天条件混在一起,无法分离。
正确的分层变量应该是提交渠道。例如:
在每一层内部,再随机抽取一半作为对照组(不额外做任何提交动作,维持原有状态),另一半作为处理组(追加一次提交动作)。这样每一层内部的页面在分层变量上是同质的,差异只来自“是否追加了这次提交”。
需要说明的是,站点地图不保证收录,接口提交也不保证抓取。对照组和处理组的差异只能说明“这次提交动作是否与发现率变化相关”,不能证明提交本身导致了收录。
随机划分对照组有一个硬前提:两组页面在提交之前没有系统性差异。如果做不到,随机化就只是形式上的。
以下几种情形会让随机分组失效:
一个可操作的检查动作:分组完成后,先比较两组在“内链数量”“页面年龄”“是否在站点地图中”这三个维度上的分布。如果某一维度上两组差异明显,说明随机化没有生效,需要重新按该维度分层后再随机。
假设某站点有 2000 个商品页,其中 600 个已被发现,1400 个未发现。运营者想判断“追加一次接口提交”是否与发现率变化相关。以下是假设性的操作步骤,数字仅用于说明比较方法,不代表任何实际结果:
这个方法的局限在于:观察窗口内可能发生其他变化(如站点整体改版、外链增加),这些变化如果只影响其中一组,就会污染对比。因此观察窗口内应尽量避免对其中一组做其他改动。
拿到分层对比结果后,决策取决于差异出现在哪一层:
需要提醒的是,提交量或抓取量归零不能单独证明处理正确。抓取量下降的合理解释还包括服务器响应变慢、robots.txt 变更、站点整体流量波动等。在做出退出判断之前,应先排除这些替代解释。HTTPS 不保证安全无漏洞或排名,不同搜索引擎对提交接口的支持情况也须分别核查,不能把某一渠道的对比结论直接套用到所有渠道。