同一个页面,服务器常常愿意用很多种地址把它打开:http 和 https、带 www 和不带 www、末尾有斜杠和没有斜杠、参数顺序换一下、大小写改一下。对访问者来说还是一页,对搜索引擎来说可能是好几条不同的 URL。这些地址一旦都能正常返回,抓取、去重、索引选择几个环节都会受影响,最后表现出来往往是收录数量虚高、真正想推的版本反而不占优势。
常见的变体来源
- 主机与协议:http 与 https、www 与非 www、带端口与不带端口。
- 路径写法:末尾斜杠有无、大小写混用、路径里出现重复的斜杠。
- 查询参数:排序、筛选、分页、打印版、utm 追踪参数、会话 ID。
- 默认文档:目录地址与 /index.html、/default.aspx 并存。
- 编码差异:中文参数未编码、空格写成加号或 %20。
这些大多不是故障,而是配置长期累积的结果。麻烦之处在于它们各自都能返回 200,站点自己不说哪条是正主,引擎就得自己挑。
变体为什么会牵扯到收录
搜索引擎在抓到一个 URL 之后,第一步是判断它和已有内容是不是同一份。判断依据包括正文相似度、canonical 指向、内链指向、sitemap 里列的是哪一条。如果站点从没明确表态,引擎通常会把它们归到同一组,选一条当代表,其余的进入“重复”“备用”一类的状态。
结果是两个方向的:一是索引报告里的数字看着不少,但真正能带流量的只有其中一版;二是抓取预算被摊薄,同样一批新 URL 要等更久。参数组合一旦是自动生成的,条目数还可能成千上万地膨胀。
自查顺序
- 先在索引报告和访问日志里统计:带参数的 URL 占比多少,哪几类参数出现最频繁。
- 抽查几个典型页面,把各种变体实际打开一遍,看返回状态码和页面内容是否完全一致。
- 核对 canonical:各变体是否都指向同一个自认为规范的版本,指向的地址本身能否正常打开。
- 核对内链与 sitemap:站内链接和 sitemap 里出现的是规范版本,还是随手写的那一版。
- 核对主机与协议:是否存在两个域名或两种协议同时对外服务,且没有互相跳转。
这几步做完,通常就能分清哪些变体是历史遗留、哪些是当前模板还在持续产出。
收敛手段怎么挑
能用 301 的优先用 301,尤其是域名、协议、末尾斜杠这类结构性差异:一次跳转把入口收干净,后续不用反复解释。
参数类变体适合单独判断。真正产生不同内容(比如分页、必要的筛选)的可以保留;只影响展示顺序、来源标记、会话状态的,一般没有单独被抓取的价值,可以用规范链接或参数处理规则来收敛。这里的取舍标准很简单:这条参数有没有可能被用户搜索到,有没有独立的正文。
canonical 是“建议”性质,跳转是“强制”性质,两者不要在同一批 URL 上互相打架。同一页面同时声明 canonical 又做 301 到另一个地址,容易让引擎反复试探。
改完不要只看首页。变体最多的地方通常在列表页、筛选页和详情页模板里,改一处模板可能一次性收掉几千条 URL。
改完之后看什么
收敛动作生效需要时间。可以观察三件事:索引报告里重复类的条目是否在减少;日志里带参数的访问是否变少;规范版本的抓取频次和展现是否稳定。如果只是数字降了、规范版本没有任何变化,可能是收敛动作把不该收的也收掉了,需要回头核对。
URL 变体这件事没有一劳永逸的开关,更像定期打扫。模板改版、新渠道投放、第三方参数接入时,都值得顺手看一眼又多出了哪几类地址。