怎样使用canonical标签?

网址规范化一直是困扰站长以及搜索引擎的一个问题。据估计,网上有10%-30%的URL是内容相同但URL不一样的不规范化网址。

这就造成几个问题。比如:

  • 对站长来说,多个URL存在分散了页面权重,不利于排名。
  • 对搜索引擎来说,浪费资源,浪费带宽。
  • 搜索引擎发现多个网址内容相同时,不会惩罚,而会尽可能找出那个应该是规范化的网址。但程序毕竟只是程序,可能出错,挑出来的可能不是站长想要的那个规范化网址。
  • 网站上网址规范化问题太严重的话,也可能影响收录。一个权重不很高的域名,能收录的总页面数字是有限的。搜索引擎把资源花在收录不规范的网址上,留下给真正不同内容的资源就减少了。

要解决URL规范化问题也有很多选项,比如:

  • 在Google管理员工具中设置带3W和不带3W的,哪一个是规范化版本
  • 使用301转向,把不规范化URL全部转向到规范化URL
  • 确保使用的CMS系统只产生规范化网址
  • 确保网站上所有站内链接都指向规范化网址
  • 在提交给搜索引擎的网站地图中全部指定规范化网址

但这些方法都各有局限。

  • Google管理员工具不适用于其他搜索引擎
  • 有的站长因为某种原因做不了301转向
  • CMS系统大部分情况下不受自己控制
  • 内部链接自己可以控制,但其他人链接到自己网站上就不受控制了

总之,虽然有解决方法备选,但网址规范化到目前为止还是个不小的问题。

前几天Google,雅虎,微软共同发布了一个新的标签canonical tag,用于解决网址规范化问题。

简单说,就是在HTML文件的头部加上这样一段代码:

<link rel=”canonical” href=”http://www.example.com/product.php?item=swedish-fish” />

意义就是这个网页的规范化网址应该是:

http://www.example.com/product.php?item=swedish-fish

下面这些URL都可以加上这段代码:

http://www.example.com/product.php?item=swedish-fish&category=gummy-candy

http://www.example.com/product.php?item=swedish-fish&trackingid=1234&sessionid=5678

这些URL的真正规范化网址就都成为:

http://www.example.com/product.php?item=swedish-fish

简单说,这个标签相当是一个页面内的301转向。区别在于用户并不被转向,还是停留在不变网址上,而搜索引擎会把它当作是301转向处理,也就是说把页面链接的权重都集中到代码中指明的规范化网址上。

另外有几个细节站长需要注意:

  • 这个标签只是一种建议或暗示,而不是指令,它不像robots文件那样是个指令。所以搜索引擎会很大程度上考虑这个代码,但并不是百分之百,还会考虑其他情况来判断规范化网址。这也防止站长有可能把网址弄错。
  • 这段代码既可以使用绝对地址,也可以使用相对地址。通常还是建议使用绝对地址比较保险。
  • 指定的规范化网址上的内容,与其他使用这段代码的非规范化网址内容可以有一些不同,不一定完全一样。比如在电子商务网站上有很多按价钱、颜色,、尺寸升降排序,生成的URL全都不一样,但内容大体相同,只有细小区别,就可以使用这个标签。
  • 指定的规范化网址可以是不存在页面,返回404,也可以是还没有被收录的页面。但是不建议这么做,别没事找事。
  • 这个标签适用于同一个域名内,包括二级域名。但不适用于不同域名之间,防止有人劫持。(更新:canonical现在可以跨域名使用)
  • 别把这个标签当救命草,首先还是得把网站结构做好,尽量避免出现URL规范化问题。这只是最后万不得已的方法。

敏感的人大概能从这个新标准里看到建立大量外部链接的机会。

最后提一句,这个标准被3大搜索引擎Google,雅虎,微软同时支持,为什么没提百度呢?记得看到报道,从搜索量来看,百度是世界上第二大搜索引擎,为什么不带着我们一起玩?(2013年更新:百度也支持canonical标签)

发表评论

电子邮件地址不会被公开。 必填项已用*标注