灰度只放出一小部分 URL,全量发布却把范围扩大之后,索引查询结果往往会出现灰度阶段没见过的例外。原因通常不在“灰度没用”,而在于灰度样本没有覆盖全量发布才会触发的条件:模板分支、参数组合、区域或语言变体、权限或登录态、以及发布节奏变化。要判断该不该继续全量、回退还是只修例外,先要分清两种解释,再用能区分它们的证据做决定。
灰度阶段常见的观察是:提交的少量 URL 被抓取、被索引,索引查询里状态正常。全量发布后,索引查询却显示一部分 URL 长期停在“已发现未收录”,另一部分本不该出现的变体被收录。这个矛盾不必然说明灰度结论错误,更可能是灰度样本与全量集合的构成不同。
灰度通常选的是“典型页”或“重点页”,全量则包含大量由同一模板生成、但条件不同的页。例外往往藏在灰度没选到的条件里,而不是藏在灰度选中的页里。
解释一:样本偏差。灰度只覆盖了主模板和无参数路径,全量才放出分页、筛选参数、多语言或区域变体。此时例外来自“灰度没测到的类别”,发布动作本身没有改变规则。
解释二:发布动作引入了新条件。全量发布同时改了站内链接结构、导航、站点地图生成逻辑、抓取预算分配或缓存策略,导致原本可被抓取的 URL 变得难以到达。此时例外来自“发布过程改变了环境”,而不是样本没覆盖。
两种解释对应的处理方向相反:样本偏差只需补齐覆盖并单独处理例外类别;发布引入新条件则可能需要回退或修正发布动作,否则修完一批例外还会再生一批。
不要只看索引查询的总量变化,总量下降或某项统计归零不能单独证明处理正确。用下面几类证据交叉判断:
还要注意:robots.txt 的抓取限制不等于可靠的索引移除。如果全量发布时用 robots.txt 挡住了某些路径,索引查询里仍可能看到旧记录,这既可能是移除未生效,也可能是这些 URL 从未被抓取过,需要分别核查。
假设灰度只放出 20 个主详情页,索引查询全部正常。全量发布后,分页和筛选参数生成的 URL 被站内链接大量暴露,索引查询显示这些参数页部分被收录、部分未收录。
如果按类别拆分后发现例外几乎只出现在参数页,而主详情页仍正常,那么更符合样本偏差:灰度没有覆盖参数组合。此时应做的是给参数页设定明确的可索引规则,而不是回退整个发布。反之,如果主详情页在全量后也出现未收录,且抓取日志显示这些 URL 不再被链接到,那么更符合发布引入新条件,需要先修正链接或站点地图生成逻辑,再决定是否继续扩大发布。
这个例子的数字只用于说明比较方法,不代表任何真实项目的表现。
选择“继续全量、只修例外”成立的条件是:例外可按类别解释,主类别未受影响,且你能在不改动发布动作的前提下给例外类别单独的索引规则。代价是例外类别可能长期需要人工维护。
选择“回退或暂停扩大”成立的条件是:例外跨越多个原本正常的类别,或抓取对象本身不再覆盖这些 URL。代价是回退会暂时牺牲已获得的收录进展,并可能引入新的状态波动。
一个实际动作是:先按类别导出全量 URL 的索引状态,再与灰度清单做差集。差集集中在少数类别,就按类别修规则;差集分散且伴随抓取对象减少,就先修正发布动作再继续。这个动作的结果会直接决定下一步是补覆盖还是回退,而不是凭总量变化做判断。不同搜索引擎的支持情况须分别核查,HTTPS 也不保证安全无漏洞或排名。