rel=”canonical”,规范网址
理论上讲,互联网上的一个网页有且仅有一个网址,若两个或两个以上不同的网址指向同一个网页,就是所谓的网址不规范。WordPress和其它博客或CMS一样,都存在多网址指向同一网页的问题,在07年的时候我就处理过网址规范化的问题,当时是用被动的robots.txt,后来又通过使用robots meta,并在.htaccess文件中使用301重定向,基本消灭了网址不规范的问题。
今年早些时候,Google、Yahoo和Live Search开始支持一种新的link标签属性,就是本文的要说的——rel=”canonical”。但我并不在意,因为我这个博客早已经解决了规范网址的问题,我所有的文章、页面、分类在搜索引擎中都只有唯一网址。直到今天我在Google的搜索结果中发现了一个重复的网址,来自“成都SEO”:

重复的链接是www.onepx.com/chengdu-seo.html/comment-page-20090706,这个网址在我的博客上并不存在,推测是googlebot在其它网站上发现这个超链接follow了过来,虽然它和www.onepx.com/chengdu-seo.html上的内容完全一致,但还是被Google搜录了,造成网站权重的分散。同时也让我知道了一个wordpress的bug,开启自定义链接结构后,wordpress无法处理某些链接结构,诸如:

上面的搜索结果来自Yahoo,谁给我制造了这么多重复页面?面对这些不存在的网址链接,WordPress居然不会返回HTTP 404,给“坏人”以可乘之机,“坏人”可以在某网站上杜撰出无数的网址指向目标网站的某文章,并让搜索引擎去follow这些不规范网址,最后导致目标网站权重分散,或被搜索引擎降权。那我这个例子来说,显然是“成都SEO”在Google搜索结果中的排名靠前触动了某些人的神经,让他们动起了歪脑子。我只好用rel=”canonical”来规范网址了。
传wordpress的著名插件All in one SEO pack已经支持rel=”canonical”,我又用不了那么复杂的东西,自己写吧,在主题文件header.php的</head>之前加入:
<?php if ( is_single() ) { ?>
<link rel=”canonical” href=”<?php the_permalink() ?>” />
<?php } ?>
轻松搞定!
再来夸夸Firefox。Firefox早已经开始支持带有link rel=”canonical”属性的网页,如果访问http://www.onepx.com/chengdu-seo.html,firefox地址栏末尾显示:
![]()
那个灰色的圆形C就是表示当前网页有link rel=”canonical”属性,如果访问http://www.onepx.com/chengdu-seo.html?bla=2009,圆形C会变成蓝色:
![]()
鼠标悬停上去,显示:
Go to the canonical page at http://xxxx….
点下去,就到了link rel=”canonical”属性中指定的规范网址。
综上,即使自己做到了规范化网址,也不能阻止别人使用一些小伎俩来搞破坏,最好还是加上link rel=”canonical”,有备无患。也非常希望百度去支持这种link标签,但貌似是不太可能的…

百度支持是很难的了,起码连robot.txt都不支持
[回复]
直接在头部里加那行代码就可以了吗?
[回复]
一个像素 答复:
是的。
[回复]
来支持一下,如果可以,到我站上一转,定有收获
china-iequip.com
[回复]