低一度

顶部横幅

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

2010-10-15 - diyidu - 网页设计 - Views

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

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

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

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 插件)中,地址栏的右侧,看到如下图标:

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

关键词 // canonical 网页规范 SEO 低一度
出处:低一度,链接:http://www.diyidu.cn/post/canonical_wp_zb.html

上一篇:分享设置网页背景色等3段代码 下一篇:“Windows installer正在准备安装”

随机推荐

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

  • 纯野
    #1 纯野 回复该留言 2010-10-15 16:43:38
    桶哥的博文都太有深度了。
    爱好者博客 于 2010-10-15 20:23:06 回复
    哈哈,抢我沙发,诅咒你网站流量突破一万。
  • 晓潘博客
    #2 晓潘博客 回复该留言 2010-10-15 18:43:24
    wordpress博客,按照下面这样写就可以吧?
    <link rel="canonical" href="' . get_permalink() . '" />
    晓潘博客 于 2010-10-15 18:45:04 回复
    不,应该是
    <?php if( is_home() ){ ?>
    <link rel="canonical" href="<?php bloginfo("url"); ?>" />
    <?php } ?>
    桶哥 于 2010-10-15 23:53:26 回复
    <?php if( is_home() ){ ?>很明显,这是针对首页写的函数。
  • LouisHan
    #4 LouisHan 回复该留言 2010-10-15 20:06:30
    奇怪啊,为什么我这里看不到这个图标?
    桶哥 于 2010-10-15 23:54:51 回复
    要么你代码添加有误,要么就是你的FF浏览器没安装SearchStatus插件。
  • 爱好者博客
    #5 爱好者博客 回复该留言 2010-10-15 20:22:20
    桶哥又写专业文章了,看不懂哇。
    桶哥 于 2010-10-16 9:12:29 回复
    说简单点吧:canonical 属性是 Google、Yahoo、Mircrosoft 三大搜索引擎共同支持的一个新属性,为网页指定权威链接,是用来改善网站由于 URL 格式不同造成的重复内容问题。具体来说,canonical 属性的作用就是为你排除诸多重复页面。比如,你现在的文章页,每一篇都有静态和动态两个URL,但是内容是一样的,通过在静态页面中添加canonical 属性,就可以使这个静态页成为权威页面,进而防止引擎重复收录。所以,你还是加一下吧!
  • 疯子
    #7 疯子 回复该留言 2010-10-16 11:28:43
    这个可以给我们ZB的首页文章链接加上哦,貌似这个只有谷歌有效。
  • 艺风
    #8 艺风 回复该留言 2010-10-16 12:49:38
    博主的文章都渗透到WP中了哈,加个链接吧,先加为敬。

Add comment

验证码