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 了,可以消停一阵子了。©

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

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

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

雁过留声,人过留名

您的电子邮箱地址不会被公开。 必填项已用 * 标注

特别提示:与当前文章主题无关的讨论相关但需要较多讨论求助信息请发布到水景一页讨论区的相应版块,谢谢您的理解与合作!请参考本站互助指南
您可以在评论中使用如下的 HTML 标记来辅助表达: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>