WordPress设置固定链接后,分类目录的URL会以’/category’开头,哪怕是一级分类目录在URL中变成了二级目录了。网上有一些移除URL中’/category’的方法,但有些是错误的。
错误的方法
一些教程会让你在固定链接设置中,在“分类前缀”中填入一个小数点”.”,在浏览器中URL中的’/category’就消失了。看起来好像没问题,但实际上是将URL变成了:https://example.com/./类别
。

在浏览器中不会显示这个小数点,但在HTML中输出的却是/./类别
,如下图:

这样的话搜索引擎爬网的时候,抓取的也是带小数点的URL。
正确的方法
方法一:通过WordPress过滤器改写默认的URL
/**
移除URL中的category
出自:https://www.zhanzhangb.cn/tutorials/remove-category-method.html
*/
function zhanzhangb_remove_category( $string, $type ) {
if ( $type != 'single' && $type == 'category' && ( strpos( $string, 'category' ) !== false ) ){
$url_without_category = str_replace( "/category/", "/", $string );
return trailingslashit( $url_without_category );
}
return $string;
}
add_filter( 'user_trailingslashit', 'zhanzhangb_remove_category', 100, 2);
将以上代码插入到主题的 functions.php 文件中。
推荐使用 WPCode Pro 插件插入以上PHP代码段,并选择“到处运行”:

方法二:使用SEO插件
虽然有专门移除URL中的’category’的插件,但并不推荐为此而专门安装一个插件。
几乎所有主流的SEO插件均有移除’category’的功能选项,仅需开启就可以了。
Yoast SEO Premium 插件示例(设置 > 分类目录):

Rank Math SEO Pro 插件示例(通用设置 > 链接):

© 版权声明
免责声明:本站分享的WordPress主题/插件均遵循 GPLv2 许可协议(开源软件)。相关介绍资料仅供参考,实际版本可能因版本迭代或开发者调整而产生变化。涉及第三方原创图像、设计模板、远程服务等内容的使用,需获得作者授权。
THE END
暂无评论内容