搜一个词,你自己站有两个页面同时出现在首页——这看起来是"双保险",实际上多半是蚕食:权重被摊薄、标题互相打架、AI 摘要还可能抓错页。审计方法不复杂:批量查词,记录每个词下你域名出现的所有 URL 和位次,同一个词出现两个以上 URL 的,就是嫌疑对象。
为什么要定期做
- 链接权重分散:两篇内容各拿一半内链,谁也进不去前三。
- 标题互踩:同一意图的两个页面,Google 只会挑一个,另一个白写。
- 修复便宜:改标题、加内链、合并,都是编辑层面的事;放任下去,沉没成本只会更高。
审计脚本
思路:对每个关键词查两页,收集所有命中你域名的organic条目,按词聚合。
importtimefromcollectionsimportdefaultdictimportrequests API_URL="https://api.serpbase.dev/google/search"API_KEY="你的 API Key"DOMAIN="example.com"defsearch(query:str,pages:int=2)->list:hits=[]forpageinrange(1,pages+1):resp=requests.post(API_URL,headers={"X-API-Key":API_KEY,"Content-Type":"application/json"},json={"q":query,"page":page},timeout=30,)resp.raise_for_status()organic=resp.json().get("organic",[])ifnotorganic:breakforiteminorganic:link=item.get("link","")ifDOMAINinlink:hits.append({"query":query,"page":page,"rank_in_page":item.get("rank"),"title":item.get("title",""),"url":link,})time.sleep(1.5)returnhits KEYWORDS=["serp api 价格","谷歌搜索 api","关键词监控工具"]rows=[]forkwinKEYWORDS:rows.extend(search(kw))by_query=defaultdict(list)forrinrows:by_query[r["query"]].append(r)forkw,itemsinby_query.items():urls={i["url"]foriinitems}iflen(urls)>=2:# 同词多 URL:蚕食候选print(f"[候选]{kw}:{len(urls)}个页面")foriinitems:print(" ",i["rank_in_page"],i["url"])跑完把候选词人工过一遍,填成一张审计表(结构示例,不是实测值):
| query | 你的 URL | 页内位次 | 同词 URL 数 | 结论 |
|---|---|---|---|---|
| serp api 价格 | /a | 3 | 2 | 蚕食候选 |
| serp api 价格 | /b | 7 | 2 | 蚕食候选 |
| 谷歌搜索 api | /c | 5 | 1 | 正常,保持 |
参数和返回字段的完整说明见 SerpBase 官方文档里的 search 端点;rank是响应内的 1 起算位次,跨页对比位次时记住这一点。
判定与处置
| 情形 | 动作 |
|---|---|
| 两个 URL 位次都靠前、内容高度重叠 | 合并成一篇,旧 URL 301 到保留页 |
| 强的在 1~3 名、弱的在 8 名开外 | 弱的换角度、换标题,转打它真正该吃的长尾词 |
| 同词同 URL 出现多次 | 多数是 sitelinks(文档里有该字段),不算蚕食,别误伤 |
| 一个词下你只有 1 个 URL 且位次稳定 | 正常,进入常规排名监控即可 |
成本与节奏
search 端点每次成功请求 1 credit,100 个词查两页 = 200 credits;新账号的 100 次免费搜索,先拿 50 个核心词查一页就能筛出第一批候选。节奏上:站点大改版后、每次批量上新内容后各审一次,常规季度一次就够。
FAQ
发现蚕食一定要删页面吗?不必。优先"改"(换标题/换目标词),其次"并"(合并 + 301),最后才考虑"删"。
为什么查两页而不是一页?有些词你的两个页面都排在 11~15 名,只查第一页会漏掉;两页能覆盖大多数候选。
和排名监控什么关系?排名监控盯"一个页面随时间的变化",蚕食审计看"一个词上多个页面的冲突",一个纵向一个横向,建议都留。
先把DOMAIN和KEYWORDS换成你自己的,跑一轮看候选列表,再决定哪些进入处置。