搜索全站
百度SEO 8 分钟阅读

分类页与标签页该不该收录?判断标准与 robots、noindex 设置

分类页和标签页最容易制造低质收录。本文给出"该不该收录"的四条判断标准,以及分类页保留、标签页按需屏蔽的具体配置与代码。

U
UFO_PF 2024-11-08 · 阅读 8 分钟
分类 百度SEO
阅读提示
本文约 2,994 字,预计阅读 8 分钟。文中命令与配置均经过实测,可直接参考执行。

引言:站点两千篇文章,百度收录了三千个页面

在搜索资源平台看索引量,发现收录数远大于文章数,多出来的一千多个页面几乎全是标签页:/tag/wordpress、/tag/wp、/tag/wordpress教程、/tag/WordPress、/tag/wordpress-2……这些页面内容高度重叠,标题雷同,列表里只有三五篇文章。它们不仅拿不到流量,还会拉低站点整体的质量评估,是典型的”低质页面稀释”问题。分类页的情况稍好,但同样存在”分类下只有两篇文章”或”分类页与标签页内容完全一样”的问题。

原理分析:什么样的聚合页值得被收录

百度判断聚合页是否有价值,核心看这个页面是否提供了列表之外的增量信息。判断一个分类页或标签页该不该收录,可以用四条标准:

判断标准 达标表现 不达标表现
内容规模 聚合下 ≥ 10 篇有效文章 只有 2–3 篇
页面描述 有 150 字以上的栏目说明 只有列表
主题唯一性 与其他聚合页不重叠 存在多个近义聚合页
用户需求 有人会搜这个类目词 纯粹是内部分类标签

四条全中,坚决收录并优化;两条以下,建议 noindex 或直接合并。需要强调的是,noindex 与 robots.txt 屏蔽是两回事:robots.txt 禁止抓取后,百度看不到 noindex 指令,页面 URL 仍可能因为外链而被收录(只是无摘要);正确做法是允许抓取 + 输出 noindex,让百度读到指令后主动删除。

另一个常见误区是”屏蔽了就不用管”。已经被收录的页面需要主动处理,除了 noindex,还可以在搜索资源平台用”URL 删除”功能提交,但删除是临时的,页面必须真的返回 404/410 或保持 noindex 才能彻底生效。

保姆级实操

步骤1:先盘点聚合页规模
用 SQL 快速列出文章数少于阈值的分类和标签:

-- 列出文章数少于 5 的标签,作为待合并/待屏蔽清单
SELECT t.term_id, t.name, t.slug, tt.count
FROM wp_terms t
JOIN wp_term_taxonomy tt ON t.term_id = tt.term_id
WHERE tt.taxonomy = 'post_tag' AND tt.count < 5
ORDER BY tt.count ASC;

步骤2:分类页保留并加说明文字
分类页一般建议保留,但必须补充栏目描述。可以在分类编辑页填写”描述”,并用代码保证前台输出:

// category.php:在列表前输出分类描述,保证页面有增量信息
$term = get_queried_object();
if ( $term && ! empty( $term->description ) ) {
    echo '<div class="cat-desc">' . wp_kses_post( wpautop( $term->description ) ) . '</div>';
}

步骤3:标签页按规模动态 noindex
规模过小的标签页自动输出 noindex,规模足够时不输出,这样可以自适应增长:

// functions.php:文章数少于 8 的标签页自动 noindex
add_action( 'wp_head', function() {
    if ( is_tag() ) {
        $term = get_queried_object();
        if ( $term && $term->count < 8 ) {
            echo '<meta name="robots" content="noindex,follow">' . "\n";
        }
    }
} );

步骤4:用 wp_robots 过滤器更规范
WordPress 5.7+ 提供了 wp_robots 过滤器,比直接 echo meta 更不容易与 SEO 插件冲突:

// functions.php:通过 wp_robots 过滤器给小标签页加 noindex
add_filter( 'wp_robots', function( $robots ) {
    if ( is_tag() ) {
        $term = get_queried_object();
        if ( $term && $term->count < 8 ) {
            $robots['noindex'] = true;
            unset( $robots['index'] );
        }
    }
    return $robots;
} );

步骤5:sitemap 同步排除
确认 XML sitemap 里不再输出这些页面。Yoast SEO 在”搜索外观 → 分类法”里可以关闭标签的 sitemap 收录;Rank Math 在”站点地图 → 分类法”里设置。

步骤6:提交 URL 删除
对已被收录的小标签页,在百度搜索资源平台的”网页抓取 → URL 删除”里提交,同时保证页面持续输出 noindex。

步骤7:建立标签准入规则
从源头控制:新文章打标签时,已有同义标签就复用,不新建;单个标签至少覆盖 3 篇文章才允许创建。

常见踩坑

  1. 用 robots.txt 屏蔽标签页:百度抓不到 noindex,URL 仍可能收录成无摘要结果,反而更难看。
  2. 标签页和分类页内容完全一样:两个 URL 内容一致,触发重复内容判定,处理方式见 canonical正确用法。
  3. 关掉标签页 sitemap 但页面仍可访问:爬虫仍会从站内链接抓到,必须配合 noindex。
  4. 一次性屏蔽几百个页面:短期索引量暴跌,容易误判,建议分批进行。
  5. 案例:某站点收录里 60% 是标签页,其中大量是同义词标签(seo、SEO优化、网站优化)。站长先用 robots.txt 屏蔽 /tag/,结果这些 URL 依然以”无摘要”形式留在索引里。后来改成允许抓取 + noindex,并在搜索资源平台提交删除,两个月后索引量从 3200 降到 1400,但整体流量反而上升了 18%。
  6. 忘记处理空分类:建了分类但从未发文章,分类页照样被收录。
  7. 标签页分页未一并处理:/tag/x/page/2/ 也要带上 noindex,否则分页被收录。

总结

判断聚合页该不该收录,看四条:规模够不够、有没有说明文字、是否与其他页面重叠、有没有真实搜索需求。分类页多数应保留并补齐描述;标签页应按规模动态处理,小标签 noindex 而不是 robots 屏蔽。操作时注意三点配套:sitemap 同步排除、已被收录的提交删除、从源头控制标签创建。这一步做完之后,再做 标签页泛滥治理 提到的合并与清理,索引结构会清爽很多。

U
UFO_PF作者

专注 WordPress 生态的实战作者,内容以「可复制、可验证」为第一原则。

留下你的想法

邮箱地址不会被公开。带 * 的为必填项。