WordPress默认分类目录地址没有斜杠/,这对搜索引擎很不友好,在function.php添加一段代码,轻松完成分类目录地址优化。本文列出的代码解决了Simple URLs插件产生的短链接不正常问题。
关于为什么要给WordPress分类目录及Tag标签地址添加斜杠,这个涉及到SEO优化了:一般来讲,作为目录正常的地址应该是以斜杠结尾的,而WordPress默认是没有的,也就出现了“https://www.yaxi.net/news”这种情况,这对搜索引擎是不友好的。
而且CDN如百度云加速对目录的缓存是认链接的结构,同时要求是目录的结构最后是以“/”为末尾的,所以要对WordPress分类目录地址进行优化。
目前网络上关于这个的方法确实比较多,其实大多数都是在function.php添加如下这一条代码,就可以实现在分类目录和tag标签目录地址后添加斜杠,次方法适合绝大多数情况。
// 分类目录地址后添加斜杠 function nice_trailingslashit($string, $type_of_url) { if ( $type_of_url != 'single' && $type_of_url != 'page' ) $string = trailingslashit($string); return $string; } add_filter('user_trailingslashit', 'nice_trailingslashit', 10, 2);
注意第三行中的 && $type_of_url != 'page' 是绝对不能少的,因为没有这句判断,你的page页面地址也会出现斜杠,如果你之前已经设置了page页面伪静态,那将会出现“ https://www.yaxi.net/about.html/ ”这种尴尬的情况,网络上流传的很多代码都忽视了这一点。
异常: Simple URLs插件产生的短链接也有斜杠
下面说下我遇到的问题:为了将外链转为内链,我使用了一款比较流行的WordPress链接跳转插件 Simple URLs,具体功能大家可以度娘。
在使用过程中我发现此插件生成的短链接后面莫名其妙的多了一个斜杠,比如本来跳转百度的短链接 https://www.yaxi.net/go/baidu 却变成了 https://www.yaxi.net/go/baidu/ ,分析后发现应该是上面加斜杠代码的问题,后面又查了一些资料,解决了这个问题。
舍弃上面的代码,将下面这段代码添加到function.php里,保存固定链接后,短链接的斜杠消失了...
// 分类目录地址后添加斜杠 if (is_admin()) return; function nice_trailingslashit($string, $type_of_url) { if ( $type_of_url != 'single' && $type_of_url != 'page' ) $string = trailingslashit($string); return $string; } add_filter('user_trailingslashit', 'nice_trailingslashit', 10, 2);
目前测试没有什么问题,如果有人跟笔者一样需要安装这个插件的,不放试下第二段代码为分类目录地址添加斜杠
主题文件function.php并没有这段代码 不知道为什么页面还是.html/
@nice: 你的主题肯定有类似代码 给分类目录和页面添加了斜杠结尾,不然默认情况下没有斜杠的
@飞鸟: 我找找看0.0
博主你好,就是我网站用了伪静态以后我点分类目录或者标签里面进去然后点击下一页都显示404怎么办?分类目录category/tlxw/page/2/我手动把2后面的斜杠/去掉他又能正常显示第二页,这是伪静态问题吗?
@套利哥: 分类目录404的解决方法可以参考本站的另外一篇文章WordPress分类目录翻页出现404的解决办法,第二个问题没太懂你说的
这样做会有一个新的问题出现,sitemap工具会抓出不带'/'的目录和带'/'的目录,导致权重分散,不知道题主有没有解决方案。
@范: 不会呀 我的sitemap.xml里只有带斜杠的目录
感谢,我的目录还没有斜杠,代码先收藏了!!
据说加了斜杠有利于seo
我也使用了 Simple URLs 插件,至于生成的短连接有没有跟着添加了斜杠,倒没注意(晚点咱查看下)。
这个功能不错,学习一下!
学习了
这个功能本站也早已添加,根据页面后面加上斜杠看起来好很多
你的是香港主机么,好卡的
@微西风博客: 卡在什么地方?是页面加载不出来,还是别的什么情况