canonica标签是一个用来规范URL(Canonical URL Tag)的属性标签,用来告知搜索引擎以此链接为准,统一页面链接,而不至于分散权重。
canonical标签是多个搜索引擎联合发布的一个用来解决网址规范化的标签,当一个页面可以通过多个链接访问时,可以通过canonical标签进行网址规范化处理。
先来解释一下什么是网址规范化,例如:
- http://example.com/
- https://example.com/
- http://www.example.com/
- https://www.example.com/
以上几个网址,其实访问的都是同一个页面(网站首页),当把链接“①、②、③”重定向到链接“④”时,就是一次简单的网址规范化。
canonical需要放在页面中哪个位置
canonical标签需要放在页面的<head>部分,建议放在<title>标签之后,或放在<description>标签之后(放在其他位置可能不会被搜索引擎识别)。

canonical标签的用法
canonical标签使用在网站首页(放在description标签后面),如下:
<link rel="canonical" href="https://www.example.com/">
canonical标签使用在网站内页,如下:
<link rel="canonical" href="https://www.example.com/当前页面URL">
canonical不是强制命令
canonical标签只是提醒搜索引擎以此链接为标准链接,搜索引擎未必会遵守此规则(无论搜索引擎是否执行,还是建议使用canonical标签)。
canonical与301的区别
301和canonical都是用来处理URL重复问题的,但应用方法和场景不同。
- 301重定向需要在服务器配置实现(或宝塔面板配置)
- canonical在网站后台就能实现(编辑网页代码)
- 301实现了物理上的url重定向,切实跳转到另一个网址。
- canonical只是对搜索引擎的一种规则提醒,ulr没有实质性变化。
- 301会强制传递网页权重(将不带3w的域名重定向到带有3w的域名)
- canonical只是建议搜索引擎以此链接为准,不具有强制性。
canonical和301的使用场景不同
canonical的用法:例如某宝中一个销售手机的页面,页面中包含了“手机颜色、手机配置”等多种参数,不同参数会生成不同的URL小尾巴,这些带有小尾巴的URL其实都指向了同一个页面。此时便可使用canonical来定义标准url,告知搜索引擎此链接才是标准链接。
301重定向的用法:例如把http页面重定向到https页面,把网站改版前的url(已经删除的url)重定向到改版后的url。
搜索引擎不一定遵守canonical规则
纵使网站使用canonical指定了一些规则,搜索引擎未必会遵守。