先别把“带参数的页面不收录”当成整体故障。更可能的情况是:同一路径的无参数版本正常,只有附加某个参数后才异常。此时第一步不是改站点地图,而是构造一个最小对照——同一路径、同一内容、只差一个参数,分别看抓取、索引和展示三段里哪一段开始分叉。只有把异常锁定到单一变量,后续动作才有意义。
参数页异常通常有三种表现:抓取工具根本没请求、请求了但没进索引、进了索引但展示的规范版本不对。这三段的处理方向完全不同。你可以从日志里筛出该路径带参数的请求记录,看是否出现过抓取;再查该 URL 是否被人为提交过;最后看展示层返回的规范链接指向谁。
如果日志里完全没有该参数的抓取记录,问题在发现与抓取环节;如果有抓取但长期不索引,问题更可能在内容重复或规范信号;如果已索引但展示的是另一个版本,问题在展示与规范选择。把这三段分开记录,能避免把展示问题误当成抓取问题去改 robots.txt。
假设你有一个商品列表页 /list 正常,而 /list?sort=price 异常。不要一次性测试所有参数,按下面的顺序做单变量对照:
每做一步只改一个条件,并记录该步之后抓取与索引状态是否变化。如果异常只在某个具体取值出现,问题更可能出在该取值触发的页面内容或服务端逻辑;如果异常跟随参数名出现,问题更可能在参数被识别为筛选或跟踪参数的处理规则上。
很多参数异常并不是参数被惩罚,而是参数让页面内容发生了实质变化。例如排序参数可能改变列表顺序,筛选参数可能让结果集大幅缩小,跟踪参数则不应改变内容。判断方法是:把带参数页面与无参数页面的正文做对比。
这个区分决定了下一步:内容一致时,优先检查规范链接与参数处理规则;内容不同时,优先判断该参数页是否应被当作独立页面维护。两种情况的动作相反,不能混用同一套处理。
是否让带参数页面参与收录,取决于它是否提供无参数版本没有的独立价值。可以用一个假设例子说明判断方式:假设某筛选组合每月有稳定外部链接指向它,且用户直接搜索该组合词能找到它,那么保留并给它独立规范是合理的;反过来,如果该参数只是排序方式,用户不会搜索“按价格排序的某列表”,那么把它收敛到无参数版本更合理。
这里的关键前提是:你能否确认该参数页有独立的外部引用或搜索需求。如果无法确认,默认收敛通常比默认放开更可控。收敛动作包括在页面返回规范链接指向无参数版本,并确认该参数不会被站内链接大量暴露。做完这一步后,观察该参数是否仍被反复抓取;如果抓取量下降但无参数版本索引稳定,说明收敛方向与当前信号一致,可以继续;如果无参数版本也出现波动,说明问题不在参数收敛,需要回到抓取与内容层面重新排查。
缩小复现条件的最终产出,不是一句“参数页不收录”,而是一段别人能照着复现的描述:具体路径、具体参数、具体取值、对照结果、以及在哪一步开始出现差异。记录里要注明测试时间与使用的抓取工具,因为抓取与索引状态会随时间变化。
需要提醒的是,robots.txt 的抓取限制不等于可靠的索引移除;站点地图也不保证收录。如果你的对照显示异常只出现在抓取环节,先检查是否有规则误伤了该参数,而不是直接删除站点地图里的对应条目。把复现条件固定下来之后,下一步无论是改规则、改规范还是改内容,都能用同一组对照来验证结果,而不是靠感觉判断是否恢复。