
Wordpress 中文章内容重复似乎是一件很难避免的事情,分类列表,tag 标签的文章列表,按时间的文章列表存档页等等,都会重复地出现你的文章内容,而搜索引擎对于内容相同但是 URL 不同的页面的处理态度是不会惩罚,而是会尽可能地判断出哪个页面才是真正的规范化 URL 的页面,然后索引进它们的数据库,这样当你搜索相关词条的时候,展示出来的结果的 URL 可能并不是你所希望的 URL。
比如之前我装过一个 WP-Print 单篇页面的插件,那个插件生成的打印页面的 URL 就是当篇文章的URL 最末位加上 /print/ 变成了 http://leeiio.me/xx/print/,于是傻傻的搜索引擎就把这个页面作为他认定的规范化 URL 收录了,结果出来的搜索结果页 URL 很让我窝火,这也不是访客所希望打开的 URL。
又比如现在很流行将评论分页显示,那么同一个单篇文章的 URL 可能就不是唯一的一个了。之前的 http://leeiio.me/xx/ 就因为评论分页而可能产生 http://leeiio.me/xx/comment-page1 或者 http://leeiio.me/xx/comment-page2 等 URL 了,而你知道这些 URL 打开的时候页面内容几乎就是一样的,或者说是相似度极高的页面,这样搜索引擎就又可能犯迷糊地收录 http://leeiio.me/xx/comment-page1 这个地址了。
再则,内容相同但是 URL 却有很多个,SEOer 可能都知道,这样会分散页面权重。
Google 最近联合 Ask.com,微软 Live Search 和 Yahoo!一起弄出了一个标签 canonical tag,用于解决网址规范化问题。就是在 <head></head>部分添加这样一行标记代码:
<link rel="canonical" href="http://leeiio.me/xx/" />这样的话不管是 http://leeiio.me/xx/comment-page1 或者 http://leeiio.me/xx/comment-page2,搜索引擎都将只会将http://leeiio.me/xx/ 作为规范化 URL 来收录,同时 http://leeiio.me/xx/comment-page1 以及 http://leeiio.me/xx/comment-page1 的页面权重诸如 PR 都会流向那个规范化 URL。
说了一大堆,无非就是给大家讲明白这个 canonical tag 究竟是何方神圣。更加详尽的官方说明可以查看 谷歌中文网站管理员博客。
Yoast 开发了一个 WordPress 插件 Canonical URL plugin,用来实现你的 WP Blog 的 URL 规范化,目前是 0.1 版。作者将各个分页的 URL 全部都指定规范化 URL 为首页的 URL 。例如 http://leeiio.me/page/1/ 以及 http://leeiio.me/page/2/ 等等地址都设置了规范化 URL 为 http://leeiio.me/ 。并且单篇文章以及页面文章皆有设置规范化 URL 。
当然如果你觉得诸如文章分类或者博客分页没必要设定首页 URL 为规范化 URL,而仅仅希望单篇文章页以及页面设置一个规范化 URL 的话,你可以手动添加代码。打开你的 header.php,然后在 <head> 之前添加如下代码即可。
<?php if ( is_singular() ) echo '<link rel="canonical" href="' . get_permalink() . '" />'; ?>
谢谢观赏!
