一般wordpress seo优化中容易忽略的一点是站内搜索seo优化,分为伪静态优化和搜索结果优化。

一、当你搜索关键字时,url会成为“bigetheme.cn/?s=关键字”的形式,十分不利于seo优化,所以我们要把搜索结果url变为伪静态的形式来符合seo,方法也很简单,具体有二。

方法1、在function.php中键入以下代码即可。

  1. function tongleer_search_url_rewrite() {  
  2.     if ( is_search() && ! emptyempty( $_GET['s'] ) ) {  
  3.         wp_redirect( home_url( "/search/" ) . urlencode( get_query_var( 's' ) ) );  
  4.         exit();  
  5.     }  
  6. }  
  7. add_action( 'template_redirect', 'tongleer_search_url_rewrite' );  

方法2、也可以直接将以下代码添加到.htaccess中。

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

二、搜索结果优化顾名思义就是将搜索结果做一个优化来为用户带来更好的用户体验。这里有2个方案可执行,去除不必要的搜索结果页面和当搜索结果是1个时直接跳转到该页面。

1、去除不必要的搜索结果页面实现方法。

第一步:在function.php中加入以下代码。

  1. function is_type_page() {  
  2.     global $post;  
  3.     if ($post->post_type == 'page') {  
  4.         return true;  
  5.     } else {  
  6.         return false;  
  7.     }  
  8. }  

第二步:在搜索结果页文件(search.php)中找到以下代码。

  1. <?php while (have_posts()) : the_post(); ?>  

在其后添加以下代码即可删除不必要的搜索结果页面。

  1. <?php if (is_type_page()) continue; ?>  

2、当搜索结果是1个时直接跳转到搜索页面实现方法。

直接将以下代码添加到function.php中即可。

  1. add_action('template_redirect', 'tongleer_single_post');  
  2. function tongleer_single_post() {  
  3.     if (is_search()) {  
  4.         global $wp_query;  
  5.         if ($wp_query->post_count == 1) {  
  6.             wp_redirect( get_permalink( $wp_query->posts['0']->ID ) );  
  7.         }  
  8.     }  
  9. }  

支付宝扫码打赏微信扫码打赏

如果文章对您有帮助,欢迎移至上方按钮打赏作者