很多站点并不是没有内容,而是同一个页面有多个地址。用户从不同入口点进来都能打开,但搜索引擎会看到多份几乎相同的 HTML。短时间内不一定出问题,时间久了,抓取会重复消耗,收录也会分散到不同 URL 上。
常见的 URL 变体有哪些
先别急着改,先确认站内到底存在哪些版本。常见差异包括:
- 协议不同:http 与 https 同时可访问,或者 https 页面里还链回 http。
- 主机名不同:example.com 与 www.example.com 都能打开。
- 大小写不同:/Page 与 /page 在部分服务器上被视为两个地址。
- 结尾斜杠不同:/category 与 /category/ 返回相同内容。
- 默认文件名不同:/index.html 与 /。
- 参数顺序不同:?a=1&b=2 与 ?b=2&a=1 指向同一结果。
这些变体单独看都不大,但组合起来,一个页面可能被拆成十几个 URL。
搜索引擎会自己选规范页,但信号来自你
搜索引擎会尝试判断哪个 URL 是规范版本,依据通常包括:外链指向、站内链接、sitemap、canonical 标注、重定向关系以及页面历史。它不会只因为你写了一个 canonical 就完全照做。如果站内链接大量指向非规范版本,或者 sitemap 里混着多个变体,判断就会变得更慢、更不确定。
规范化的核心不是“告诉搜索引擎哪个是主页面”,而是让站内所有信号尽量指向同一个 URL。
收敛顺序:先重定向,再统一入口
如果多个变体已经存在,处理顺序可以按下面来:
- 确定唯一主 URL:协议、主机名、路径形式都固定下来,写进站点规范。
- 用 301 把旧变体指向主 URL:能永久跳转就不要用 302,也不要让两个版本都返回 200。
- 统一站内链接:导航、面包屑、正文内链、分页链接都使用主 URL,而不是相对路径或旧域名。
- 检查 sitemap:只放主 URL,不要把重定向 URL 或参数变体放进去。
- canonical 作为补充:在确实无法重定向的参数页上标注,但不要和 301 互相矛盾。
注意,不要同时用“canonical 指向 A、301 跳到 B、内链又指向 C”这种组合。信号越矛盾,搜索引擎越难快速确定规范页。
抓取和收录不是一回事
多个变体被抓取,不等于都会被收录。常见情况是:搜索引擎抓取了几个版本,最后只索引其中一个;也可能暂时分别索引,等规范化信号明确后再合并。如果变体内容有细微差异,比如价格、库存、排序不同,合并会更慢,甚至长期并存。
因此,看日志时不要只看“有没有蜘蛛来”,还要看它抓的是哪个 URL 变体。如果大量抓取落在非规范版本上,说明内链或重定向还没收敛干净。
怎么核对收敛效果
- 用 服务器日志 观察搜索引擎抓取的主机名、路径和参数分布。
- 用 站点查询 看索引里是否还残留旧变体。
- 在搜索后台查看“规范网址”报告,确认系统选择的规范页是否符合预期。
- 抽查内链和 sitemap,确认没有把旧 URL 重新暴露出去。
URL 规范不是一次性工作。上线新栏目、换 CDN、调整参数规则时,都可能重新产生变体。把主 URL 规则写进开发和运营规范,比事后逐个处理更省力。