如果是中文网站,标签大部分都是中文,这个时候我们的标签URL就会包含这个中文。对于中文URL,大家可以参考《URL出现中文是否对优化有帮助》。简单来说,中文URL具有更好的描述性,但是搜索引擎会将中文转码,不利于管理,也看起来不美观。那么,如果我们放弃描述性,选择ID形式的标签URL,要如何实现呢
实现代码
- add_action('generate_rewrite_rules','tag_rewrite_rules');
- add_filter('term_link','tag_term_link',10,3);
- add_action('query_vars', 'tag_query_vars');
- function tag_rewrite_rules($wp_rewrite) {
- $new_rules = array(
- 'tag/(\d+)/feed/(feed|rdf|rss|rss2|atom)/?$' => 'index.php?tag_id=$matches[1]&feed=$matches[2]',
- 'tag/(\d+)/(feed|rdf|rss|rss2|atom)/?$' => 'index.php?tag_id=$matches[1]&feed=$matches[2]',
- 'tag/(\d+)/embed/?$' => 'index.php?tag_id=$matches[1]&embed=true',
- 'tag/(\d+)/page/(\d+)/?$' => 'index.php?tag_id=$matches[1]&paged=$matches[2]',
- 'tag/(\d+)/?$' => 'index.php?tag_id=$matches[1]',
- );
- $wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
- }
- function tag_term_link($link,$term,$taxonomy) {
- if($taxonomy=='post_tag') {
- return home_url('/tag/'.$term->term_id);
- }
- return $link;
- }
- function tag_query_vars($public_query_vars) {
- $public_query_vars[] = 'tag_id';
- return $public_query_vars;
- }
代码来源于网络,不记得来源了~我现在已经用上了
对了添加上面的函数代码后要去设置固定链接页面保存更改才会生效
注意:
- 以上方法会同时存在标签中文URL和标签IDURL,有条件的可以想办法重定向
- 如果没做重定向的可以添加canonical标签,毕竟网站的所有链接入口都是ID形式的了,不重定向个人觉得关系也不大
- 或者更干脆点,用Auto Tag Slug别名插件解决标签中文URL的问题
转载请注明:思享SEO博客 » WordPress标签URL中文怎么改为ID的形式
扩展阅读
URL以反斜杠“/”结尾和不以“/”有什么区别?
最近在使用nginx搭建网站或前后端分离部署项目时遇到了一个疑惑,就是在浏览器中请求url时,最后一个反斜杠作用到底是什么? 解释 有没有反斜杠的意义在于该url是指向一个文件还是一个目录,说明url地址是精准表达指向的,有无'/'代表的是两个不同的......
B2C网站的产生大量的无效URL怎么优化?
怎么减少b2c网站的无效URL?...
伪静态页面和静态页面之间的具体区别是什么?
常听说这两个词,请问,这二者有何区别.DEDECMS程序生成的网站是静态还是伪静态?伪静态页面和静态页面的详细区别?...