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]。
附录
参见
参考资料
官方(境外)
- 《Why should I avoid duplicate pages?》,Yandex,2026-10-08 访问。
- 《Bing Webmaster Guidelines》,Microsoft Bing,2026-10-08 访问。
- 《如何使用 rel="canonical" 及其他方法指定规范网址》,Google 搜索中心,2026-10-08 访问。
- 《什么是网址规范化》,Google 搜索中心,2026-09-11 更新。
外部链接
无。