站点运营

站点运营:canonical 与重复地址自查,别让同一内容被拆成多个入口

同一篇内容出现多个可访问地址,是站点运营中很常见却容易被忽略的问题。本文从参数、大小写、尾斜杠、打印页、分页等来源入手,整理一份 canonical 自查清单与修正思路,帮助把抓取和信号集中到主地址上。

站点运营

站点运营:canonical 与重复地址自查,别让同一内容被拆成多个入口

站点运营做久了,常会遇到一种情况:同一篇内容可以用好几个地址打开。带跟踪参数的、带尾斜杠的、大小写混用的、移动端专用路径的,甚至还有从旧版栏目复制过来的。对用户来说,这些链接可能只是长得不一样;但对搜索引擎和蜘蛛来说,每一个能正常返回的地址,都是一个需要单独抓取、单独判断的 URL。地址越多,抓取预算越分散,页面之间原本应该集中的信号也容易被拆开。

重复地址通常从哪来

先弄清楚来源,比急着加标签更有用。常见的几类来源如下:

  • URL 参数:跟踪参数、排序参数、筛选参数、会话 ID,都会让同一个页面生成大量变体地址。
  • 书写差异:大小写、结尾斜杠、带不带 index 文件,服务器如果都返回 200,就会形成多份内容。
  • 协议与域名:http 与 https、带 www 与不带 www,如果同时可访问且没有跳转,等于同一内容有两个站点入口。
  • 特殊版本路径:打印页、AMP 页、移动版独立路径,如果没有做好指向关系,会被当成独立内容。
  • 分页与聚合:列表翻页、标签聚合页、专题页,容易和原始内容页产生大量重叠。

一份可执行的自查清单

不必全站铺开,先随机抽二三十个内容页,按下面几步走一遍,问题通常就能暴露出来:

  1. 用带参数、大写、无尾斜杠等不同写法分别访问同一个页面,看是否都返回 200。
  2. 查看页面源码,确认 canonical 指向的是自身的主地址,而不是别的栏目或首页。
  3. 检查 canonical 是否被模板写死成同一个值,这种情况在改版后特别常见。
  4. 对照 sitemap,看提交的是哪一个版本的地址,和 canonical 是否一致。
  5. 检查站内链接、面包屑、相关推荐,指向的是主地址还是带参数的地址。
  6. 确认参数地址是否有 301 或规则拦截,而不是长期可访问。

canonical 写法的几个注意点

  • 使用完整的绝对地址,不要写相对路径,避免解析歧义。
  • 指向的目标应当是正常返回 200 的主地址,不要指向 404 或已重定向的地址。
  • 避免 A 指向 B、B 又指向 C 的链式写法,链条越长,越容易被忽略。
  • 分页列表中,每一页通常指向自身,而不是全部指向第一页。
  • 同一内容的不同版本不要各自指向不同的地址,否则等于同时发出互相矛盾的信号。

只加 canonical 还不够

需要说明的是,canonical 对搜索引擎而言是一种提示,并不保证一定被采纳。真正稳妥的做法,是让多个入口指向同一个结果:能跳转的用 301 跳到主地址,站内链接尽量只链主地址,sitemap 里也只提交主地址。三者方向一致时,蜘蛛遇到的重复路径会明显减少,判断成本也更低。

另外,规范化不是一次性工作。新增栏目、改版、切换 CDN、调整伪静态规则之后,旧的地址可能又冒出来。建议把这项检查放进运营例行动作里,每次结构有变动就抽查一轮。

重复地址本身不算错误,真正麻烦的是它们长期共存、互相没有关系说明。把入口收拢到一个地址上,抓取和信号才有机会集中起来。