核心判断只有一句:先确认这个开关改变的是“同一URL的输出内容”,还是“同一内容换了URL”。前者要记录状态指纹和生效时间,后者要把新旧地址当成两个版本分别记录。做错这一步,后续看到的抓取或收录波动就无法归因。
如果开关前后地址不变,只是价格、库存、登录态、语言或推荐模块不同,记录重点不是页面数量,而是“同一地址在什么时间输出了什么”。这类变化最容易造成误判:昨天抓到的版本和今天抓到的版本不一样,看起来像页面被改写,实际只是开关状态不同。
建议每次切换时记录四项:开关名称、切换时间(精确到分钟)、受影响URL的匹配规则、切换后的状态指纹。状态指纹不必复杂,取正文首段、主标题、一个关键字段和页面底部时间戳即可。假设某商品页开关从“显示库存”切到“隐藏库存”,抓取结果只少了库存数字,这时应把两个版本都保留,而不是删掉旧记录。
实施动作:在切换前后各保存一次响应正文的哈希值,并写明哈希对应的开关状态。结果如何影响下一步——如果两次哈希不同但正文主体一致,说明变化只发生在局部,后续排查应优先看模板和接口,而不是重新提交地址。
如果开关会生成带参数的新地址、切换子域名,或把内容迁到另一个路径,就不能按“同一页面”处理。此时要为新旧地址分别建立版本记录,并明确哪个是当前对外版本。这里常见的问题是:旧地址仍可访问,但内容已由新地址承载,记录时若混在一起,就无法判断抓取量下降是旧地址退出还是新地址未生效。
记录字段应增加:旧地址、新地址、跳转关系(301、302或不做跳转)、开关生效范围、以及旧地址是否仍返回有效内容。假设某活动页开关开启后从 /activity 变为 /activity?from=switch,若两者返回相同主体,应把参数版当作同一内容的另一个入口记录;若参数版返回不同主体,则按两个版本分别记录。
实施动作:切换后立即用同一抓取工具分别请求新旧地址,记录状态码、最终地址和正文指纹。结果如何影响下一步——若旧地址返回200且内容完整,说明存在重复入口,下一步应决定保留哪个版本;若旧地址返回301,则只需维护新地址的版本记录。
版本记录不是日志堆积,而是为了在出现异常时快速定位。建议用一张最小表结构,每行代表一次开关状态变化:
这样记录后,当百度抓取量或展现量变化时,可以先对照时间线,判断变化发生在开关切换之前还是之后。注意,抓取量归零或展现量下降不能单独证明开关处理正确,也可能来自抓取配额调整、页面质量变化或需求波动,需要结合其他证据。
如果开关会临时输出 noindex、限制 robots.txt 或返回404,记录方式要单独处理。robots.txt 的抓取限制不等于可靠的索引移除,它只约束抓取行为,不保证已收录地址立即消失。站点地图也不保证收录,提交新地址后仍需观察实际抓取和索引状态。
这类开关的版本记录应额外写明:限制类型、生效路径、预计恢复条件。若开关只是短期屏蔽某个模块,不要顺手把整页设为不可索引;若确实需要移除,应区分“阻止抓取”和“允许抓取但标记不索引”两种手段,并分别记录。恢复开关后,下一步是重新请求目标地址并核对返回内容是否回到预期版本,而不是直接假设已经恢复。
按这个流程走,开关造成的页面变化就不再是一笔糊涂账:同一地址的内容切换有指纹可查,地址切换有新旧映射可查,抓取限制有独立记录可查。下一步无论是回滚、保留还是提交新地址,都有明确依据。