在网站SEO优化中url优化是相对来说比较重要的环节,wordpress分类的链接地址在wordpress程序中会自带category目录,例如:https://www.wpjc.net/category/learn。
如……
在网站SEO优化中url优化是相对来说比较重要的环节,wordpress分类的链接地址在wordpress程序中会自带category目录,例如:https://www.wpjc.net/category/learn。
如果能够去掉分类链接中的category无疑也是网站seo优化的一种手法。
下面分享一段去掉分类链接中的category的wordpress代码
使用方法
复制下面代码粘贴到functions.php文件里即可
//去掉分类链接中的categoryadd_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 dont want to insert our custom rules again// no_category_base_refresh_rules();// }// Remove category baseadd_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 rulesadd_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)// re cursive 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 Baseglobal $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 Debuggingreturn $category_rewrite;}// Add category_redirect query variableadd_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 setadd_filter(request,no_category_base_request);function no_category_base_request($query_vars){//print_r($query_vars);// For Debuggingif(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;}
代码很长,也不用看懂,直接将上面代码添加到主题functions.php文件就行
文章标题:WordPress优化之去掉分类链接中的category
文章链接:https://www.1001r.cn/778.html
更新时间:2024年01月07日
站内部分内容由互联网用户自发贡献,该文观点仅代表作者本人。
本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请联系我们xiuzheng@1001c.cn我们将第一时间处理!