最快的修法: Google 不会发邮件告诉你”你这页太薄”,它只是悄悄降低低价值页面的处理优先级。先盘点站内所有约 500 字以下的页面,然后逐页决定:扩充、合并(配 301)、还是删除(410 或 noindex)。靠塞水文冲字数完全没用——Google 的质量系统看的是价值,不是长度。
降级分四个阶段进行,每一步都没有任何 Search Console 通知:
- 抓取频率下降 → 这条 URL 几周甚至几个月不被重抓
- 排名权重打折 → 即使被收录,也排不进前 50
- 整组判定 → 同一 URL 模式(如
/articles/auto-generated-*)的页面被一起降级 - 最终掉收录 → 几个月后从 “Indexed” 移除
有一点和过去的常识不一样了。Google 旧的独立 “Helpful Content System” 已经不再是一个单独、定期跑的更新。在 2024 年 3 月的核心更新中,它被并入了核心排名算法,所以”这个站整体是否有用”的判定现在是一个持续的、整站层面的信号。用 Google 自己的话说:如果一个站被判定含有相当比例的无用内容,那么即便是它真正有用的页面也可能表现变差。这就是为什么修法很少是”加字数”——而是真正提升信息密度或主动清理。
症状
- 100-300 字以下的页面收录率
< 30% - 已收录的薄页随时间被降级(先掉排名,再掉流量)
- Crawl Stats 报告(Settings > Crawling > Crawl stats)显示这些 URL 路径每月命中次数下降
- Page indexing 报告里大量同模式 URL 落在 “Crawled - currently not indexed” 或 “Discovered - currently not indexed”
快速结论
Google 不需要明说”薄”。它只是降优先级——抓得少、排名低、最后掉收录。修法是合并、扩充或删除。注意:通过 Request Indexing 重新提交一页毫无意义,除非你先改了页面本身的内容。
你属于哪一类
引发这个问题的有六种模式。其中三种现在直接对应 Google 一条有名字的垃圾内容政策——scaled content abuse(2024 年 3 月推出),它针对的是那些”为了操纵搜索排名而非帮助用户而批量生成”的页面。
| # | 模式 | 长什么样 | Google 的定性 |
|---|---|---|---|
| 1 | 没深度的 SEO 页 | 定义复述 + 套话 | 无用 / 低价值 |
| 2 | 没独特视角的批量 AI 页 | 50 篇、结构雷同、没 fact-check | Scaled content abuse |
| 3 | 程序化排列组合页 | /best-X-for-{city}/ × 1000,90% 相同 | Scaled content abuse |
| 4 | 自动分类/标签/归档页 | /tag/seo 只有 1-3 篇,就 H1 + 卡片 | 薄 / 重复 |
| 5 | 只有引用或摘录 | 转载、汇总、“30 个 X 的引言” | 抓取 / 无新增价值 |
| 6 | 内容空白页 | 感谢页、空 search 结果 | Soft 404 / 薄 |
1. 为 SEO 生成但没有内容深度的页
最常见。看到某关键词有量就写一篇,但写的全是定义复述加套话:
"什么是 X"
"X 的好处有哪些"
"如何使用 X"
"X 的注意事项"
每段就是 50 字的定义改写,0 独有信息。
2. 没有独特视角的 AI 生成页
AI 一次生成 50 篇,每篇 800 字,但全是同一种风格、同样结构、无人工 fact-check、无第一手经验。这正是 Google scaled content abuse 政策所描述的:“using generative AI tools or other similar tools to generate many pages without adding value for users”。这条政策不看你用什么工具生成——判定标准是对读者有没有价值。
3. 程序化 SEO 输出,页面之间几乎一样
/best-X-for-{city}/ → 1000 个城市生成 1000 页
/{verb}-{noun}-prompts/ → 100×100 组合 = 10000 页
每页只有变量不同,其余文字约 90% 相同。Google 把这标为模板薄页。程序化 SEO 本身是允许的——但前提是每页都带真正独有的数据(比如机票价格或实时库存),而不是只换了一个名词的样板文。
4. 自动生成的分类 / 标签 / 归档页
/tag/seo 只有 1-3 篇文章,模板里就一个 H1 加卡片列表。在小站上这类页基本不值得收录。
5. 内容仅是引用 / 摘录别处
转载、汇总、“30 个 X 的引言”——无原创注释。没有新增价值时,这对应 Google 的 scraping 政策。
6. 内容空白页面
注册成功页、感谢页、空 search 结果页、未到货商品页——都返回 200 但 body 几乎是空的。这些常在 Search Console 里以 Soft 404 出现。
最短修复路径
Step 1:盘点所有 500 字以下的页
// scripts/find-thin-pages.mjs
import fg from "fast-glob";
import fs from "node:fs";
import matter from "gray-matter";
const thin = [];
for (const f of fg.sync("src/content/**/*.{md,mdx}")) {
const { content } = matter(fs.readFileSync(f, "utf8"));
const text = content.replace(/```[\s\S]+?```/g, "").replace(/!\[.*?\]\(.+?\)/g, "");
const words = text.split(/\s+/).filter(Boolean).length;
if (words < 500) thin.push({ file: f, words });
}
thin.sort((a, b) => a.words - b.words);
console.log(thin.map(x => `${x.words}\t${x.file}`).join("\n"));
输出按字数从少到多排列,最薄的最先处理。再把每条路径对照 Page indexing 报告(筛选 “Crawled - currently not indexed”)核对一遍,确认哪些薄页 Google 是真的拒绝收录了。
Step 2:逐页决定:扩、合、删
对每个薄页问 3 个问题:
- 这页对应的 query 真的有人搜吗?(查 Keyword Planner,或看该页在 Search Console Performance 报告里的展示量——90 天 0 展示是很强的”删”信号。)
- 我有独有信息能加吗?(第一手经验、原创截图、数据。)
- 有没有相邻的兄弟页可以合并?
决策:
- Q1 yes + Q2 yes → 扩
- Q1 yes + Q3 yes → 合
- Q1 no → 删
Step 3:扩 — 加具体内容
下面每加一项,页面的信息密度就上一档:
1. 加 1 张原创截图
2. 加 1 个数字对比表
3. 加 1 段真实代码 / 命令
4. 加 1 个 FAQ 段(至少 3 问)
5. 加 1 段第一人称观察("我们 2026 年 3 月试过 Y,结果 Z")
目标 800-1500 字、带丰富格式。动手前先研究已经排在该 query 前面的页面,覆盖它们覆盖的内容,再加上它们没有的东西——Google 判断”薄”是拿你和竞争页面比,而不是对照一个绝对字数。
Step 4:合 — 3-5 篇合并成一篇完整指南
# 旧 URL 列表
echo "/articles/seo-tip-1
/articles/seo-tip-2
/articles/seo-tip-3" > to-merge.txt
# 合并成 /articles/seo-complete-guide
# 旧 URL 全部 301 到新 URL
// firebase.json
{
"hosting": {
"redirects": [
{ "source": "/articles/seo-tip-1", "destination": "/articles/seo-complete-guide", "type": 301 },
{ "source": "/articles/seo-tip-2", "destination": "/articles/seo-complete-guide", "type": 301 }
]
}
}
新文章把几个老文章的精华融合,再加新视角和数据。301 会把旧页的信号传给主版本,所以你是在集中权重,而不是丢权重。
Step 5:删 — noindex 或 410
对未来无用的薄页,让它可访问但不收录:
<!-- 暂留可访问但不收录 -->
<meta name="robots" content="noindex,follow" />
或彻底删除并返回 410 Gone:
res.status(410).send("This page has been permanently removed.");
410 比 404 更明确地告诉 Google “这条 URL 是故意删的、不会再回来”。实际表现上,410 的 URL 掉出索引更快——通常 1-2 周,而 404 要 2-4 周——而且更快退出抓取队列,释放 crawl budget。一个来自 Google 的 John Mueller 的细节要注意:无论是 404 还是 410,Googlebot 都可能长期反复回访这些已删 URL,这种周期性回访是无害的。当你确定页面永久删除时选 410;否则两者都行。
Step 6:从 sitemap 删除处理过的 URL
// scripts/clean-sitemap.mjs
import fs from "node:fs";
const sitemap = fs.readFileSync("public/sitemap.xml", "utf8");
const toRemove = fs.readFileSync("noindex-list.txt", "utf8").trim().split("\n");
let cleaned = sitemap;
for (const url of toRemove) {
const re = new RegExp(`<url>\\s*<loc>${url}</loc>[\\s\\S]*?</url>`, "g");
cleaned = cleaned.replace(re, "");
}
fs.writeFileSync("public/sitemap.xml", cleaned);
把已合并或已删除的 URL 留在 sitemap 里会给 Google 矛盾信号(你一边 301 走了它,一边又让它去抓)。sitemap 里只保留活的、canonical 的、可收录的 URL。
如何确认已修好
- 对修好的页面跑 URL Inspection 工具,点 Test Live URL,确认能正常渲染并显示 “URL is available to Google”。
- 在 live test 里点 Request Indexing,再到 Page indexing 报告对受影响的那组点 Validate Fix。
- 在 Performance 报告里跟踪该 URL 路径未来 4-8 周的展示量。重抓和重新评估不是即时的——通常要 4-8 周才能看到收录率和排名变化。
哪些情况可能不是你操作错了
少量薄页(联系页、隐私政策、关于页)没关系。Google 知道不是每页都要 2000 字。问题出在薄页比例超过约 20% 时——因为 helpful-content 信号现在是整站层面的,一大批低价值 URL 会连累你的好页面。
容易误判的情况
- 塞水文充字数:水文不是深度,Google 的系统看价值不看长度。
- 以为 noindex 是处罚:
noindex是”主动选择不收这页”的指令,不是惩罚。 - 以为合并会丢权重:合并 + 301 反而把权重集中到主版本。
- 以为一删就立刻恢复排名:重新评估通常要 4-8 周。
预防建议
- 发布前的最低门槛:
>= 500字 + 至少 1 张图 + 至少 2 处内链 + 至少 1 个具体数字 - 不要靠”关键词排列组合”自动生成页面冲数量
- AI 初稿必须人工 fact-check 并注入第一手经验(这正是”可接受的 AI 辅助页”和”scaled content abuse”之间的分界线)
- 季度内容审计:找出最薄的 20% 处理掉
- CI 拦截薄文:低于 300 字直接 build fail,强制写到位
FAQ
Q:“薄”到底指多少字? A:Google 不公布字数门槛。约 500 字以下通常算薄,但没有独特价值的 2000 字文章同样是薄。Google 衡量”薄”是拿你和已经排在该 query 前面的页面比,而不是对照一个固定数字。
Q:“Helpful Content System” 还是一个能”恢复”的东西吗? A:已经没有一个单独的系统可供”恢复”了。自 2024 年 3 月核心更新起,这个判定就住进了核心排名算法,持续且整站地运行。所谓恢复,就是真正改好(或删掉)站内那部分低价值内容,然后等下一轮重新评估。
Q:删薄页能帮到站里其他页吗? A:常常能——它释放 crawl budget,并抬高整站质量信号。大约 4-8 周后,好页面的收录率和排名往往会上升。
Q:是不是所有自动生成页都不该有? A:不是。如果每个程序化页面真带有独有的数据、上下文或用户价值(不是模板填空),那没问题——航班搜索结果就是经典例子。但一旦页面之间唯一的区别只是换了个变量,你就进入 scaled content abuse 的范畴了。