很多人在蜘蛛池入口页放链接时,习惯直接把目标 URL 复制过来,里面往往带着 utm_source、from、spm、ref 之类的跟踪参数。链接本身能点开,看起来没问题,但从搜索蜘蛛的角度看,同一个页面可能变成好几个不同的地址。这篇文章讲清楚这件事的影响范围,以及哪些参数值得清理、哪些可以保留。
搜索蜘蛛怎么看待带参数的 URL
搜索蜘蛛并不认识「跟踪参数」这个概念,它只按 URL 字符串去抓。对 https://example.com/a 和 https://example.com/a?utm_source=abc 这两个地址,抓取系统一开始通常会把它们当成两条独立的 URL 记录,各自进入抓取队列。
这不必然是坏事,但有两个实际后果:一是你把一次发现机会拆成了两次,入口页里能触达的 URL 数量被参数稀释;二是目标站如果没有做好参数归一化,抓取资源会被消耗在大量参数变体上,真正需要更新的主 URL 反而排在后面。
发现是发现,抓取是抓取,收录是收录。爬虫来过一次,只能说明这条 URL 被记录过,不代表它会被索引。
哪些参数建议清掉,哪些可以留
判断标准很简单:这个参数是否改变页面返回的内容。不影响内容的,基本都可以清掉。
- 可以清掉:utm_*、spm、from、ref、share_source 等纯渠道标记;无意义的排序、视图切换参数;会话 ID、时间戳这类每次访问都变化的参数。
- 建议保留:真正决定内容的分页参数(page、p)、商品或文章筛选参数、多语言标记(lang),去掉后指向的已经是另一个页面。
- 拿不准时:先去目标站的 robots.txt 和站点地图看看它自己是怎么处理的,跟着站点已有规则走,比自己拍脑袋更稳。
入口页链接的几种写法对比
- 直接复制带参链接:最省事,但参数变体会一起进入抓取队列,适合参数很少、目标站已做归一化的场景。
- 手工去掉跟踪参数:入口页里只放纯净 URL,最直观,也最容易控制链接数量。缺点是人工维护,链接多了容易出错。
- 用重定向收敛:入口页放带参地址,服务端用 301 跳到纯净地址。层级更清楚,但跳转链多了一跳,需要确认跳转是永久且稳定的。
- 靠目标站 canonical 自己收敛:站内做好 canonical 指向主 URL,成本最低,但这属于目标站的工作,入口页这边只能配合,无法替代。
别踩的几个坑
第一,不要为了「看起来参数更丰富」而人为添加参数,URL 空间越大,抓取资源被摊薄得越厉害。第二,不要对同一目标页面同时投放带参和纯净两条链接,除非你确实想比较哪条更容易被早期发现。第三,不要在入口页里混用同一参数的多种拼写,例如 utm_source 和 utm-source,那只会制造更多变体。
怎么确认有没有浪费
把入口页的访问日志和目标站的日志放在一起看:统计入口页被搜索引擎 UA 抓取的次数,再看目标站这边对应 UA 抓到了哪些地址。如果日志里频繁出现带参数的变体地址,而纯净地址很少被访问,基本说明参数在分流抓取。反过来,如果参数变体几乎不出现,说明目标站的归一化做得不错,入口页这边的清洗可以放松一些。
参数这件事没有统一答案,核心判断只有一条:这个 URL 是不是你希望被当成「同一个页面」的那个地址。入口页要做的是减少歧义,而不是制造更多入口。