!
也想出现在这里? 联系我们
广告位

实现WordPress站内搜索结果URL伪静态化

众所周知,WordPress 默认搜索地址为 https://www.weimahe.com/?s=keyword ,很明显这是一个动态地址,和全站伪静态有点格格不入,而且还不利于 WordPress 静态缓存。因此我们很有必要把 WordPress 站内搜索结果设置成伪静态。我们都知道 wordpress 后台可以轻松设置固定链接,可以实现文章、分类、标签等页面的 URL 伪静态化,但是 wordpress 站内搜索结果页面的 URL 依然是“http://域名/?s=关键字”的动态 URL 形式,部分 WordPress 用户觉得不符合 SEO 要求,希望把搜索结果页面的 URL 也实现“http://域名/search/关键词”的伪静态形式,其实实现方法也很简单,下面我们分享两种方法。

方法一:

只需要通过在 functions.php 文件添加相关的函数代码即可:

  1. //默认搜索结果伪静态
  2. function wp_search_url_rewrite() {
  3. if ( is_search() && ! empty( $_GET[\'s\'] ) ) {
  4. wp_redirect( home_url( \"/search/\" ) . urlencode( get_query_var( \'s\' ) ) . \"/\");
  5. exit();
  6. }
  7. }
  8. add_action( \'template_redirect\', \'wp_search_url_rewrite\' );

现在去前台搜索,就会发现结果会跳转到【/search/关键词】了,当然如果动手能力强的话,我们为了让搜索直接进入这个页面,而不是要 301 跳转,我们可以稍微改造一下这个搜索框,常规搜索框代码一般如下:

  1. <div id="searchbar">
  2. <form method="get" id="searchform" action="http://zhangge.net/">
  3. <input type="text" name="s" id="s" placeholder="输入搜索内容" />
  4. <button type="submit" id="searchsubmit">搜索</button>
  5. </form>
  6. </div>

输入内容,点击搜索后就必然会跳到 ?s=keyword 这个动态页面。所以,我们需要通过 js 代码来拦截这搜索动作,然后重新定义跳转地址,将代码如下修改即可:

  1. <div id="searchbar"> <form method="get" id="searchform" action="http://zhangge.net/search/">
  2. <input name="s" id="s" placeholder="请输入搜索内容" onkeydown="if(event.keyCode==13){return Searcher('wp');}">
  3. <button type="submit" id="searchsubmit" onclick="return Search('wp');">搜索</button>
  4. </form>
  5. </div>
  6. <script type="text/javascript">
  7. function Search(){
  8. var value=$("# s ").val()||"";
  9. window.open("http://zhangge.net/search/"+value+"/");
  10. return false;
  11. }
  12. </script>

很简单的代码,原理就是给搜索动作绑定了一个 js 函数,而这个 js 函数的功能就是获取当前输入的关键词,并拼接成一个新的地址,最后跳转过去即可。如此,就实现了 WordPress 默认站内搜索的伪静态化。很明显,这个方法适合任何 WordPress 主题。

方法二:

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

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

实现 WordPress 站内搜索结果 URL 伪静态化

已有 576 人购买
    此资源下载价格2元立即购买(VIP 免费)立即升级
查看演示升级 VIP立刻购买

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

WordPress制作一个首字母排序标签页面

2024-5-31 10:20:06

WordPress教程

为WooCommerce后台订单列表添加按自定义字段筛选过滤订单的功能

2024-6-2 1:27:45

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索