什么是规范网页?为什么要指定规范网页?规范网页是一组内容高度相似的网页的首选版本。rel="canonical" 是建议还是指令?通过此新选项,网站优化拥有者可以建议 Google 应将哪个网页版本视为规范版本。在确定哪些网址包含相同的内容以及计算其中关联性最强而要显示在搜索结果中的的网页时,Google 会结合其他信息考虑此建议。此链接可以是相对的或是绝对的吗?rel="canonical" 属性可与相对链接或绝对链接一起使用,但我们建议使用绝对链接,以减少可能出现的混乱或问题。如果您的文档指定了一个基础链接,则所有相对链接都会相对于该基础链接。Google 支持跨站使用 Canonical 标签,Google 称,某些网站会遇到多个网站间出现重复页面的情况。例如,一个要启用新域名而又无法建立服务器端重定向的网站,就会出现网站间的重复页面。当一个网站内部因网址规范化的问题出现重复页面时,我们可以使用 Canonical 标签进行处理,从而引导搜索引擎收录规范化网址。目前支持站内 Canonical 标签的搜索引擎有 Google,Yahoo 和 Bing。今天,Google 率先支持跨站使用 Canonial 标签处理重复页面。针对类似情况,Google 提出了以下建议:
选择首选域
当网站内出现重复页面时,搜索引擎会通过一定的算法进行判断,选择其中一套页面进行收录,而其他形式的相似页面,则被列入补充材料甚至不收录。在网站间出现重复页面时,搜索引擎也采用类似的方法。虽然搜索引擎已经能比较准确地判断网页的规范化网址,但有时还是会有偏差。因此,当碰到网站间出现重复页面时,站长应首先确定一个首选域。
减少网站内部的相似页面
在开始解决网站间的相似页面问题前,应首先减少网站内部的相似页面。
尽可能地使用301跳转
在处理网站间的重复页面时,尽可能地使用301跳转,这样可以引导网站流量和搜索引擎爬虫到站长选择的首选域。
跨站使用 Canonial 标签
当不能建立301跳转的情况下,建议跨站使用 Canonial 标签。Google 还强调,Canonical 标签只是对搜索引擎的一个暗示而不是完全的指令,Google 会尽力遵循网站设置的 Canonical 标签并进行索引,但其他搜索引擎能够可能会做不同的处理。
Google 还对如何正确地使用 Canonical 标签进行了解答
问:使用 Canonical 标签所指向的页面必须完全一致吗?
Google:页面间并不需要完全一致,相似即可,细小的差别是允许的。(PS:如果页面间的差别较大,可能 Google 就不会遵循网站设置的 Canonical 标签了)
问:由于某些原因,不能准确地将某些页面进行完全的对应,可以将这些页面用 Canonical 页面指向首选域的首页吗?
Google:不行,这样恐怕会引起问题,最好的方法是将相似的页面对应起来。
问:站长可以在不要收录的页面中 meta 标签中加入 noindex 属性吗?
Google:不行,那样的话 Google 的爬虫无法发现该页面中的 Canonical 标签。
对于网站来说,包含多个列有同组产品的网页很正常。例如,一个网页可能按字母表顺序显示产品,而其他网页则按照价格或评分显示相同产品。例如:
http://www.example.com/product.php?item=swedish-fish&trackingid=1234567&sort=alpha&sessionid=5678asfasdfasfd
http://www.example.com/product.php?item=swedish-fish&trackingid=1234567&sort=price&sessionid=5678asfasdfasfd
如果 Google 知道这些网页的内容相同,我们可能只会将搜索结果的一个版本编入索引。我们的算法会选择我们认为可以最好地回答用户查询的网页。不过,现在用户可以通过将 <link> 元素和 rel="canonical" 属性添加到该网页非规范版本的 <head> 区域来为搜索引擎指定规范网页。添加此链接和属性可以让网站拥有者识别出哪些网页具有相同的内容,从而向 Google 提出建议:“在内容相同的所有网页中,此网页最有用。请将该网页排在搜索结果中靠前的位置”。
如何指定规范网页?
要指定网页 http://www.example.com/product.php?item=swedish-fish 的规范链接,请按照下面的指示创建 <link> 元素:
<link rel="canonical" href="http://www.example.com/product.php?item=swedish-fish"/>
将上述链接复制到该网页所有非规范版本的 <head> 部分,比如 http://www.example.com/product.php?item=swedish-fish&sort=price。
如果您在 http://www.example.com/product.php?item=swedish-fish 和 https://www.example.com/product.php?item=swedish-fish 上都发布了内容,则可以指定该网页的规范版本。创建 <link> 元素的步骤:
<link rel="canonical" href="http://www.example.com/product.php?item=swedish-fish"/>
将上述链接添加到 https://www.example.comproduct.php?item=swedish-fish 的 <head> 区域。
一组网页上的内容必须与规范版本的上内容相似吗?
是的。rel="canonical" 属性只能用来指定包含相同内容(即使存在微小差异,比如排列顺序,也无关紧要)的大量网页的首选版本。
例如,如果某网站有一组网页显示了相同型号的舞蹈鞋,只是每个网页图片中鞋的颜色有所不同,那么您可以将能突出当下最流行色彩的网页设置为规范版本,这样 Google 就比较容易将该网页显示在搜索结果中。不过,如果该网站只是想把凝胶鞋垫的网页排在鞋的网页之前,那么使用 rel="canonical" 就不合适了。
如果 rel="canonical" 指向了不存在的网页会怎样?或者如果将一组网页中的多个网页指定为规范版本会怎样?
我们会尽力使用算法确定适当的规范网页,就像我们以前所做的那样。
Google 能遵守 rel="canonical" 的一系列规定吗?
在一定程度上可以,但为了确保达到最佳规范化,我们强烈建议您将链接更新为指向单个规范网页。
rel="canonical" 可以用来在完全不同的域中建议规范网址吗?
不可以。要迁移到完全不同的域,采用永久 (301) 重定向更合适。Google 当前会考虑在多个子域之间或在域内部(但不会在域之间)采用规范化建议。因此,网站拥有者可以在 www.example.com 上从 example.com 或 help.example.com 中的一组网页中指定一个规范网页,但是不能在 example-widgets.com 上指定。
查询自己网站页面是否与其他网站某页面内容很相似,用这种办法可以吗?
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。