SEO 百科

rel=canonical

本页目录

rel=canonical

rel=canonical 是一个链接元素,写在网页 <head> 里,用来指明一组相似或重复网址中,站长更愿意使用哪一个作为规范网址[1]。页面能通过多个网址访问时,引擎需要挑一个作代表;这个元素就是把偏好提前告诉它。要留意的是,它属于提示而非指令,引擎仍可能另选一个网址[4]。

语法与放置位置

rel=canonical 写在 <head> 里,用一个 <link> 元素给出目标网址:

<head>
  <link rel="canonical" href="https://www.example.com/green-dress.html">
</head>

非 HTML 资源没有 <head>,改用响应标头表达同一件事:

HTTP/1.1 200 OK
Link: <https://www.example.com/green-dress.html>; rel="canonical"

一个页面只写一条。指向多个目标会自相矛盾,引擎可能干脆整条都不采纳[3]。

指向别的网址与自引用

href 可以指向本站以外的网址。跨域指向另一个域名,等于把重复内容归到那一侧,常见于内容被第三方转载后回指原文[2]。

规范页自己也要写上 rel=canonical,目标指向自己,这条叫自引用[3]:

<link rel="canonical" href="https://www.example.com/green-dress.html">

提示与指令的区别

Google 说得很直接,“指明首选规范网页是一个提示,而非规则”[4]。它还要看页面是否用 HTTPS、有没有重定向、站点地图里出现的是哪个网址,再综合判断[4]。

几种方法叠加会更有效。重定向、rel=canonical、站点地图三者一起用,指定的网址成为规范网址的机会更大[3]。

与重定向的区别

重定向和 rel=canonical 都能指向目标,作用却不同:

  • 重定向把访问整个转走,用户和爬虫都落到新网址,属于强信号[3]。
  • rel=canonical 只在代码里标注偏好,原网址仍能正常访问。

两个网址都还想保留可访问时,用 rel=canonical;旧网址已经彻底不用,就用 301。Bing 说的是“Use redirects instead of canonical tags”,网址搬家优先用重定向[2]。

常见误用

把 rel=canonical 当 301 用,是第一种。它不会像重定向那样把权重完整地推到目标,只做合并的提示。

指向一个打不开的网址,是第二种。目标取不到内容,引擎只能自己再选。

两个页面互相指向,是第三种。一组页面的偏好要前后一致,不能 A 指 B、B 又指 A[3]。

附录

参见

参考资料

官方(境外)

  1. 《Why should I avoid duplicate pages?》,Yandex,2026-10-08 访问。
  2. 《Bing Webmaster Guidelines》,Microsoft Bing,2026-10-08 访问。
  3. 《如何使用 rel="canonical" 及其他方法指定规范网址》,Google 搜索中心,2026-10-08 访问。
  4. 《什么是网址规范化》,Google 搜索中心,2026-09-11 更新。

外部链接

无。