灰度发布只放出少量抓取入口时,搜索引擎抓取日志里出现的异常请求,往往不是灰度本身的问题,而是全量发布前被忽略的例外路径。判断是否继续放量,关键不是看灰度组的抓取量是否正常,而是看日志里有没有出现只属于全量环境的URL形态、参数组合或跳转链。
灰度环境通常只开放部分目录或部分参数,抓取日志的基线会比较干净。此时要重点看三类记录:一是灰度未暴露的路径却被请求,例如只在全量模板中生成的筛选参数;二是同一URL在灰度与全量下的响应状态不一致;三是抓取来源从已知入口跳到了未声明的分页或排序变体。
这三类记录的性质不同。路径越界说明入口控制有遗漏;状态不一致说明环境配置有分叉;跳转越界说明链接生成逻辑没有随灰度收敛。只有第一类可以直接靠收紧入口解决,后两类必须回到模板或路由层处理。
假设一个情境:某站点把商品列表页的灰度范围限定为不带参数的默认页,全量环境却会为每个筛选条件生成可抓取URL。灰度运行一段时间后,日志中开始出现带多级筛选参数的请求。此时有两种常见做法。
选择依据不是灰度流量大小,而是例外路径是否会产生新的可索引URL。如果会,先收敛;如果只是同一批URL的重复请求,先放量并观察通常更省事。
灰度阶段抓取量上升或下降,都不能单独证明放量安全。抓取量下降可能是因为灰度入口少、抓取频次被限制,也可能是因为部分URL返回了错误状态。要区分原因,可以对照三组证据:
完成这组对照后,下一步动作会变得明确:站内生成的例外链接需要改模板,外部来源的例外链接需要评估是否值得保留或重定向。
在放量前,把灰度日志中出现的所有非声明URL导出,按路径规则分组,然后对每组构造一个全量环境下的请求,记录响应状态、重定向目标和页面标题。这个动作的结果直接决定下一步:
这个检查不依赖抓取量归零或某项统计下降,而是依赖同一URL在两种环境下的可复现差异。差异越具体,放量决策越可靠。
放量后,日志中可能出现灰度阶段没有的请求形态,例如分页深度增加、排序参数组合增多、移动端与桌面端模板分叉。这些请求是否算问题,取决于它们是否指向重复内容或无效页面。若指向重复内容,应通过canonical或参数处理收敛;若指向无效页面,应返回合适的状态码而不是软404。
需要提醒的是,robots.txt的抓取限制不等于可靠的索引移除,站点地图也不保证收录。灰度日志只能说明抓取行为,不能替代对索引状态的单独核查。放量后的判断应结合抓取日志、响应状态和页面内容三方面,而不是只看某一项统计的升降。