发帖
0

wordpress网站按照分类设置 noindex

KING
管理员

7

主题

0

回帖

41

积分

管理员

积分
41
网络技术 21 0 2025-4-9 19:19:28
这是一个非常实用的 SEO 控制策略:让 “北京” 分类目录页面可以被 Google 索引,而其他分类目录页面(如“上海”、“天津”等)则禁止索引。你可以通过以下几种方式来实现这个效果:


✅ 方法一:使用 WordPress 主题中修改 category.php 模板(推荐)
在你的主题中(通常是 wp-content/themes/你的主题/),找到或创建 category.php 文件,在 <head> 中添加以下代码:
<?php
  $current_cat = get_queried_object();
  if ($current_cat && $current_cat->slug !== 'beijing') {
      echo '<meta name="robots" content="noindex, follow">';
  }
?>
这个逻辑是:
  • 如果当前分类的 slug 不是 beijing,就在页面添加 <meta name="robots" content="noindex, follow">,禁止 Google 索引但允许抓取链接。
  • 如果是 beijing,则不加任何限制,默认允许索引。



✅ 方法二:使用 WordPress SEO 插件(如 Yoast SEO / Rank Math)
如果你在用 Yoast SEO 插件,可以手动或自动设置:
1. 手动设置(适用于分类不多的情况):
  • 后台 → 文章 → 分类目录 → 编辑“北京”分类,确保 “允许搜索引擎索引此分类” ✅。
  • 其他分类目录则设置为 noindex。

2. 自动设置(需要开发):
你可以添加一个代码片段,通过钩子 wpseo_robots 控制:
add_filter('wpseo_robots', function($robots) {
    if (is_category()) {
        $cat = get_queried_object();
        if ($cat && $cat->slug !== 'beijing') {
            return 'noindex,follow';
        }
    }
    return $robots;
});
这个可以加在 functions.php 中,自动控制 Yoast SEO 输出的 meta robots 标签。


✅ 方法三:使用 robots.txt 文件控制(不太推荐)
你可以写成:
User-agent: *
Disallow: /category/
Allow: /category/beijing/
注意:这种方法并不总是有效,尤其对 Google,因为 robots.txt 会阻止抓取整个 URL,甚至不能抓 meta 标签。所以这种方法只能作为补充,不推荐单独使用。


🔍 效果验证
设置完成后,可以访问你的分类页:
  • https://yoursite.com/category/beijing/ 应该可被索引(没有 <meta name="robots" content="noindex">)。
  • https://yoursite.com/category/shanghai/ 应该含有 <meta name="robots" content="noindex, follow">。

你也可以在 Google Search Console 或 “查看网页源代码” 中验证。


需要我帮你生成一个完整的函数放到 functions.php 中吗?或者你用的是哪一个 SEO 插件?我可以帮你定制代码。
您需要登录后才可以回帖 立即登录
高级模式
返回