灰度只放出一小部分流量时,二级域名看起来一切正常:抓取、收录、跳转都没出问题。可一旦全量切换,原本被掩盖的例外就集中冒出来——旧路径仍可访问、部分页面被重复索引、某些角色看到的版本并不一致。问题不在于灰度本身失效,而在于灰度验证的是“多数情况”,全量发布要面对的是“剩下那些没被覆盖的情况”。
常见的具体矛盾是:灰度期间,新二级域名上的页面能被正常访问和处理,团队据此判断可以放量。全量之后,却发现一部分本应指向新域名的链接仍落在旧域名,或者同一内容在两个二级域名下都能打开。此时不同角色会给出完全不同的判断:开发认为跳转逻辑没问题,SEO认为重复内容已经产生,运营则认为用户看到的还是旧版。
这类分歧之所以出现,是因为灰度样本天然偏向“主路径”。入口页、热门模板、标准跳转会被优先测到;而边缘模板、历史遗留参数、被外部引用的旧地址,往往不在灰度名单里。全量发布把这些长尾一次性带入,例外才显形。
面对同一批例外,通常有两种解释,需要分开核对。
区分这两种解释的关键,不是看例外的数量,而是看例外的分布:是集中在未覆盖的长尾,还是随机落在已验证的主路径上。
要判断属于哪一种,可以按下面这个顺序取得可核对的状态证据:
一个假设的短例子:某站点灰度只选了/product/下的标准详情页,全量后却发现带查询参数的旧地址仍能打开。核对差集后发现,带参数的页面从未进入灰度名单,因此例外集中在未覆盖部分,属于解释一。反过来,如果灰度已验证过的标准详情页在全量后也出现旧地址可访问,就应优先怀疑发布机制,而不是继续扩大灰度范围。
不同角色对同一事实理解不一致时,最有效的动作不是继续争论,而是把分歧拆成可逐项核对的项目:
这个动作的结果会影响后续决策:如果例外集中在未覆盖的长尾,下一步应优先补齐灰度样本,而不是回退全量;如果例外落在已验证路径上,下一步应暂停放量、先修发布顺序。把“谁对谁错”换成“这个例外属于哪一类”,分歧才能真正收敛。
灰度通过不等于全量安全。二级域名的实际作用,取决于它在全量后是否仍按预期被引用、被访问、被解析。抓取限制、站点地图或跳转规则都只是手段,不能单独证明索引状态正确——请求量或抓取量归零,也可能是路径变更、屏蔽规则或外部引用减少造成的,需要结合旧地址是否仍可访问、新地址是否被引用一起判断。
因此,全量发布后应保留一段观察窗口,专门核对灰度未覆盖的URL模板与参数组合。只有当例外清单收敛、且每个例外都能归入“未覆盖”或“已修复”时,才能确认这次二级域名切换真正完成。