一个常见场景:列表页本身只对应一个地址,过段时间用 site 查询或者翻收录报告,却能看到同一个列表衍生出几十上百个带参数的地址,有的还在搜索结果里露了面。它们大多来自筛选、排序、分页,或者投放链接里附带的追踪参数。这类地址内容高度相似,却会持续消耗抓取资源,也让索引里的页面结构变得难以判断。
处理之前不必急着屏蔽。带参数的 URL 并不都是垃圾,先把它们分类,再决定每一类怎么收敛,动手的顺序比动作本身更重要。
第一步:把参数分成三类
- 功能性参数:分页、语言、版本切换等。这类地址往往有独立内容,可能需要被收录,重点是规范写法,而不是直接屏蔽。
- 筛选与排序参数:颜色、价格区间、排序方式。价值差异很大:有明确搜索需求、内容确实不同的组合可以保留;只是换个排列顺序、正文没差别的,通常不需要单独收录。
- 追踪参数:utm、渠道标识之类,只用于统计,不改变页面内容,理想状态下不该出现在索引里。
第二步:用日志确认抓取去了哪里
先看服务器日志或抓取统计,确认参数地址到底占了多少抓取量。重点看三件事:
- 被访问最多的路径里,参数页的比例和具体参数名;
- 这些请求返回的状态码,是否存在大量 200 但内容几乎为空的情况;
- 参数地址是出现在内部链接、站点地图里,还是只在投放链接中。
确认来源之后,后续的整改才不会误伤正常页面。
第三步:从来源开始收敛
- 追踪参数:站内链接不要携带追踪参数;对外投放的链接,可以在服务端忽略参数,或把带参地址稳定地跳转到无参版本。
- 筛选与排序:有独立价值的组合,给它一个规范、可读的固定地址,并让其他参数组合指向它;没有独立价值的,合并展示,不再通过内链暴露。
- 分页:尽量保持可抓取,避免为了去掉参数把后半段链接全部隐藏。
- canonical 与内链保持一致:页面里写的规范地址,要和内链、站点地图中的地址一致,否则信号会互相抵消。
- 站点地图只保留主版本:把参数地址从站点地图中清掉,减少它们被重新发现的机会。
第四步:观察,而不是一次性全改
参数处理往往会影响抓取路径。如果一次改掉全部规则,日志里很难分辨是哪一项起了作用。更稳的做法是按参数类型分批调整,每批之间留出观察周期,看抓取请求的分布、返回码和索引中参数地址的数量是否在变化。
几个容易踩的坑
- 在 robots.txt 里屏蔽参数目录,却指望索引里立刻消失——抓取限制和索引移除是两件事。
- 一刀切禁止所有带参数的地址,结果连带影响了确有内容的分页和筛选页。
- 页面 canonical 指向无参版本,内链却仍然大量指向带参地址。
- 把参数清理当成一次性任务,之后新上线的活动和投放又引入一批新的追踪参数。
参数本身不是问题,缺少统一规则才是。先确认抓取去向,再按类型收敛来源,最后用一段时间的日志和索引数据来验证,比一次性大规模屏蔽更可控。