因为小流量灰度通常只覆盖“主路径 + 正常参数”的样本,而全量发布会把长尾参数、历史重定向、分页、筛选和跨目录链接一起放出来,例外才第一次进入抓取和提交视野。换句话说,灰度验证的是“提交动作本身能不能跑通”,全量验证的是“所有真实入口是否都值得提交”。
假设一个场景:某站点准备把一批商品页加入站点地图,并同时用提交接口推送变更。灰度阶段只抽取了每个一级目录下的少量标准商品页,提交后日志里能看到抓取请求,团队据此判断“方案可行”。这个判断本身没有错,但它只说明标准 URL 能被发现和处理。
全量发布后,例外往往来自四类样本:带排序或筛选参数的 URL、已做过 301 的历史地址、分页序列中的深层页、以及被站内搜索或推荐模块临时生成的地址。灰度没抽到它们,不代表它们不存在,只代表抽样范围没有覆盖。
这里要做一个取舍:灰度样本应按“URL 形态”分层,而不是按“目录”平均分配。按目录抽样容易每个目录都正常,按形态抽样才能让参数页、重定向页、分页页各自进入验证。
当全量发布后出现提交量正常、抓取量却集中到少数地址的情况,不要直接归因于提交失败。可以按下面顺序核对,每一步都能排除一种解释:
如果以上都正常,仍可能出现抓取量归零或提交量归零。这类现象还有合理解释:抓取预算被更高优先级页面占用、提交接口有配额或节流、日志采样窗口太短。归零本身不能单独证明处理正确,需要结合时间窗口和 URL 分组一起看。
多个角色对同一事实有不同理解时,分歧通常不在结论,而在口径。开发看的是接口返回成功,SEO 看的是日志里有没有抓取,运营看的是页面有没有出现在结果里。三者说的不是同一件事。
可以建立一个最小核对表,把每个角色的判断落到一个可复查的字段上:
这张表的作用不是承诺收录或排名,而是让下一次灰度能复现同一组判断。若某个 URL 在提交侧成功、抓取侧无记录、站点侧又存在限制,那么例外来源就锁定在站点侧,而不是提交接口。
实际动作可以这样设计:在灰度通过后、全量发布前,增加一轮“形态抽样提交”。从全量 URL 中按参数页、重定向页、分页页、普通页各抽一小批,只提交这些样本,观察抓取日志和落地页状态。这个动作的结果会直接影响下一步——如果形态样本都正常,全量可以按原计划推进;如果某一形态异常,就先修该形态的入口或规范,而不是扩大提交量。
需要说明适用条件:这套做法适合 URL 数量大、入口来源多的站点。若站点结构简单、URL 形态单一,灰度与全量的差异本来就小,额外抽样收益有限。
最后要注意,不同搜索引擎对提交接口、站点地图和抓取限制的支持情况并不一致,同一份样本在不同引擎下的表现需要分别核查,不能用一个引擎的日志推断另一个引擎的行为。把灰度目标从“证明方案能跑”改成“证明例外已被覆盖”,全量发布时才不会第一次见到那些本该提前见到的地址。