你首页写「800 篇文章!」——投资人爱看。AdSense 审核员数真实可索引、有实质的 URL——280 篇。差距不是骗,是指标混淆:双语翻倍数字但不翻倍内容;草稿 / redirect / 归档页 / tag 页继续灌水。800 不错——只是没人评估你网站时用这个数。
文章数是最容易意外灌水的指标,也是最不该当优化目标的。下面:怎么算诚实数、灌水怎么处理、选真正和价值相关的指标。
常见原因
按命中率从高到低:
1. 双语当两篇算
articles/en/post.mdx 和 articles/zh/post.mdx 是一篇双语,不是两篇。算两篇就翻倍数字不翻倍内容。
如何判断:总文件数 vs 唯一 translationKey 数——差 2 倍就是双语重复计。
2. 算了草稿 / redirect / noindex 页
draft: true 文件、没清理的 301 redirect、noindex 页、归档列表页——按 SEO / AdSense 定义都不是”文章”。
如何判断:grep -l "draft: true" articles/**/*.mdx | wc -l 加查 noindex 和 redirect——从总数减掉。
3. 自动生成的 category / tag 页灌水
栈自动给每个 tag 生成页,你声称 800 篇——600 是 tag/category 页。AdSense 把这种叫”导航”不是”内容”。
如何判断:按模板 / 类型分页——文章模板 vs category/tag 模板分开跟踪。
4. 一段话的”stub 文章”也算
你写了 50 个 SEO 长尾 stub(「什么是 X?」80 字)抢长尾 query——文件系统里算文章,AdSense 叫「low value」。
如何判断:字数分布——相当比例 <300 字就是 stub 灌水。
5. 多年前从已死合作博客 import 的内容
几年前从废博客 import 了 100 篇——还在那里、技术上算文章、但不原创且老了。灌水不增信任。
如何判断:3+ 年没改的文章、归属前员工/合作伙伴——可能是时间凝固的质量、也可能是 import 后忘了。
6. 机翻没人审
跑 400 篇英文过 Google Translate 得 400 篇”中文”——合计 800。AdSense 和 Google 都能检测机翻、降权。
如何判断:随机读 5 篇 ZH——有典型机翻措辞(直译习语、奇怪语序)——对 ZH 受众不算真文章。
最短修复路径
按收益从高到低。Step 1 揭开差距,其余决定怎么办。
Step 1:算诚实数
跑审计脚本:
# 总 MDX 文件
find src/content/articles -name "*.mdx" | wc -l
# 唯一 translationKey
grep -h "^translationKey:" src/content/articles/**/*.mdx | sort -u | wc -l
# 非草稿、非 noindex
grep -l "draft: false" src/content/articles/**/*.mdx \
| xargs grep -L "noindex: true" 2>/dev/null \
| wc -l
# 实质(>500 词)
for f in src/content/articles/en/**/*.mdx; do
wc -w "$f" | awk '$1 > 500 {print $2}'
done | wc -l
结果:总文件数、唯一文章数、可发数、实质数。挑你 context 下”真”的那个(通常是实质数)。
Step 2:公开声明改成诚实数
首页 / about / pitch deck:
差:「800 篇文章」
好:「12 个话题下 280 篇深度指南」
最好:「280 篇,过去 12 个月内更新过」
诚实数不缩可信度——竞品灌水被发现后你反而显得更可信。
Step 3:每种灌水源决定升级 or 删
| 来源 | 动作 |
|---|---|
| Stub(<300 词) | 升级或合并入父话题 |
| 机翻 ZH | 人审或 noindex / 删 |
| Tag 页 | 留但不计入文章数 |
| import 的老内容 | 逐个审,烂的删 |
| 长期草稿 | 发或删,不留”以后也许” |
目标不一定是”更多文章”——有时少而精提升质量。
Step 4:别拿文章数当 KPI
换成和价值相关的指标:
| 指标 | 衡量什么 |
|---|---|
| GSC 已索引 URL | Google 觉得有价值 |
| 平均排名改善 | 内容排名趋势 |
| Top-10 排名数 | 真赢的 query |
| 已索引页面 CTR | SERP 引点击 |
| 平均停留 | 内容深度信号 |
数量是 vanity;排名 + 点击是现实。
Step 5:按语言独立定义指标
分别追:
- en/ 唯一文章:280
- zh/ 唯一文章:230
- 仅 en/ 无 zh/ 副本:50(翻译债务)
- 仅 zh/ 无 en/ 副本:0
按语言追让翻译债务浮出来,每个语言能有独立质量门槛。
Step 6:季度审指标定义
定义会漂——「文章」对运营 / 营销 / SEO 含义可能不同。钉定义:
# metric-definitions.md
## 「文章」=
- 在 `src/content/articles/` 下
- `draft: false`
- 非 `noindex`
- ≥500 词(en)/ ≥400 字(zh)
- 有 `translationKey`
钉一次,全员的”文章数”是同一个数。
预防建议
- 在
metric-definitions.md定义一次”文章”——全员按同定义报数 - 总 URL / 可索引 URL / 各语言原创分开追,不要混
- 季度审指标定义——漂移是默认
- 文章数 KPI 换成已索引 URL + 排名分布
- 双语不重复计——一个
translationKey= 一篇 - Stub / 机翻 升级或删——算它们灌水但不增信息