WP酷 WP酷
  • 主题
  • 教程
  • 插件
  • 官方 QQ 群
  • 建站推荐
  • 联系
  • nicetheme® 奈思主题
  • 注册
    登录
立即登录
  • 请到 [后台->外观->菜单] 中设置菜单
首页 › WordPress 教程 › WordPress链接结构优化之标签(tag)存档页优化

WordPress链接结构优化之标签(tag)存档页优化

PCDotFan9年前

WordPress链接结构优化之标签(tag)存档页优化-WP酷

 在seo中链接结构(URL)的优化也很重要,下面是一段来自百度官方的SEO优化建议:

 

简洁美观的url规则

(1)唯一性网站中同一内容页只与唯一一个url相对应,过多形式的url将分散该页面的权重,并且目标url在系统中有被滤重的风险;

(2)简洁性动态参数尽量少,保证url尽量短;

(3)美观性使得用户及机器能够通过url即可判断出页面内容的主旨;

我们推荐如下形式的url:url尽量短且易读使得用户能够快速理解,例如使用拼音作为目录名称;同一内容在系统中只产生唯一的url与之对应,去掉无意义的参数;如果无法保证url的唯一性,尽量使不同形式的url301到目标url;防止用户输错的备用域名301至主域名。

 

很多SEO大神也说过网站URL的层次尽量不要超过三层这样有利于蜘蛛抓取内容,然而wordpress伪静态后默认的tag页面的链接结构为:http://域名/tag/tag-name/,而tag页的分页链接结构为:http://域名/tag/tag-name/page/page-id/这种形式,明显的已经不符合百度所说的美观简短的结构了,那么我么可以删掉链接中的一层来达到减少链接层次的效果,以去除链接中的/tag/这层为例,代码如下:

register_activation_hook(__FILE__,'no_tag_base_refresh_rules');
add_action('created_post_tag','no_tag_base_refresh_rules');
add_action('edited_post_tag','no_tag_base_refresh_rules');
add_action('delete_post_tag','no_tag_base_refresh_rules');
function no_tag_base_refresh_rules() {
    global $wp_rewrite;
    $wp_rewrite->flush_rules();
}
register_deactivation_hook(__FILE__,'no_tag_base_deactivate');
function no_tag_base_deactivate() {
    remove_filter('tag_rewrite_rules', 'no_tag_base_rewrite_rules');
    no_tag_base_refresh_rules();
}
add_action('init', 'no_tag_base_permastruct');
function no_tag_base_permastruct() {
    global $wp_rewrite, $wp_version;
    if (version_compare($wp_version, '3.4', '<')) {
        $wp_rewrite -> extra_permastructs['post_tag'][0] = '%post_tag%';
    } else {
        $wp_rewrite -> extra_permastructs['post_tag']['struct'] = '%post_tag%';
    }
}
add_filter('tag_rewrite_rules', 'no_tag_base_rewrite_rules');
function no_tag_base_rewrite_rules($tag_rewrite) {
    $tag_rewrite=array();
    $tags=get_tags(array('hide_empty'=>false));
    foreach($tags as $tag) {
        $tag_nicename = $tag->slug;
        if ( $tag->parent == $tag_id ) {
           $tag->parent = 0;
        }
        $tag_rewrite['('.$tag_nicename.')/(?:feed/)?(feed|rdf|rss|rss2|atom)/?$'] = 'index.php?tag=$matches[1]&feed=$matches[2]';
        $tag_rewrite['('.$tag_nicename.')/page/?([0-9]{1,})/?$'] = 'index.php?tag=$matches[1]&paged=$matches[2]';
        $tag_rewrite['('.$tag_nicename.')/?$'] = 'index.php?tag=$matches[1]';
    }
    global $wp_rewrite;
    $old_tag_base = get_option('tag_base') ? get_option('tag_base') : 'tag';
    $old_tag_base = trim($old_tag_base, '/');
    $tag_rewrite[$old_tag_base . '/(.*)$'] = 'index.php?tag_redirect=$matches[1]';
    return $tag_rewrite;
}
add_filter('query_vars', 'no_tag_base_query_vars');
function no_tag_base_query_vars($public_query_vars) {
    $public_query_vars[] = 'tag_redirect';
    return $public_query_vars;
}
add_filter('request', 'no_tag_base_request');
function no_tag_base_request($query_vars) {
    if (isset($query_vars['tag_redirect'])) {
        $tag = user_trailingslashit($query_vars['tag_redirect'], 'post_tag');
        $taglink = trailingslashit(get_option( 'home' )) . $tag;
        status_header(301);
        header("Location: $taglink");
        exit();
    }
    return $query_vars;
}

以上代码加到functions.php,加好代码后到后点击一次固定链接即可,现在标签(tag)页面的链接就变成了以下这种结构:http://域名/tag-name/,而tag页的分页链接结构为:http://域名/tag-name/page/page-id/这种形式,并且访问http://域名/tag/tag-name/会自动301转跳到http://域名/tag-name/,访问http://域名/tag/tag-name/page/page-id/会301到http://域名/tag-name/page/page-id/。

#SEO
1
分享

本站下载管理系统「dl.mywpku.com」因年久失修而永久关闭。若需获得往年主题,请至 WP酷的百度网盘(提取码: 5rbm) 自行搜索下载。默认解压密码为「www.mywpku.com」。

对您造成的不便,敬请谅解!

PCDotFan 站长
文章 435评论 859
相关文章
  • [6.0 更新中文汉化]极度流行的SEO插件 – WordPress SEO by Yoast
  • WordPress 新用户注册邮件链接提示「您的密码重设链接无效」
  • AMP – 为 WordPress 移动站点操作全球访问优化
  • 去除谷歌服务 – WordPress 国外主题全方位加速
  • 使用 WP-CLI 简化 WordPress 操作流程
  • WordPress 基础开发 – 一探 WordPress Hook 机制及示例应用
  • 优化静态资源 – WordPress 国外主题全方位加速
  • WordPress 实现微信登录
评论 (6)
再想想
  • 小清新头像吧

    确实哦,关注下了。。

    9年前
  • 王师傅装修队

    没搞懂。

    9年前
    • WP酷

      @王师傅装修队 这篇文章的意思实际上就是通过减少URL的层次来做SEO

      9年前
  • wordpressnote

    这个是V7V3的大作的吧

    9年前
    • WP酷

      @wordpressnote 是的,在上面有注明作者

      9年前
  • Eaphost

    应该也搞成.html的就好了

    8年前
PCDotFan
站长
若无特别注明,则默认我发布的所有文章均为内容原创 / 翻译原创,转载时请保留来源。
435文章
859评论
3K获赞
猜你喜欢
极限优化WordPress!打造完美站点
9年前
Git – 一款比付费主题更像是付费主题的WordPress免费主题
7年前
实现高性能WordPress AJAX文章分页
9年前
  • 杂记
  • WordPress 付费主题推荐
Copyright © 2023 WP酷. Designed by nicetheme. 琼ICP备13002067号-1