用canonical属性为WP、ZB规范网页

  什么是规范网页?为什么要指定规范网页?

  规范网页是一组内容高度相似的网页的首选版本。

  对于网站来说,包含多个列有同组产品的网页很正常。例如,一个网页可能按字母表顺序显示产品,而其他网页则按照价格或评分显示相同产品。如——

  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 知道这些网页的内容相同,可能只会将搜索结果的一个版本编入索引。GG的算法会选择他们认为可以最好地回答用户查询的网页。不过,现在用户可以通过将 <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 应将哪个网页版本视为规范版本。在确定哪些网址包含相同的内容以及计算其中关联性最强而要显示在搜索结果中的的网页时,Google 会结合其他信息考虑此建议。

  此链接可以是相对的或是绝对的吗?

  rel="canonical" 属性可与相对链接或绝对链接一起使用,但我们建议使用绝对链接,以减少可能出现的混乱或问题。如果您的文档指定了一个基础链接,则所有相对链接都会相对于该基础链接。

  一组网页上的内容必须与规范版本的上内容相似吗?

  是的。rel="canonical" 属性只能用来指定包含相同内容(即使存在微小差异,比如排列顺序,也无关紧要)的大量网页的首选版本。

  例如,如果某网站有一组网页显示了相同型号的舞蹈鞋,只是每个网页图片中鞋的颜色有所不同,那么您可以将能突出当下最流行色彩的网页设置为规范版本,这样 Google 就比较容易将该网页显示在搜索结果中。不过,如果该网站只是想把凝胶鞋垫的网页排在鞋的网页之前,那么使用 rel="canonical" 就不合适了。

  如果 rel="canonical" 指向了不存在的网页会怎样?或者如果将一组网页中的多个网页指定为规范版本会怎样?

  GG 会尽力使用算法确定适当的规范网页,就像他们之前所做的那样。

  Google 能遵守 rel="canonical" 的一系列规定吗?

  在一定程度上可以,但为了确保达到最佳规范化,GG 建议您将链接更新为指向单个规范网页。

  rel="canonical" 可以用来在完全不同的域中建议规范网址吗?

  有些情况下,设置重定向网址并非易事。如果需要迁移到新域名,而使用的网络服务器又不能创建服务器端重定向网址,就可能发生这种情况。这种情况下,可以使用 rel="canonical" 链接元素指定想要编入索引的域的确切网址。虽然 rel="canonical" 链接元素被视为一种建议而不是需要绝对服从的指令,但 GG 确实会尽可能予以遵循。

  以上是有关 rel=“canonical” 规范的相关问题,可能许多同学看完以后,仍然是一头雾水。其实 rel=“canonical” 并不难理解,说直白点儿就是——当站点内存在着许多相同内容的页面,很多 URL 指向的是同一种内容时,这时搜索引擎会因此感到迷惑:“究竟哪个页面是最重要的呢?”通过 canonical 规范的生效,可以有效避免这类问题。

  那么,怎么用这个标签呢?

  以 WP 为例,打开你所应用的 WP 主题内 header.php 文件,添加如下代码即可——

  

<?php if ( is_singular() ) echo '<link rel="canonical" href="' . get_permalink() . '" />'; ?>

  以 ZB 为例,打开你所应用的 ZB 主题内的模板文件 single.html,在 <head> 区添加如下代码即可——

  

<link rel="canonical" href="<#article/url#>" />

  一点提醒:canonical只允许指向不同的子域名,不允许指向其他域名哦;另外,canonical 属性是可以传递的,即A页面声明B页面为权威链接,B页面声明C页面为权威网页,那么C页面就是A和B页面共同的首选权威版本。

  最后,你还可以测试一下,若添加代码正确无误,可在 Firefox 浏览器(需要安装 SearchStatus 插件)中,地址栏的右侧,看到如下图标:

Www.Hdut.Com

类别:JavaScript技术  来源:本站原创  作者:hpping  日期:2010-10-19 09:31

上一条:Jquery实现回车键Enter切换焦点
下一条:对现代开发来说,JavaScript是一种垃圾语言