很多站点在检查收录时,会发现同一个页面有多个 URL 都能打开,比如大小写不同、末尾有没有斜杠、带不带跟踪参数。每个变体都可能被蜘蛛发现并抓取,索引里就会出现多条相似记录。
先分清:哪些变体是问题,哪些是功能
不是所有多 URL 都要收敛。分页、筛选、排序参数如果承载了不同内容,属于功能型 URL,处理方式不同。真正需要优先处理的是同一内容因书写、协议、参数拼接产生的变体。
- 大小写:/About 和 /about
- 末尾斜杠:/guide 和 /guide/
- 跟踪参数:?utm_source=xxx、?from=xxx
- 会话与排序参数:?sid=xxx、?sort=price
- 索引参数:?id=123 与 /123 路径形式
处理顺序:先确认现状,再动手
第一步:确认哪些变体已进入索引
用 site 查询或索引状态报告,把同一内容的不同 URL 列出来。重点看它们是否有独立标题、描述和点击数据。如果只是 URL 不同,内容完全一样,就属于可收敛对象。
第二步:定一个主 URL
每个页面只保留一个主 URL,作为 canonical、内链和 Sitemap 中使用的地址。主 URL 应结构简单、稳定、可长期使用。不要频繁更换主 URL,否则信号会反复重置。
第三步:按变体类型分别处理
- 大小写:服务器和 CDN 统一把小写作为主形式,大写 URL 用 301 跳转到小写。注意 URL 路径大小写敏感,不要只靠前端处理。
- 末尾斜杠:选带斜杠或不带斜杠其中一种,另一种 301 过去。全站规则要一致,避免有的页面带、有的不带。
- 跟踪参数:内部链接不要带跟踪参数;外部投放链接可以用 canonical 指向无参数版本。不要用 robots.txt 屏蔽通用参数,否则可能误伤正常页面。
- 会话和排序参数:如果参数不改变核心内容,canonical 指向默认版本;如果改变内容,保持可抓取并合理分类。
- 索引参数:能改成静态路径的尽量改,不能改的用 canonical 收敛。
第四步:统一内部链接和 Sitemap
内部链接、导航、面包屑、Sitemap 都只指向主 URL。很多重复收录不是外部造成的,而是站内链接自己带了参数或大小写混用。Sitemap 里混入变体 URL,会直接引导蜘蛛抓取重复版本。
第五步:观察抓取和索引变化
收敛后不要期待立刻生效。蜘蛛需要重新抓取旧 URL,确认 301 或 canonical 信号,再逐步替换索引中的记录。可以观察抓取统计里旧变体是否减少、主 URL 是否稳定。
常见误区
- 同时用 301 和 canonical:如果已经 301,目标页不需要再对旧 URL 做 canonical 声明。
- 只改 canonical 不做内链统一:站内链接继续指向变体,蜘蛛仍会反复发现旧 URL。
- 一刀切屏蔽所有参数:可能把筛选、分页等有价值页面一起屏蔽。
- 频繁更换主 URL:每次更换都会让索引信号重新评估。
提醒:URL 收敛的目标不是让所有变体消失,而是让同一内容只对应一个清晰的主地址。功能型参数应保留,重复型变体才需要收敛。
检查清单
- 列出同一内容的所有可访问 URL。
- 确认哪些是重复变体,哪些是功能参数。
- 为每个页面选定唯一主 URL。
- 用 301 处理大小写和末尾斜杠。
- 内部链接和 Sitemap 只放主 URL。
- 跟踪参数通过 canonical 或链接规范处理。
- 观察抓取和索引数据,确认旧变体逐步减少。
最后,URL 变体问题通常不是一次改完就结束。上线新页面、更换 CMS、调整 CDN 规则时,都可能重新引入不一致的 URL 形式。把主 URL 规则写进内容发布流程,比事后反复排查更省力。