一个词发五篇文章,为什么全都排不上?关键词自我蚕食

来源:互联网 时间:2026-09-09

症状很典型:盯着一个词连发五篇文章,结果一个都进不了前二十;或者 GSC 里同一个查询词下面,一会儿是 A 页面排名一会儿是 B 页面,像随机轮换。这是典型的关键词自我蚕食——搜索引擎分不清你站上哪篇才是这个词的正主,多个页面互相分票,谁的权威都堆不起来。

检测方法就是把“一个查询词对应了几个页面”这个问题直接丢给数据。GSC 效果报表按查询词加页面两个维度分组拉出来(官方文档明确说 page+query 分组是 API 里成本最高的查询,日期范围控制在一两周内、用 API 或界面导出都行),然后跑个统计:找出映射到多个页面、且平均排名在 5 位开外的词,那些就是蚕食嫌疑名单。官方还有一篇「整合重复网址」的文档专门讲合并逻辑,思路完全对得上。

# GSC 导出(query+page 分组)后跑蚕食检测
import csv
from collections import defaultdict

m = defaultdict(list)
for r in csv.DictReader(open("qp_export.csv", encoding="utf-8-sig")):
kw = r["Query"] if "Query" in r else r["查询"]
page = r["Page"] if "Page" in r else r["网页"]
pos = float(r["Position"] if "Position" in r else r["平均排名"])
m[kw].append((page, pos))

for kw, pages in m.items():
uniq = {p for p, _ in pages}
best = min(pos for _, pos in pages)
# 一词多页且最好的排名也不佳 -> 蚕食嫌疑
if len(uniq) >= 2 and best > 5:
print(f"[蚕食?] {kw} 最佳排名 {best}")
for p, pos in sorted(pages, key=lambda x: x[1]):
print(f" {pos:5.1f} {p}")

拿到嫌疑名单后按内容关系分三条路处理。内容确实重复(两篇讲的是一件事):定一篇为主,其余 301 过去,权重一次性归拢。内容有重叠但各有价值:弱的一篇做 canonical 指向强的那篇,保留可访问但不参与排名竞争,或者干脆合并成一篇更全的。内容其实面向不同意图(比如“VPS测评”和“VPS选购指南”):不合并,改造成明显的意图差异——标题、角度、覆盖的词形分开,让搜索引擎能明确分配。最忌讳的是为了蚕食而蚕食:把明显不同意图的页面硬合并,丢掉的意图就再也接不回来了。

# 处置后的验证:14 天后重跑检测脚本

# 期望:处理后词的 uniq 页面数收敛到 1,best 排名改善

# 长期监控可以挂 crontab,每月跑一次蚕食扫描

0 9 1 * * /usr/bin/python3 /opt/seo/cannibal_check.py

收尾说个预防比治疗更重要的点:选题时就该查词库——这个词已经有承接页面了吗?有的话新内容应该做意图分叉而不是再写一遍。新站规模小感觉不到蚕食,内容过百篇后它几乎必然出现,每月一次的蚕食扫描应该进例行维护清单,和死链扫描放同一天跑。

蚕食和另一个概念划清界限:内部链接指向多个相似页面不叫蚕食,搜索引擎对站内正常的相近主题容忍度远比传说中高。真正的蚕食有两个硬条件——多个页面竞争的是同一个意图的同一个词,且排名因此互相拖累。检测脚本里 best 排名好于 5 的词就别折腾了,人家排得好好的,动了反而是破坏。工具给的是嫌疑名单,最后拍板要不要合并之前,把候选页面真的各读一遍,意图是不是同一个,你比脚本清楚。

相关阅读:蚕食检测不必频繁,季度查一次足够。《SEO 自动化总清单:日、周、月、季各该跑什么》季度组里的这项检查,配合本篇的判定方法,发现即治理。

相关文章

A5创业网 版权所有

返回顶部