网站收录

URL 归一化:大小写、尾斜杠、www 和协议,收录前统一到哪个版本

同一内容出现多个 URL,会让蜘蛛和索引把信号分散到不同地址。本文梳理协议、www、尾斜杠、大小写等常见不一致,说明怎么选主版本、在哪里统一,以及检查时该看哪些数据。

网站收录

URL 归一化:大小写、尾斜杠、www 和协议,收录前统一到哪个版本

搜索引擎先按 URL 识别页面,再把多个信号归到同一个地址上。如果同一篇内容能通过好几个 URL 打开,蜘蛛可能分别抓取,索引也可能分别存放。结果就是内链和外部链接被分散,页面质量评估被稀释,收录表现不稳定。URL 归一化不是高级技巧,而是收录前的基础整理。

同一页面为什么会出现多个 URL

常见的不一致往往来自服务器、模板和历史配置,而不是内容本身。下面这些情况,很多站点同时存在几种。

  • 协议:http 和 https 都能访问,或 https 页面里混着 http 资源链接。
  • 域名前缀:带 www 和不带 www 同时返回 200。
  • 尾斜杠:/page 和 /page/ 被当成两个地址。
  • 大小写:/Article 和 /article 在部分服务器上等价,在另一些服务器上却是两个页面。
  • 默认文档:/ 和 /index.html 都能打开首页。
  • 参数:排序、筛选、追踪参数生成不同 URL,内容却基本相同。
  • 锚点与片段:带 #section 的链接通常不影响服务器,但分享时容易被误当成独立页面。

这些地址如果都返回 200,蜘蛛就会把它们当作不同 URL 处理。抓取预算被分走,收录也可能出现重复或遗漏。

哪些地方必须统一到同一个版本

选好一个主版本后,站内所有指向该页面的地方都应该使用同一个 URL。重点检查以下几处:

  • 内链:导航、正文链接、相关推荐、面包屑,不要混用带尾斜杠和不带尾斜杠的写法。
  • sitemap:只放规范 URL,不要同时提交多个版本。
  • canonical:每个页面指向自己的规范地址;如果页面有多个版本,非规范版本指向主版本。
  • 301 重定向:非主版本用 301 跳到主版本,不要用 302 长期顶着。
  • 结构化数据与分享配置:JSON-LD、Open Graph 里的 URL 也保持一致。
  • hreflang:多语言版本之间的互相指向,要用各自语言的规范 URL。

这些位置只要有一处混用,蜘蛛就可能顺着旧版本继续爬,形成新的不一致。

主版本怎么选

没有绝对标准,但要选一个能长期维护、证书覆盖完整、服务器配置稳定的版本。通常优先 https,然后决定带不带 www。判断依据可以看历史外链和收录情况:如果外链大多指向带 www 的版本,切换成本会高一些。选完之后,另一个版本统一 301 过去。

主版本一旦确定,就不要因为一次活动或一次改版随意换回来。频繁切换会让蜘蛛反复调整,收录也会跟着波动。

检查与处理清单

  1. 用服务器日志抽查蜘蛛抓取的 URL,看它主要在抓哪个版本。
  2. 在索引报告里搜索同一路径的不同写法,确认是否存在重复。
  3. 测试非主版本是否返回 301,而不是 200 或 302。
  4. 检查 canonical 是否自指,非规范页面是否指向主版本。
  5. 检查 sitemap 和内链,确保没有旧版本地址。
  6. 如果服务器对大小写敏感,统一模板输出小写路径,并在重定向规则里处理大写访问。
  7. 处理参数型 URL:能静态化就静态化,不能静态化的用 canonical 或 robots 规则控制抓取。

处理时注意顺序:先确定主版本,再改重定向,然后改内链和 sitemap,最后观察日志和索引报告。一次性全改容易掩盖问题,分步更容易定位。

几个容易踩的坑

把 canonical 当成 301 用,是常见误区。canonical 是提示,301 是更强的信号,两者不能互相替代。还有站点用 robots.txt 屏蔽非规范版本,以为这样就能解决问题,但被屏蔽的 URL 无法传递权重信号,蜘蛛也看不到页面上的 canonical。更稳妥的做法是让非规范版本可访问,但通过 301 或 canonical 指向主版本。

另外,CDN、反向代理和框架路由都可能改变 URL 的最终形态。上线新模板后,最好重新抽查一遍大小写、尾斜杠和默认文档的处理规则。

URL 归一化不是一次性的任务。改版、新栏目、新 CDN 配置都可能重新引入不一致。把它放进站点运营的常规检查里,蜘蛛抓取的路径才会更集中,收录也更容易稳定下来。