对新网站来说优秀的SEO设计可以说是很重要了,不少朋友第一次用wordpress时候发现分类目录的url链接中含有category字样,不知道如何去掉;希望下面的内容能帮到大家。

方法1:修改固定链接设置

打开WP后台-设置-固定链接

无需插件去掉WordPress分类目录url链接中的category字段-柯小桀博客

自定义结构,可以依据对网站SEO设置url链接,一般推荐数字型,链接短为佳

无需插件去掉WordPress分类目录url链接中的category字段-柯小桀博客

在分类目录中 输入 英文 半角的点,即 “.” 就可以去掉分类目录url中的category字样;

但请注意,此时得需要你的网站是全新的,没有分类栏目和文章,这样才不会出错,如果已有文章,这样的方法会使你的文章和分类栏目不存在;

本人也不太推荐这种方法,这种方式你的链接形式会是 “ https://jksalang.com/./article” 只是游览器吧/.隐藏掉了,对SEO并不友好。

方法2:使用Wordpress插件

这个方法比较适合小白,只需要在 WP后台-插件-安装插件 中搜索“WP No Category Base”插件,安装并启用即可。

如安装后前台没有变化或错误;请重新保存下固定连接设置

方法3:将 WP No category Base 插件的主体代码插入到function.php中

连接网站FTP,将下列代码添加到主题目录下,“function.php”文件末尾即可。保存文件后重新保存一下固定连接设置即可

//去除分类标志代码 add_action( 'load-themes.php',  'no_category_base_refresh_rules');  add_action('created_category''no_category_base_refresh_rules');  add_action('edited_category''no_category_base_refresh_rules');  add_action('delete_category''no_category_base_refresh_rules');  function no_category_base_refresh_rules() {      global $wp_rewrite;      $wp_rewrite -> flush_rules();  }  // register_deactivation_hook(__FILE__, 'no_category_base_deactivate');  // function no_category_base_deactivate() {  //  remove_filter('category_rewrite_rules', 'no_category_base_rewrite_rules');  //  // We don't want to insert our custom rules again  //  no_category_base_refresh_rules();  // }  // Remove category base  add_action('init''no_category_base_permastruct');  function no_category_base_permastruct() {      global $wp_rewrite$wp_version;      if (version_compare($wp_version'3.4''<')) {          // For pre-3.4 support          $wp_rewrite -> extra_permastructs['category'][0] = '%category%';      else {          $wp_rewrite -> extra_permastructs['category']['struct'] = '%category%';      }  }  // Add our custom category rewrite rules  add_filter('category_rewrite_rules''no_category_base_rewrite_rules');  function no_category_base_rewrite_rules($category_rewrite) {      //var_dump($category_rewrite); // For Debugging      $category_rewrite array();      $categories = get_categories(array('hide_empty' => false));      foreach ($categories as $category) {          $category_nicename $category -> slug;          if ($category -> parent == $category -> cat_ID)// recursive recursion              $category -> parent = 0;          elseif ($category -> parent != 0)              $category_nicename = get_category_parents($category -> parent, false, '/', true) . $category_nicename;          $category_rewrite['(' $category_nicename ')/(?:feed/)?(feed|rdf|rss|rss2|atom)/?$'] = 'index.php?category_name=$matches[1]&feed=$matches[2]';          $category_rewrite['(' $category_nicename ')/page/?([0-9]{1,})/?$'] = 'index.php?category_name=$matches[1]&paged=$matches[2]';          $category_rewrite['(' $category_nicename ')/?$'] = 'index.php?category_name=$matches[1]';      }      // Redirect support from Old Category Base      global $wp_rewrite;      $old_category_base = get_option('category_base') ? get_option('category_base') : 'category';      $old_category_base = trim($old_category_base'/');      $category_rewrite[$old_category_base '/(.*)$'] = 'index.php?category_redirect=$matches[1]';      //var_dump($category_rewrite); // For Debugging      return $category_rewrite;  }  // Add 'category_redirect' query variable  add_filter('query_vars''no_category_base_query_vars');  function no_category_base_query_vars($public_query_vars) {      $public_query_vars[] = 'category_redirect';      return $public_query_vars;  }  // Redirect if 'category_redirect' is set  add_filter('request''no_category_base_request');  function no_category_base_request($query_vars) {      //print_r($query_vars); // For Debugging      if (isset($query_vars['category_redirect'])) {          $catlink = trailingslashit(get_option('home')) . user_trailingslashit($query_vars['category_redirect'], 'category');          status_header(301);          header("Location: $catlink");          exit();      }      return $query_vars;  }