先用同一批URL在无参数、单参数、多参数三种形态下各查一次,把异常范围从“整站”压到“某一类参数组合”。如果无参数版本正常、只要带上某个参数就异常,问题通常出在参数解析、内容渲染或抓取路径上,而不是站点整体被降权。下一步要做的不是继续查收录,而是构造最小复现集,确认到底哪个参数、哪种取值触发异常。
部分页面正常、特定参数异常,最常见的两种解释方向完全不同,处理动作也相反。
这两种解释的后果不同:前者通常不需要修复收录,只需要确认规范标签是否指向正确;后者需要修复参数处理逻辑,否则会持续产生低质量或错误页面。
判断属于哪一种,不靠猜,靠对照。
假设一个筛选页 list?color=red 无参数版本正常收录,带参数版本查不到。如果该参数页面canonical指向自身、正文与无参数版本不同、状态码200,那么更可能是解释二,需要检查参数是否真正驱动了内容渲染。如果canonical指向无参数版本、正文相同,则更可能是解释一,属于预期内的去重。
多个参数同时出现时,异常可能只由其中一个触发。把参数拆成单参数、双参数、全参数三档分别访问,记录每档的收录状态和返回内容。
具体动作:从异常URL中提取全部参数,先只保留第一个参数,查一次;再只保留第二个参数,查一次;最后恢复全部参数。如果只有某个特定参数单独出现时异常,复现条件就锁定到该参数;如果单参数都正常、组合后才异常,问题出在参数组合逻辑或缓存键设计上。
这个动作的结果直接决定下一步:锁定到单个参数,就去检查该参数的解析和渲染代码;锁定到组合,就去检查缓存是否按完整参数串做键、是否有参数顺序依赖。两种情况都不需要再扩大查询范围。
个别样本成立、规模化后出现例外,往往不是方法失效,而是样本之间并不同类。带参数页面可能同时包含分页参数、排序参数、追踪参数、会话参数,它们的处理方式本应不同。
把异常样本按参数类型分组,而不是按URL数量分组。追踪参数和会话参数通常不应产生独立收录,分页和排序参数则可能产生真实不同的内容。如果混在一起统计,会得出“参数页面普遍异常”的错误结论。
此时可用的判断依据是:同一参数类型内部,异常比例是否一致。如果某类参数全部异常、另一类全部正常,说明问题在参数分类规则;如果同类参数内部仍有正常样本,说明还有未识别的变量,需要继续拆。
上述方法适用于参数确实改变页面内容、且服务端对参数有明确处理逻辑的站点。如果参数仅用于前端展示、服务端返回的HTML完全相同,那么带参数URL本就不应被独立收录,此时“异常”是预期行为,不需要修复。
另外,robots.txt 中禁止抓取带参数路径,只能阻止抓取,不等于该URL会从索引中消失;站点地图包含带参数URL,也不保证其被收录。这两点不能作为判断参数页面是否正常的依据。HTTPS 同样不改变参数页面的收录逻辑,它只影响传输层,与参数解析和内容渲染无关。
当参数页面涉及多套模板或多种设备形态时,还要分别核查。移动端和桌面端可能返回不同内容,只测一种形态会漏掉复现条件。把设备维度加入对照,是缩小复现条件的最后一步。