网站收录

URL 变体被分别收录:尾斜杠、大小写与默认文档的核对顺序

同一个页面常常可以通过多个地址访问:带不带 www、http 还是 https、有没有尾斜杠、大小写不同、或者多了 index.html。如果服务器对这些地址都返回 200,搜索引擎就可能把它们当作不同页面分别抓取和收录。本文按核对顺序梳理如何判断变体、选定规范形式,并用服务器跳转与站内链接把地址收敛到一处。

网站收录

URL 变体被分别收录:尾斜杠、大小写与默认文档的核对顺序

同一个页面,往往可以通过不止一个地址打开:带 www 和不带 www、http 和 https、结尾有没有斜杠、字母大小写不同、甚至多一段 index.html。如果服务器对这些地址都正常返回 200,搜索引擎就有理由把它们当成不同页面,分别抓取、分别收录。结果就是同一个内容在索引里出现多份,标题和摘要互相竞争,站内站外的信号也被分散。

先判断:是真变体,还是本来就不同的页面

不是所有看起来相似的 URL 都属于变体。带筛选参数的列表页、分页的后续页码、真正面向不同语言或地区的版本,都是独立页面,不该强行合并。判断标准是内容本身:正文、页面标题、主要结构是否基本一致。只有当几个地址指向的是同一份内容时,才谈得上收敛。

常见的 URL 变体清单

  • 协议不同:http 与 https 同时可访问
  • 主机名不同:www 与非 www 都能打开
  • 尾斜杠不同:/about 与 /about/
  • 大小写不同:/About 与 /about
  • 默认文档:/about/ 与 /about/index.html
  • 显式端口:example.com:443 与 example.com
  • 参数顺序与追踪参数:同一路径挂上不同排列的查询串
  • URL 编码写法:同一字符的不同转义形式

它们为什么会各自被收录

常见原因有几类:服务器没有做跳转,任意变体都能拿到 200;站内链接、导航、站点地图混用了不同写法;页面本身允许多地址访问,canonical 只写了一个地址;CDN 或反向代理对 host 的判断不一致,回源后仍返回正常页面。对爬虫来说,只要地址能正常返回内容,它就可能抓取并尝试索引。

核对顺序

  1. 先选定一个规范形式,一次决定、长期不改:通常是 https,加上固定选择 www 或非 www,路径统一为小写,并统一是否带尾斜杠。
  2. 在服务器层面 301 到规范形式,而不是只靠 canonical 兜底。跳转是给爬虫最直接的信号。
  3. 检查跳转链,避免“变体 → 另一个变体 → 规范”的多跳,尽量一次到位,减少抓取浪费。
  4. 统一站内写法:导航、面包屑、正文内链、站点地图、RSS、分享按钮、广告落地页都使用规范地址。
  5. canonical 写成规范地址本身(自引用),其余仍可访问的变体页面在条件允许时指向规范地址。
  6. 检查 CDN、反向代理与负载均衡的 host 判断,确认非规范 host 不会回源出 200 页面。
  7. 观察实际收录地址:用 site 查询和抓取工具看索引里留下的是哪个形式,确认收敛是否在推进。

收敛之后要注意什么

  • 已收录的旧变体不会立刻消失,索引更新需要时间,不必频繁改动策略。
  • 如果旧变体还有外链,301 能把信号传递到规范地址,通常比直接返回 404 更平滑。
  • 不要用 canonical、robots 限制、301 同时去解决同一件事,多个信号容易互相冲突。
  • 参数类变体优先在服务器或爬虫规则层面处理,比逐页写标签更省事。
URL 变体的核心不是“让搜索引擎替你选一个”,而是服务器和站内链接只提供一个。你给出的信号越乱,索引里的结果越不确定。

小结

遇到同一页面多个地址被分别收录,先确认内容是否真的一致,再选定唯一规范形式,用 301、内链和 canonical 逐步收敛。顺序上,服务器跳转优先于标签提示,站内统一优先于事后清理。收敛完成后给索引留出更新时间,再用收录地址分布来验证。