wordpress去除链接中的category前缀

  • A+
所属分类:建博笔记

wordpress常用固定链接设置方式及其利弊

一、常用设置方式

  • 朴素:https://isdola.com/?p=123
  • 日期和名称型:https://isdola.com/2018/09/24/sample-post/
  • 月份和名称型:https://isdola.com/2018/09/sample-post/
  • 数字型:https://isdola.com/archives/123
  • 文章名:https://isdola.com/sample-post/
  • 自定义结构:https://isdola.com[自定义标签]

其中,自定义标签一般有:

  • %year%,%monthnum%,%day%,%hour%,%minute%,%second%,
  • %post_id%,%postname%,%category%,%author%

 

二、设置基本原则

  1. 不要出现日期和时间,因为这会让搜索引擎认为你的文章是很早之前发布的
  2. 不要出现分类名字,避免固定链接长度过长,链接太深,影响收录
  3. 不要出现中文,搜索引擎识别度不高,且链接不美观
  4. 伪静态URL,一是伪静态搜索引擎容易收录,二是用户更加习惯带.html的网址

 

三、推荐设置方式

  • /%postname%.html

这种方式设置起来比较麻烦,因为在编辑文章时需要手动给每篇文章设置链接,通常情况下都是将标题翻译成英文/拼音以此来作为文章的链接,当文章多了以后URL容易重复,而且对于英文不好的我来说翻译是一件脑瓜疼的事。

  • /%post_id%.html

相比之下,这种方式设置起来就简单多了,因为根本不需要设置,每次发布一篇新文章时,wordpress会自动分配一个唯一的id给这篇文章。而且这种方式十分简短、好记、易用,也易于复制网址,文章多了之后也不怕URL重复。

从SEO优化的角度来说,这两种设置方式没有本质上的区别,但也有部分博主认为 /%post_id% 形式要比 /%post_id% 形式好,理由是搜索引擎可以更进一步的从这个链接来识别文章的主要内容。这个就仁者见仁,智者见智吧。

目前我使用的是 /%post_id%.html 这种形式的固定链接,下面的内容也参照这个方式讲解。

 

固定链接中category前缀

当我们设置好固定链接后,博客的固定链接看上去应该是类似下面这样的:

  • 文章:https://isdola.com/123.html
  • 分类:https://isdola.com/category/soft
  • 页面:https://isdola.com/about.html

其中:123是文章的ID,soft是“软件”分类的别名,about是“关于”页面的别名。

可以看到,在分类链接中多了一个category前缀,这个前缀是wordpress帮我们加上去的,只要你设置的固定链接不是默认的形式,那么在点击某个分类后,就会在这个分类的前面出现这个前缀。

wordpress这样做的目的是为了担心博主在后台编辑、整理文章和分类时,不小心删光了分类导致文章找不到“归宿”,从而造成数据丢失。

看起来不错,但是多了这个前缀后这个链接就会变的很长,而且看上去也很不美观。从SEO的角度来说,搜索引擎也希望你的链接简洁明了,于是网上就出现了使用代码或插件的方法来去除这个前缀。

 

四、去除链接中的category前缀

方法一:修改固定链接设置

操作方法:依次点击【设置--固定链接】,找到【分类目录前缀】,在其后面的输入框内输入.英文状态下的句号

优点:设置简单,老少皆宜,不需要修改代码,也不需要安装插件,升级时也不影响,不会增加运行负担,适用于初建成的博客或刚打算使用固定链接的博客。

缺点:原链接无法打开,出现404错误。对于被搜索引擎收录良好或分类链接有较多外链链入的博客会损失大量外链及权重。因此不建议使用这种方法。

方法二:修改wordpress函数

  • wordpress3.2之前版本操作方法

在程序目录【wp-includes/category-template.php】文件中搜索代码

$catlink = $wp_rewrite->get_category_permastruct();

在其下面添加

$catlink = str_replace('/category', "", $catlink);

保存即可。

  • wordpress3.2及其之后版本操作方法

在程序目录【wp-includes/category-template.php】文件中搜索代码块

function get_category_link( $category )

在这段代码块最后的

return $category;

语句之前添加

$category = str_replace('/category', "", $category);

然后保存。

优点:仅加入一段代码,性能影响忽略不计,适用于对代码稍熟悉的博客。

缺点:程序升级后需要重新修改代码,且原地址仍可以访问,或会造成谷歌网站管理员工具里提到的,重复的标题。因此也不推荐这种方法。

方法三:借助wordpress插件

  • 插件一:WP No Category Base

作者iDope,是为去除固定链接中分类链接里的category而开发出来的一款wordpress插件,被下载近5万次。安装启用此插件后,对原来的分类地址做了301跳转,对SEO优化有好处,把降权风险降到最低。

  • 插件二:No category parents

作者milardovich,插件一的升级版,不仅能去掉分类链接的前缀category,还能去掉父分类 parent-category。例如能把“/category/parent-category/my-category/”换成“/my-category/”形式。

两款插件可以直接在插件安装界面搜索下载,安装完成后启用即可,无需设置也没有相关的设置选项,启用后记得去固定链接界面重新点一下保存按钮。

优点:适用于新老博客,不需要修改代码,也没有升级时的后顾之忧。通过301跳转把原链接跳转到新链接上,最大程度防止搜索引擎降权,防止原链接打不开。

不足:插件或许会造成空间负担。这里不说是缺点是因为造成的空间负担微乎其微,不应该是缺点。强迫症的童鞋不推荐使用。

若文章图片、下载链接、网盘密码等信息出错,请留言反馈,博主将第一时间更新!如果喜欢,请打赏支持本站,谢谢大家!
isdola

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: