在蜘蛛池入口页里,同一个目标 URL 经常被写成多个版本:有的加了 utm 跟踪参数,有的带上筛选条件,有的拼了 session id 或随机排序值。运营者关心的是:这样会不会让搜索蜘蛛重复发现、重复抓取,把本就不多的抓取配额浪费掉。这个问题没有一刀切的答案,要看参数本身和页面给出的信号。
搜索蜘蛛在发现阶段先按完整 URL 识别
多数搜索引擎在 URL 发现环节,会把查询字符串不同的地址先当作不同 URL 处理。也就是说,/a.html 和 /a.html?from=pool1 在发现阶段很可能被记成两条记录。去重不是即时的,通常要等抓取之后,通过内容指纹、canonical、跳转等信号再判断是否属于同一份内容。
所以入口页上放多少个参数变体,搜索引擎侧就可能先记下多少个待抓取条目。这不代表都会被完整抓取,但确实会让抓取队列里多出候选。
哪些参数影响大,哪些基本无害
- 跟踪类参数(utm_source、ref、from 等):一般会被识别为跟踪参数并在索引层忽略,但发现阶段仍可能先占一条记录。
- 排序、筛选、分页参数:容易生成大量组合,是抓取空间膨胀的主要来源。
- session id、时间戳、随机数:几乎每次访问都生成新地址,最容易被判定为低质或无限空间。
- 大小写、末尾斜杠、默认端口的差异:看起来无害,实际会被当作不同地址。
简单说,参数越“稳定、可枚举”,风险越小;越“随机、组合爆炸”,风险越大。
重复发现之后通常会发生什么
- 搜索引擎抓取其中一条,通过 canonical 或跳转归并到主 URL,其余变体慢慢被剔除。
- 多个变体各被抓一次,内容相同,抓取配额被分摊,主 URL 的抓取频率反而下降。
- 变体被判定为低质 URL,连主 URL 的优先级一起被拉低。
第三种情况不算常见,但在同一个入口页批量铺参数变体时更容易触发。
比较稳妥的几种做法
- 同一目标 URL 在入口页尽量只保留一种写法,统一是否带末尾斜杠、统一用绝对路径。
- 确实需要跟踪来源时用参数没问题,但不要为每个入口页都换一套参数值反复链接同一目标。
- 对已经存在的参数变体,用 canonical 指向主 URL,必要时再用 URL 参数工具或 robots 规则收敛。
- 入口页可放的链接有限,优先把位置留给真正需要被发现的目标 URL。
发现异常时的排查顺序
- 先从日志或站长平台看搜索蜘蛛实际抓了哪些参数变体,确认是否真的重复。
- 检查目标页有没有 canonical,方向是否正确指向主 URL。
- 看入口页是不是把参数写死了,比如模板给每个链接都拼了当前时间或来源 id。
- 确认目标 URL 没有因为参数不同而返回不同标题、不同内容,被误判成两份页面。
- 再决定是改入口页链接、加 canonical,还是维持现状不做处理。
参数本身不是问题,失控的参数才是。一个目标 URL 在入口页里以几种面貌出现,搜索引擎侧就可能先记几条;最终能不能合并,取决于页面给不给得出清楚的归并信号。
最后提醒一点:URL 发现只是第一步,是否抓取、多久抓取,还受站点整体权重、响应速度、内容质量等多重因素影响。把参数写法收敛干净,能让入口页更清爽,但不要把它当成快速提升收录的手段。