当前位置:首页 >  站长 >  搜索优化 >  正文

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

 2026-09-09 14:10  来源: 互联网   我来投稿 撤稿纠错

  一键部署OpenClaw

症状很典型:盯着一个词连发五篇文章,结果一个都进不了前二十;或者 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 自动化总清单:日、周、月、季各该跑什么》季度组里的这项检查,配合本篇的判定方法,发现即治理。

申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!

相关文章

  • 排名涨了流量没涨?用 CTR 曲线找出该改标题的页面

    一个页面排名从15涨到8,点击却没怎么动——这种事在SearchConsole数据里天天发生。道理不复杂:流量约等于曝光×点击率,排名只影响其中一项。排名到位了CTR拖后腿,说明问题出在搜索结果页上的“门面”:标题和描述没赢过同屏的其他候选者。找优化目标别凭感觉,用自己站的数据筛。GSC效果报表把每

  • 网站关键词排名集体下跌先别改站:三步分清算法波动和自己的锅

    某个周一早上,核心词排名集体掉五六位,站点流量曲线跟着下坠。很多人的第一反应是赶紧改标题、加内容、换结构——在搞不清下跌原因之前就动手术,十有八九是二次伤害。排名波动只有两大类来源:算法端调整和站点自身问题,处理动作完全相反,前者要按兵不动攒数据,后者才要动手修。分清两者有个三步交叉验证。第一步看行

  • 蜘蛛每天来抓了什么?GoAccess 把死日志变成实时面板

    站长看数据的习惯是开统计后台,但统计代码有个天生的盲区:它只能记录带了JS跑起来的真人访问。蜘蛛抓了哪些页面、每次抓返回什么码、什么时候抓得最勤,统计后台一个字都看不到。想回答这些问题只有一条路——翻服务器原始日志。可access.log动辄几百MB,用tail翻到眼花也翻不出个结论。GoAcces

  • SEO 自动化总清单:日、周、月、季各该跑什么

    这个SEO工具链系列到这里收官,前面二十几篇铺了脚本、工具、监控和告警,最后这篇把它们收拢成一张能贴在工位上的总清单。清单按频率分四层,背后的逻辑很简单:不同指标的新鲜度和监控成本不同,全塞进“每天”会把人累死,全压成“每月”又等于没监控。自动化铺完之后,人的角色从跑命令的变成看结论的——每天真正花

  • 搜索结果里别人家的星星评分哪来的?JSON-LD 结构化数据实操

    同样排在搜索结果第五位,带星级评分、作者、发布时间的那条点击率能高出一截——这就是富媒体摘要的威力,而它的开关就是页面里的结构化数据。给搜索引擎喂一段JSON-LD,它就能把评分、价格、面包屑这些信息直接展示在结果页。JSON-LD是三种结构化数据格式里最省心的:一段script标签塞在head里,

热门排行

信息推荐