很多内容站的结构问题不是「缺页面」,而是页面太多、且大部分没有独立价值。
典型症状:96 篇文章,却有近 200 个标签页。其中近百个标签下只挂着 1–2 篇文章,页面内容就是「标题 + 摘要 + 标题 + 摘要」,和大分类页高度重复。这些页面全部进了 sitemap,占据抓取预算,稀释权重。
先判断:什么算「薄内容」
没有绝对的字符数标准,但有几个可操作的判断角度:
| 判断角度 | 健康 | 需要处理 |
|---|---|---|
| 正文可见字数 | ≥ 800 字 | < 300 字 |
| 该页承载的文章数 | ≥ 5 篇 | 1–2 篇 |
| 与其他页面的差异度 | 有独特介绍文字 | 只有标题列表,与分类页雷同 |
| 是否有搜索需求 | 有人会搜这个词 | 是自动生成的长尾组合 |
| 是否有内链指向 | ≥ 2 处 | 只在标签云里出现 |
注意第三行是最关键的。一个标签页哪怕有 20 篇文章,如果页面上除了文章列表没有任何介绍性文字,它本质上和「搜索结果页」没有区别——这类页面搜索引擎通常不给独立索引。
治理策略:三类页面,三种处理
A 类:核心标签 → 保留并做厚
能代表站点主题、有稳定搜索量、下面挂着足够多文章的标签。比如「技术 SEO」「服务器运维」这种。
处理动作:
- 在列表上方写 150–300 字的栏目介绍,说明这个标签涵盖什么、适合谁看;
- 保证页面有指向该标签下重点文章的精选区块;
- canonical 指向自己,保留在 sitemap 里;
- 从首页或主导航给一个入口。
这一步做完,标签页就从「列表页」变成了「专题聚合页」,具备了独立索引的资格。
B 类:边缘标签 → noindex, follow
有一定数量文章(3–10 篇),但没有独立搜索需求,或者和别的标签高度重叠。
处理动作:在页面 <head> 输出
<meta name="robots" content="noindex, follow">
follow 不能省。它的含义是「不要把我这个页面放进索引,但我指向的文章你可以继续爬、继续传递权重」。如果写成 noindex, nofollow,标签页里的文章链接就失去了发现通道,反而伤害收录。
同时要把这些页面从 sitemap 里移除。
C 类:垃圾标签 → 合并或删除
只有 1–2 篇文章、名字是无意义的长尾组合、或者和另一个标签只是同义词。
处理动作:
- 合并:把 A 标签下的文章批量改成 B 标签,然后删掉 A;
- 删除:WordPress 后台删除标签时不勾选「同时删除文章」,只会解除关联;
- 必须做 301:如果这个标签页已经被收录过,删除后应 301 到最有相关性的分类页或上级标签,不要直接 404。
WordPress 里的实现方式
批量给「文章数少于 N 的标签页」加 noindex,用 mu-plugin 十几行就能搞定:
add_action('wp_head', function () {
if (!is_tag()) return;
$term = get_queried_object();
$min = 3; // 少于 3 篇文章的标签页不索引
if ($term->count < $min) {
echo '<meta name="robots" content="noindex, follow">' . "\n";
}
}, 1);
同时把这些标签从 sitemap 里剔除。WordPress 原生 sitemap 可以用过滤器:
add_filter('wp_sitemaps_taxonomies_query_args', function ($args, $taxonomy) {
if ($taxonomy === 'post_tag') {
$args['count_min'] = 3; // 只输出文章数 ≥3 的标签
}
return $args;
}, 10, 2);
为什么两个都要做:sitemap 是「推荐抓取清单」,noindex 是「不要索引声明」。如果只在 sitemap 里排除,页面仍可能通过标签云、内链被发现并索引;如果只加 noindex 而不清理 sitemap,等于把不想收录的页面主动推荐给搜索引擎,浪费预算。
顺手要一起处理的另外两类页面
日期归档页
/2026/09/ 这类页面纯粹是文章列表,内容和中性的分类页重复,且几乎没有独立搜索需求。建议整体 noindex, follow 并从 sitemap 移除。如果主题默认输出了日期归档,先确认导航里没有链接到它们。
带参数的 URL
站内搜索、排序、筛选参数会组合出成百上千个 URL:/tag/seo/?order=asc&paged=2。这类 URL 必须做 canonical 归一,直接指向不带参数的干净地址:
add_action('wp_head', function () {
if (is_singular()) return;
if (empty($_GET)) return;
// 有查询参数的分页/归档页,一律 canonical 到去掉参数的版本
$clean = strtok(home_url(add_query_arg([])), '?');
echo '<link rel="canonical" href="' . esc_url($clean) . '">' . "\n";
}, 1);
分页要单独考虑:分页第 2、3 页的 canonical 应该指向自己,不要指向第 1 页。把第 2 页 canonical 到第 1 页,等于告诉搜索引擎「第 2 页是重复内容」,第 2 页上的文章就失去了被发现的机会。
| 页面类型 | canonical 指向 | 索引策略 | 进 sitemap |
|---|---|---|---|
| 文章页 | 自己 | index | 是 |
| 核心标签 / 分类页 | 自己 | index | 是 |
| 内容少的标签页 | 自己 | noindex, follow | 否 |
| 日期归档页 | 自己 | noindex, follow | 否 |
| 分页第 N 页 | 自己 | index, follow | 视情况 |
| 带参数 URL | 干净版本 | 跟随 canonical | 否 |
| 站内搜索结果页 | — | noindex, follow | 否 |
治理的验收标准
- sitemap 里的 URL 中,文章页占比 ≥ 70%;
- GSC 索引报告里「已排除,被 noindex 标记」的数量上升——这是好事,说明批量规则生效了;
- 「已抓取,尚未编入索引」的数量下降;
- 核心标签页开始获得展示次数(在「效果」报告里按页面维度能看到)。
整个治理过程建议分两步走:先加 noindex 和 sitemap 过滤(一天内可完成、可回滚),观察两周看收录结构变化,再决定要不要真的删除标签。
常见问题
noindex 会不会让文章也一起不被收录?
不会。noindex 只作用于声明它的那个 URL。文章页有自己的 URL 和独立的 robots 声明,不受标签页影响。前提是别写成 nofollow,保证链接仍可被追踪。
被 noindex 的页面,之前已收录的会怎样?
搜索引擎重新抓取该页面后,会把它从索引中移除,通常需要几周到一两个月。这期间页面仍可能出现在结果里,属正常现象。
是不是所有标签页都应该 noindex?
不是。合理的做法是分层:核心标签做成专题聚合页并保留索引,长尾标签批量 noindex。全部 noindex 会丢掉一部分本可以获得的长尾流量入口。
![图片[1]-薄内容与标签页治理:canonical、noindex、分页三件套-极客资源](http://blog.nvcb.cn/wp-content/uploads/2026/09/82b69adf-2904-40c8-b32e-3a5986f1dc2a-1024x683.png)
1 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
2 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
3 本站资源大多存储在云盘,如发现链接失效,请联系我们第一时间更新。










暂无评论内容