纯代码实现WordPress站内搜索页面url静态化

今天给大家来分享一段代码,可以让WordPress站内搜索结果页面的网址显示为伪静态URL的效果,这样一来可以更加的实现全站静态化的效果。

平时我们使用WordPress都是在wordpress后台设置固定链接可以实现文章、分类、标签等页面的URL伪静态形式,就是不会显示“?”等动态页面的字符,

但是我们设置了固定链接伪静态之后,wordpress站内搜索结果页面的URL依然是“http://guobin.me/?s=关键字”的动态URL链接样式,

部分WP博主觉得不符合SEO要求,这里我们来通过一段代码实现让WordPress站内搜索结果页面网址显示伪静态URL,

这样一来有利于seo,为啥这都有利于seo呢?

很多SEO优化外链的工具就是通过站长工具查找自己的域名看看seo状况,然后在这个过程中,的页面就会被记录下载,最后蜘蛛爬行的时候抓取了,就会变成一个外链了,

那么这里一样的道理,用户搜索的时候,如果页面是静态,蜘蛛干好也在抓取,是不是就容易被抓取增加收录呢?

这只是无作为一个无聊的推测吧了,不过这里改改搜索页面的形式不碍事,反而更加美观不是吗,修改之后样式如下:

这样一来我们甚至都可以不用搜索,直接在“http://guobin.me/search/”后面加上关键词即可,

比如用户想搜索“福利”,那么可以直接在连接这么写:“http://guobin.me/search/WordPress教程”接口搜索了,实现方法如下:

WordPress站内搜索结果页面网址显示伪静态URL代码

将以下代码加入function.php即可:

function tongleer_search_url_rewrite() {
if ( is_search() && ! empty( $_GET['s'] ) ) {
wp_redirect( home_url( "/search/" ) . urlencode( get_query_var( 's' ) ) );
exit();
}
}
add_action( 'template_redirect', 'tongleer_search_url_rewrite' );

以上方法WordPress通用,当然如果你是Apache主机,还可以通过如下方法实现:

RewriteCond %{QUERY_STRING} \\?s=([^&]+) [NC]
RewriteRule ^$ /search/%1/? [NC,R,L]

通过在.htaccess文件添加伪静态规则也可以实现,把下面的代码添加到网站根目录的.htaccess文件(对支持.htaccess的主机有效)。

注意:如果添加代码到function.php没效果,请将代码往前添加,或者直接添加在<?php下面即可。

  1. 目前还没有评论

评论关闭了.