我爱水煮鱼 » WordPress » rel=”canonical” 标签和 WordPress 2.9

rel=”canonical” 标签和 WordPress 2.9

rel="canonical" 标签是 Google,雅虎,微软等搜索引擎一起推出的一个标签,它主要用来解决由于 URL 形式不同而造成的重复内容的问题。

rel=”canonical” 标签简介和使用

如下面这两个URL:
http://fairyfish.net/2009/12/24/wordpress-29-rel-canonical/
http://fairyfish.net/2009/12/24/wordpress-29-rel-canonical/trackback/

这两个 URL 形式不同,第一个是日志 URL ,第二个是日志的 Trackback 的 URL,但是他们的内容都是相同的,都是“WordPress 2.9 默认支持 rel=”canonical” 标签”这篇日志的内容。而搜索引擎是无法判断的,或者通过技术手段很难判断,这样就会造成了搜索引擎收录重复内容的问题,如果能够通过用户自己来制定,就会让搜索引擎减少很多工作,并且收录的更准确,rel="canonical" 标签就是基于这个原因推出的。

简单说就是在网页的 html 加上这样一段代码:

<link rel='canonical' href='http://fairyfish.net/2009/12/24/wordpress-29-rel-canonical/' />

那么任何含有这个标签的网页,不管他最终的 URL 是如何,Google 等搜索引擎最终都会只收录 canonical 标签指定的那个。

rel=”canonical” 标签对于搜索引擎来说是非常有用的,它可以让搜索引擎只索引真正需要内容,还可以节约存储和数据库。rel=”canonical” 标签在中文叫做 URL 范式。

WordPress 2.9 默认支持 rel=”canonical” 标签

在 WordPress 2.9 之前,让 WordPress 博客支持这个标签是需要通过插件或者手工 Hack 主题的 header.php 文件来使得博客支持。如在主题中加如下的代码:

<?php if(is_single()){?>
    <link rel="canonical" href="<?php echo get_permalink($post->ID);?>" />
<?php } ?>

WordPress 2.9 发布之后,WordPress 已经默认支持这一标签了,我们无需做任何动作,主题就支持这一标签。我们可以在 WordPress 的源文件 wp-includes/default-filters.php 看到如下的代码:

add_action( 'wp_head', 'rel_canonical' );

因此 WordPress 是调用 rel_canonical() 这个函数来输出 rel=”canonical” 标签的 HTML 代码。 如果你还想使用以前自己的方法,那么你可以通过下面代码屏蔽掉它:

remove_action( 'wp_head', 'rel_canonical' );

如果你使用插件来输出 rel=”canonical” 标签,而又没有在 WordPress 2.9 中停止插件或者屏蔽默认的函数,则会在 HTML 代码中输出重复的 rel=”canonical” 标签。个人建议使用 WordPress 2.0 默认的 rel=”canonical” 标签已经足够。

标签:

分享到:

请选择你看完该文章的感受:

不错 超赞 无聊 扯谈 不解 路过
  1. 我用platinum one seo pack输出canonical的,默认的那个没有管,但也没有重复啊