做蜘蛛池入口页时,链接后面的参数经常被忽略。很多人从统计工具或投放后台复制链接,直接粘到入口页上,URL 尾巴上挂着 utm_source、utm_medium、gclid 之类的东西。这类链接对用户没影响,但对搜索蜘蛛的抓取和后续收录判断,可能有实实在在的影响。
搜索蜘蛛看到的是完整 URL,参数不会自动消失
搜索引擎在处理链接时,确实会识别一部分常见参数,但这不等于参数会被无条件忽略。蜘蛛从入口页拿到的 href 是什么,它就按什么去请求。带参数的 URL 和干净 URL 在抓取队列里通常是两条记录,除非搜索引擎自己做了规范化合并。
换句话说,入口页上写的是 example.com/page?utm_source=abc,蜘蛛大概率就会去抓这个带参数的版本,而不是你心里想的那个干净版本。
主要影响集中在三个地方
1. 抓取量被重复消耗
同一个目标页如果以多种参数形式出现在入口页,蜘蛛可能对每个变体都发起一次请求。抓取预算有限的站点,这部分开销是白花的——页面内容其实一模一样。
2. 收录版本分散
带参数和不带参数的 URL 如果都被收录,等于同一份内容拆成了几个入口。后续你做内链、更新内容,权重和信号也会被摊薄。这种问题在参数组合多的时候尤其明显,比如同时带 utm_source、utm_campaign 和排序参数。
3. 规范化信号互相打架
如果页面本身有 canonical 指向干净版本,情况会好一些;但如果 canonical 缺失,或者参数版本被其他页面反向链接,搜索引擎就可能选错规范版本。
哪些参数值得留意
- 跟踪类:utm_*、gclid、fbclid、msclkid
- 会话类:sid、sessionid、phpsessid
- 排序筛选类:sort、order、filter
- 来源类:from、ref、source
会话类参数最麻烦,因为它会为每个访客生成不同 URL,蜘蛛抓到的很可能是一批一次性地址。
动手处理:四个步骤
- 导出入口页上所有链接,把带参数的挑出来,统计参数种类和组合数量。
- 入口页只保留干净 URL;跟踪参数放到统计脚本或事件埋点里,不要写进 href。
- 确实需要参数的情况,在页面上加 canonical 指向无参数版本,并在 robots.txt 或搜索引擎后台的参数处理工具里做说明。
- 改完后观察一段时间,用服务器日志确认蜘蛛请求的 URL 形态是不是变干净了,重复请求有没有下降。
别忘了用日志验证
改完不等于生效。从日志里按 User-agent 筛出搜索蜘蛛,看看它们请求的路径里还有多少带参数的记录。如果某个参数反复出现,说明入口页某处还在输出它,回头看模板或者 JS 拼接逻辑。
参数本身不是错,错的是把同样内容的多个 URL 版本同时推给搜索蜘蛛。入口页的任务是把目标 URL 送出去,越干净越好。
总结一句:入口页链接尽量用无参数版本,跟踪需求交给前端脚本处理;已经有参数的,用 canonical 和参数工具收敛,再用日志确认效果。这不是一次性动作,模板更新、投放链接变更后都要回头检查一遍。