你有三篇关于「Claude API」的——都打同一个 query intent——没一个进前 20。Search Console 里它们在闪:今天 A 排 23、明天 B 排 38、后天 C 排 31。Google 决定不出哪个是 canonical 答案——你为这个犹豫付代价。
这是关键词 cannibalization。同一站点多页面竞争同 query 时,Google 的排名信号分散到它们身上、任一页都积累不到足够权威排名。修法是刻意的 single-pillar 策略:选一个 canonical、其他重新瞄准 sub-intent、把内部链接集中到 pillar 上。
常见原因
按命中率从高到低:
1. 多篇文章标题 / H1 几乎一样
「How to use Claude API」「Claude API guide」「Using Claude API in 2026」——读着像一篇被重写三遍。Google 分不出哪个是答案,当天哪个吸引 query 就显示哪个。
如何判断:列你的标题、按话题分组——同组 3+ 篇就有 cannibalization 风险。
2. 没刻意把内部链接集中在 pillar 上
每篇文章 link 到作者记得的那个——没刻意 pillar 就没页面拿到多数内链。权威摊薄。
如何判断:跑内链审计——你「Claude API」文章入链数差不多(没明显领跑者)——权威碎片化。
3. 每篇文章的独特 intent 没设计
你写三篇假设各找各的受众——实际它们都打同 intent(「学 Claude API」)——差异化只在你脑里。
如何判断:每篇用一句话写出 query intent——三篇 intent 句子互相是 paraphrase——intent 设计失败。
4. Search Console 显示三页同 query
看真实数据:
Query: claude api
- Page A:平均位置 23,50 展示,1 点击
- Page B:平均位置 38,30 展示,0 点击
- Page C:平均位置 31,45 展示,1 点击
三页同 query 一个都不排——这就是典型 cannibalization 签名。
如何判断:GSC → Performance → 按 query 过滤 → 加 “Page” 维度——同 query 多页面 = bug。
5. canonical 标签错或缺
三页都 canonical: self——Google 当三个竞争页。其中一页 canonical 指向 pillar 的话其他会合并信号。
如何判断:每个候选源码——都是 <link rel="canonical" href="self-url">——应该 canonical 到 pillar。
6. cluster 由 AI / SEO 工具建议「写更多」产生
某些 SEO 工具建议「为相关子话题各写 5 篇」——naive 执行产生重叠而非独特 sub-intent。工具建议是方向、执行漏了差异化。
如何判断:你按某工具「topic cluster」建议批量产了多篇——重读建议、看是否真映射到独特 intent。
最短修复路径
按收益从高到低。Step 1 找问题,2-3 解决。
Step 1:在 GSC 里找 cannibalization 对
Search Console → Performance → 加 query 过滤
维度里加 "Page"
按 impression 倒序
任意 query 你的站 2+ 页 = 候选 cannibalization。导出 Top 50 到表格 triage。
Step 2:每个 cluster 定 pillar
每组 cannibalization 决定哪个是 canonical pillar:
pillar 标准:
1. 当前排名最高(Google 已经偏好)
2. 内容质量最好(深度 / 例子 / 长度)
3. 内链入度最多
4. URL 最好(最短最干净最老 = 最多 backlink)
每 intent 一个 pillar,其余降为卫星或合并。
Step 3:其他重瞄 sub-intent 或合并
每个非 pillar 文章:
方案 A:重瞄不同 sub-intent
- 「Claude API guide」(pillar)— 总体 how-to
- 「Claude API streaming」(卫星)— 特定功能
- 「Claude API rate limit」(卫星)— 特定关切
- 「Claude API vs OpenAI API」(卫星)— 对比
每个卫星打清晰不同的 query。改标题 + H1 + intro 强化。
方案 B:合并进 pillar
- 取卫星的精华并入 pillar
- 卫星 URL 301 到 pillar
- 一个强页 > 两个弱页
Step 4:内部链集中到 pillar
# 找链向任一 cannibalizing URL 的文章
grep -rln "/articles/claude-api-guide/\|/articles/using-claude-api/\|/articles/claude-api-2026/" src/content/
# 每个都改成只指 pillar
pillar 拿这话题 80%+ 的内链;卫星在 intro 里向上链到 pillar。
Step 5:渐进合并时加 canonical
不能立刻合并就用 canonical:
<!-- 卫星 head -->
<link rel="canonical" href="https://yoursite.com/articles/claude-api-guide/" />
Google 在卫星还活着时就把信号合并到 pillar 上。给将要 301 的卫星用。
Step 6:新加 cluster 文章前先审
新加文章到 cluster 前 search 自己的站:
site:yoursite.com claude api streaming
已有打那个 intent 的就扩它别新写。新文章只为填真的独特 gap。
预防建议
- 写新文章前先 search 自己站找同 intent 现有页
- 每 cluster 有明确 pillar + 清晰差异化卫星——写之前先设 intent
- 内链集中 pillar;卫星向 pillar 链不反过来
- 季度审 GSC 找 cannibalization 对(同 query 2+ 你的页面)
- 用 canonical 在内容合并未完成时先合并信号
- 不要 naive 跟「写 5 篇相关」建议——naive 执行产重叠不产覆盖