灰度样本里收录正常,不代表全量发布后所有商品页都会正常。最容易被漏掉的例外,往往不是主推款,而是库存为0、参加活动、被合并变体或位于深层分类的商品页。要判断该不该直接全量,先把灰度期间“被放过”的页面类型单独拉出来,再决定是继续放量、分批放量还是回退。
假设你手上有一次小流量发布记录:只放出了30%的商品详情页,日志和站点地图提交都显示这批页面有抓取。此时不能直接推断全量没问题,因为灰度常常按入口或分类抽样,天然绕过了例外页面。
把灰度期间实际放出的URL与全量计划放出的URL做一次集合对比,重点看四类差异:
如果灰度集合里这四类占比很低,那么“灰度收录正常”只能说明常规商品页没问题,不能说明例外页面也没问题。这一步的产出不是结论,而是一张“灰度未覆盖页面清单”。
拿到清单后,不要只看站点地图是否提交成功。站点地图不保证收录,提交成功只说明文件可读,不说明每个URL都被处理。更可靠的顺序是:先看日志里这些例外URL有没有被抓取,再看抓取返回的状态码和最终落地URL,最后才看索引状态。
比较两个成立条件不同的做法:
判断依据不是“哪个更稳”,而是例外页面在灰度期间有没有被真正抓取过。如果日志里根本没有它们的记录,继续放量只是把未知扩大。
一个反常现象是:灰度页面收录正常,但全量后例外页面大量不出现。常见原因不是内容质量,而是抓取限制在灰度阶段没有生效或没有覆盖到这些路径。
需要核查的点包括:
这里的实际动作是:对清单中的每个例外URL,记录抓取状态、最终URL和可见主体内容三项。只要有一项与灰度页面不同,就先不要把它并入全量批次。
假设灰度覆盖了常规商品页,未覆盖库存为0的页面。日志显示这些0库存页在灰度期间被抓取过,返回200,且页面仍展示商品信息和替代推荐。这种情况下,可以把它们并入下一批放量,但要单独监控抓取返回码和最终落地URL是否变化。
反过来,如果0库存页在日志中没有抓取记录,或者抓取后跳转到分类页,那么继续全量只会让这批页面以未知状态上线。此时更合理的动作是先对这批页面做一次小范围提交,观察抓取是否发生,再决定是否扩大。
分批方案不需要复杂,关键是每一批只改变一个变量:要么只增加页面类型,要么只增加数量。两件事同时变,出问题时无法判断是类型例外还是容量问题。
全量发布不是终点。放量后要对比灰度期和全量期的同一组指标:例外URL的抓取次数、返回码分布、最终落地URL是否一致。如果抓取量下降,不能单独证明处理正确,也可能是抓取预算被其他路径占用、站点响应变慢或站点地图更新延迟。
只有当例外页面在放量后仍能被抓取、返回稳定、落地内容与预期一致,才说明这次灰度暴露的例外已经被处理。否则应回到清单,把未通过的页面单独隔离,而不是继续扩大范围。