WordPress: 去掉分类页面链接中的 category

WordPress 上给文章分类和贴标签基本上是大家必做的优化了。使用比较漂亮的固定链接地址形式的话,分类和标签页面 URL 里会有 /category//tag/ 字符串。标签还好点儿,短短 3 个字符。可是分类的 URL 就不是那么漂亮了。所以很多人都希望能够去掉分类链接里的 category 字样。有利有弊,需要仔细权衡。

上次给朋友做网站的时候就有这样的需求。实现起来倒是不难,使用 WordPress 的 hook 和 filter 在各种用到分类的链接的地方改写链接地址规则即可。幸好 mines.io 已经给我们分享了这么个插件 WP No Category Base 来解决问题。

插件使用也很简单:直接在 WordPress 管理后台插件页面搜索并在线安装,或者到 WordPress 插件目录去下载该插件,解压并上传到服务器,然后再启用该插件就可以了。不需要特别设置。

该插件可以:

  1. 实现将 WordPress 分类链接地址 myblog.com/category/my-category/ 改写为 myblog.com/category/my-category/my-post/
  2. 从而让网站链接看起来更美,比如 myblog.com/category/my-category/my-post/ 变成 myblog.com/my-category/my-post/
  3. 简单、直接
  4. 无需设置
  5. 无需修改 WordPress 源代码
  6. 与网站地图(sitemap)插件兼容
  7. 兼容多站点模式
  8. 支持多层次子分类
  9. 支持多语言版本
  10. 自动将旧的分类固定链接 301 重定向到新的链接形式

不过我个人觉得:

  1. 如果是新站用这个方法很不错;
  2. 如果是商业网站(比如小型公司展示网站),推荐用这个插件;
  3. 用的时候要特别注意,去掉分类链接里的 category 那一段之后,分类链接和静态页面链接就看不出来区别了(这也是为什么 WordPress 默认要给分类和标签都加上一个基础(Base)地址的原因)。这个时候就要注意静态页面和分类的别名(slug)不要重复,不然 WordPress 就不知道该显示静态页面还是显示分类了;
  4. 对于个人博客而言实际上没有必要这么大费周章。虽然 301 重定向会将原地址的权重传递给新地址,可这是需要时间的。Google 对这个执行得较好,百度似乎不怎么喜欢;
  5. 如果 WordPress 更新了新功能,或者采取了新的处理方式,这个插件也需要及时更新,不然新功能或者新方式产生的分类链接可能就回到老样子了。这当然会带来困扰。幸好插件作者更新还算勤快。在 WordPress 3.4 发布之后于 7 月 2 好就更新了该插件。

上次给朋友做商业网站,感觉与个人博客差别很大,用到了几个个人博客不太常用的插件(前 1前 2),已经介绍完了。估计又要好久不会折腾 WordPress 了,可以消停一阵子了。©

本文发表于水景一页。永久链接:<http://cnzhx.net/blog/remove-category-in-url-of-wordpress/>。转载请保留此信息及相应链接。

2 条关于 “WordPress: 去掉分类页面链接中的 category” 的评论

    • 嗯,重点不在长短,而在于有与没有。
      比如你有个小的公司站,其实没多少东西可以展示,但是为了显得有内容,需要搞点儿公司新闻,行业新闻之类的东西。我们通常是创建两个分类来显示不同分类的新闻。可是在 /news/company/news/industry 前面弄个 /category 或者 /cat 总有点儿四不像的感觉。

时间过去太久,评论已关闭。
如果您有话要说,请到讨论区留言并给出此文章链接。
谢谢您的理解 :-)