2009年2月份,谷歌、雅虎和live search 三家搜索引擎宣布支持Link的一个新属性Canonical,其目的是帮助网站管理员们,解决网站内容存在多个版本时,指定规范链接,帮助解决内容重复收录问题。其标准用法是:
<link rel="canonical" href="http://www.domain.com/index.html" />
一般推荐使用绝对地址,因为使用canonical目的就是为规范链接,所以采用绝对地址是最妥当的,但是要注意的是:不能跨域名指向,也就是不能指向不同的域名,这点要谨记。
Canonical标签是做什么用的?
canonical标签就是告诉搜索引擎哪个页面是权威页面。以我的理解,Canonical标签大致的作用如下。
第一,使用Canonical标签使网址规范化。
第二,避免内容重复页面,搜索引擎收录更准确。
第三,集中传递页面权重。
Canonical链接标签只能作用于同一个域名所在的网址,不能作用于不同域名上的重复内容。如果是跨站,可以使用301重定向。
网址不规范,会降低页面权重,是因为搜索引擎会认为页面内容有重复。做法是将这些不规范的网址,指向同一个页面。
假设网站上有如下网址所在页面内容是相同的:
http://www.example.com/products
http://www.example.com/products?sessionid=123456
http://www.example.com/products?trackingid=feed
可以在head meta部分加入如下代码:
<link rel="canonical" href="http://www.example.com/products" />
后两个页面的内容会被搜索引擎认为是重复内容,就是告知搜索引擎把相关的搜索信号都传递到第一个网址。
这样任何含有这个标签的网页,不管它最终的URL是什么,搜索引擎最终都会只收录 canonical标签指定的那个页面。
这样做的好处是避免多个URL的存在,分散了页面权重,更加利于排名。
用好canonical标签,下面几点也是需要认识的。
第一,该链接标签可用于定义相对地址,也可用于定义绝对地址。但为了保险起见,建议使用绝对地址。
第二,如果使用了canonical链接标签的页面在整个网站中并无重复内容的页面,也无需担心,该标签暂时会被搜索引擎“束之高阁”。
第三,该链接具有可传递性。假如你在网址A中将网址B指定为首选地址,而在网址B中又将网址C指定为首选地址,那么搜索引擎会认为网址C才是A和B的首选页面。这种情况有时候在网址重定向中会发生。
第四,一个网页链向了有canonical标签的页面,会被当作像301转向到这一页的canonical页。
第五,一个页面可以用rel=canonical指向自己,一个网站的所有页面可以都有rel=canonical。在使用rel=canonical完全不用担心,只用在使用时指对了页面。
当然canonical不是万能的 ,对于大型重复页面出现的商城,例如淘宝,京东这些,要解决完美的url规范都不是那么容易的。