WordPress固定链接(Permalink)格式探讨

如果您稍微留意一下,你会注意到dudo.org的固定链接(Permalink)格式发生了变化,在做这个改变之前我参考了一些资料,主要不是来自WordPress的官方网站。WordPress官网的这篇文章可以让你获得很多有用的知识,结果网络上其他人的经验相信可以直到不错的优化效果。WorePress为我们提供了可定制的固定链接格式,这不仅仅是便于记忆,更加有利于搜索引擎收录我们的页面。

1、什么样的固定链接(Permalink)便于搜索引擎收录?

对于这个问题,对于不同的搜索引擎有不同的答案,下面有几个说法可供参考

  • WordPress中http://dudo.org/?p=638这样的带有p=638参数的链接不利于搜索引擎收录,特别是对于百度
  • 据说http://dudo.org/2010/08/638/这样目录格式的链接格式更加有利于Google收录;
  • 据说你的页面要想在Google新闻中显示必须保证你的链接指向的文件名中至少最后三位是数字(参照CodexTips and Tricks),的确,你在Google资讯中可以发现,所有链接的至少后三位是数字,甚至全部是数字。
  • 百度喜欢收录静态页面。这个基本上是没有任何异议的。所以你最好把你的链接改成http://dudo.org/archives/2010081423638.html的格式,让百度看起来像个静态页面。
  • 据说最好不要使用拼音或者英文单词加连字符的格式充当文件名,更不要出现中文字符

2、最终的选择

根据上面的几条建议,我最终决定把http://dudo.org/2010/08/638/ 这样的格式改成http://dudo.org/archives/2010081423638.html这样的格式(固定链接中的archives文件夹并不存在)。主要考虑了,静态页面吸引百度收录,百度给我带来的流量实在太可怜了;文件名全部用数字格式,%yeah%%monthnum%%day%%hour%%post_id%的格式。

这里要注意的是一旦WordPress中的固定链接样式发生了改变,那么原来的链接都将不能继续使用,全部为404错误,十分不利于搜索引擎访问,同时外链数量大大减少。因此,我们可以使用301重新定向来解决这个问题。方法也很简单,我们只需在.htaccess中加入这么一句:

RewriteRule ^(\d/+)\/(\d+)\/(\d+).* http://dudo.org/?p=$3 [NC,R=301,L]

意即:对于/数字/数字/数字/这样的来访固定链接格式,直接重新定向到以第三个数字为参数的页面上去。注意http://dudo.org/?p=638这样的固定链接样式是通用的。不过这里有个小问题,就是出现了两次301重新向,第一次从原来的链接定向到带参数的固定链接,然后再重新定向到指定的固定链接。不过,这个是可以允许的。

最后,一定要注意:无论你的WordPress固定链接样式是什么样子的,请一定要包括post_id或者post_name中的至少一个,要不就会很容易出现一个链接指向两个页面的情况。因此,最好的情况就是在你的固定链接里一定要出现一次post_id。