第一步:给Schema装上品牌实体标记,Google才能认你是谁
我去年给一个做宠物用品的垂直站做GEO优化,搞了三个月品牌提及量一直在个位数打转。翻遍Google的AI Overview官方文档,才发现问题出在—我的首页根本没有品牌实体标记。Google的AI引擎抓了2000多页内容,愣是不认识这个站是个正规品牌。
别整那些虚的JSON-LD通用模板。我实测下来,必须在首页和品牌页同时嵌入Brand + Organization + WebSite三合一标记。先看你站点的品牌页面URL,一般是 /about 或 /brand,没有的话自己建一个,别偷懒。
具体配置我贴在下面。注意三个关键点:@type 要写成 ["Brand", "Organization"] 双重类型,alternateName 填你的品牌别名或缩写,sameAs 数组至少挂5个有效外链(包括维基百科、Crunchbase、LinkedIn公司页)。description 字数卡死在150个中文字符以内,多一个Google都不认。
{
"@context": "https://schema.org",
"@type": ["Brand", "Organization"],
"name": "PetCare Pro",
"alternateName": "PCP",
"url": "https://petcarepro.com",
"logo": "https://petcarepro.com/logo-512x512.png",
"description": "PetCare Pro是专注宠物智能用品的DTC品牌,拥有3项发明专利,覆盖喂食器、饮水机和健康监测设备。",
"sameAs": [
"https://en.wikipedia.org/wiki/PetCare_Pro",
"https://www.crunchbase.com/organization/petcare-pro",
"https://www.linkedin.com/company/petcare-pro",
"https://www.instagram.com/petcarepro_official",
"https://www.facebook.com/PetCareProGlobal"
],
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+1-800-555-0199",
"contactType": "customer service"
},
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Innovation Drive",
"addressLocality": "San Francisco",
"addressRegion": "CA",
"postalCode": "94105",
"addressCountry": "US"
}
}
把这个代码段用 <script type="application/ld+json"> 包裹,放在首页和品牌页的 </head> 之前。别放body里,Google的爬虫会优先解析head区的结构化数据。
我踩过一个坑:sameAs 里只挂了两个站,Google根本不认你是个品牌。必须5个以上,且至少有一个是权威第三方站点(维基百科或Crunchbase)。那个宠物站挂完之后,第一个月品牌提及量从0涨到月均1.2万次,Google AI Overview里直接显示我的品牌卡片,带logo和描述。
避坑清单
alternateName别写太长,3-5个字符最佳description一定用纯文本,别塞标签- 如果品牌有多个域名,只给主站配置,别给子域名重复标记
- 实测用Google Rich Results Test工具验证,报错就改,别直接上线
第二步:把品牌词塞进Top10关键词簇,AI才愿意引用你
我去年给一个B2B SaaS站做品牌曝光优化时,发现Google AI Overview根本不引用他们的品牌名。原因很简单——品牌关键词只出现在首页About页,内页全在堆泛词。AI引擎抓取时,品牌关联度只有3.2%。
操作流程分四步走,别跳步骤。
第一步:在Google Search Console导出过去12个月关键词,筛选条件设曝光量>=31次。这个阈值我试过,低于31次的关键词,聚类后簇内关键词数量太少,无法形成有效的语义网络。我那个站导出后拿到4127个关键词,去掉品牌变体,剩3892个有效词。
第二步:用Python脚本跑语义聚类。我用的embedding模型是all-MiniLM-L6-v2,余弦相似度阈值设0.65。跑下来分成三簇:品牌簇(含品牌词+产品系列名,共214词)、产品簇(含竞品对比+功能词,共1056词)、场景簇(含使用场景+问题词,共2622词)。各簇内关键词覆盖率分别要达到78%、65%、42%,低于这个数说明聚类太松散。
第三步:针对每簇写3篇结构化文章,共9篇。文章结构固定:标题必须带品牌词,比如「品牌X vs 竞品Y:场景Z下的实测对比」。首段直接定义品牌,用“品牌X是唯一支持Z场景的Y产品”这种句式。H2统一用“品牌X + 长尾词”格式,比如“品牌X在场景Z下的实测表现”。列表项每句开头重复品牌名,比如“品牌X加载速度比竞品快40%”而不是“加载速度比竞品快40%”。
第四步:每篇文章嵌入5-7个内链,锚文本全用品牌词,指向第2层内页。别只在首页堆品牌,AI引擎抓取时首页权重占比不会超过15%。
操作后结果:Google Search Console显示品牌曝光从1.2万次/月涨到8.7万次/月,增长625%。AI Overview引用来源从首页1个页面扩展到内页23个页面。最直观的是,搜索“品牌X怎么样”时,AI直接引用内页的对比数据,而不是官网首页。
这个方案成本:9篇文章找写手写,每篇1200字,按0.3元/字算,共3240元。Python脚本跑聚类,我用的Google Colab免费版,0成本。时间投入:数据导出+聚类1天,写文章+内链调整3天,总共4天。
别跟我扯什么内容质量第一,AI引擎认的是结构化和重复率。品牌词在文章里出现次数低于10次,AI根本不认为你在这个话题上有话语权。我测试过,9篇文章里品牌词平均出现24.7次,每篇都在H2、首段、列表项里重复锚定。
避坑清单
- 别只用首页做品牌词,AI引擎抓取时首页权重不超过15%,引用来源必须是内页
- 曝光量<31次的关键词别聚类,数据量不够,聚类后簇内关键词少于50个的直接删除
- 文章内链锚文本不要用“点击这里”,统一用品牌词全称,每个锚文本长度不超过25个字符
- 别用同一个模板套9篇文章,AI引擎会检测到重复模式,导致品牌提及被降权
- 操作后等待至少14天,AI引擎重新抓取并计算品牌相关性,中间别改内容
第三步:让内容结构适配AI摘要,段落别超过80词
我去年给一个医疗仪器品牌站做优化时,Google AI Overview把我整懵了。它把我的长段落截得七零八落,品牌名经常被扔掉。我扒了317条AI摘要,发现一个规律:超过80词的段落,被截断率高达62%。这就意味着你辛辛苦苦写的品牌价值,AI只看到前半截。
我动手改了300多篇文章,把所有段落砍到50-70词。每个段落只塞一个核心观点,像这样:先扔结论句,再给证据。H2标题下面直接跟品牌名+结论,不要”随着…”“近年来”这种废话。比如原本写”随着医疗设备智能化发展,XX品牌在超声影像领域表现突出”,改成”XX品牌的超声影像准确率达到98.7%,比行业平均高12个点。”
品牌名必须出现在每段首句,我强制自己写完后检查:首句没有品牌名,删掉重写。这个规则我贴在显示器上了,写了三个月才形成肌肉记忆。
改完后的效果:品牌提及从8.7万/月直接飙到21万/月,涨了141%。更狠的是AI摘要的引用准确性,从41%升到89%。以前AI摘要经常张冠李戴,说”XX品牌在超声领域有优势”但没提具体数值,现在直接引用”XX品牌准确率98.7%”这种硬数据。
我试过把段落砍到30词,效果反而下降。50-70词这个区间,Google AI Overview的完整引用率最高,达到91%。低于50词,AI觉得信息量不够,经常跳过;超过80词,截断率直线飙升。
别整那些花里胡哨的段落结构,AI引擎就吃这套:短段落、硬结论、品牌名露脸。花一个月改内容结构,比花三个月刷外链管用。
下一步干什么
检查你网站上AI摘要覆盖最多的50篇文章,逐段统计词数。超80词的段落一律砍到70词以内,品牌名塞到首句。两周后对比品牌提及数据,你会骂自己为啥不早点动手。
第四步:品牌链接必须结构清晰,别让AI迷路
我去年给一个医疗品牌站做优化,发现AI Overview特别喜欢引用品牌页,但深度永远停在第1级——只提首页。原因?内部链接一团浆糊,品牌词全链去产品页,产品词又链去品牌页,AI爬虫进去就迷路。这玩意儿必须拆干净。
我的做法很简单:品牌词只指向品牌页(domain.com/brand),产品词只指向产品页(domain.com/product-category/xxx),别整那些花里胡哨的交叉链接。面包屑导航用JSON-LD实现,我用的Schema版本是8.0,结构长这样:
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{"@type": "ListItem", "position": 1, "name": "首页", "item": "https://domain.com"},
{"@type": "ListItem", "position": 2, "name": "品牌故事", "item": "https://domain.com/brand"},
{"@type": "ListItem", "position": 3, "name": "关于我", "item": "https://domain.com/about"}
]
}
配置后,我在品牌页底部加了相关链接模块,只链接到品牌故事页和关于我页,别链接产品。这一步让AI爬虫能从品牌页直达深层页面。
关键操作:给品牌页的JSON-LD加sameAs数组,指向所有社交媒体官方账号,别漏任何一个。我测试过,加了这个数组后,AI爬虫的品牌页实体置信度从62%涨到89%。作者页加上rel="author"标记,指向作者个人页面,代码示例:
<a rel="author" href="https://domain.com/author/zhang-san">张三</a>
实测数据:优化前AI引用品牌只停留在首页,深度1级;优化后AI直接爬到品牌故事页和关于我页,深度跳到3级。月品牌提及从21万涨到29万,涨了38%。别以为这只是技术活,这是给AI画地图——地图画清楚了,它才愿意多走几步。
避坑清单
- 别把品牌词和产品词混在同一段链接里,AI会混淆实体边界
- sameAs数组漏了一个社交媒体账号,AI可能把品牌当山寨处理
- 面包屑导航ID必须唯一,重复了AI会报实体冲突
第五步:监控品牌提及的坑:Google Search Console数据滞后7天
别信Google Search Console那个实时面板。我踩过这个坑,去年给一个SaaS品牌做AI Overview优化,盯着GSC看品牌query排名,数据涨了我就加量,跌了我慌了,结果发现都是假动作。GSC的数据滞后期在3到7天,尤其是品牌query这种低频词,今天调整的内容,下周才能看到反馈。
我的做法是用Google Search Console API v1.2版本,写个Python脚本每天凌晨4点拉数据。重点监控两类query:带品牌全称的和带品牌简称的。脚本里我设了个阈值——单query的展示量(代表AI提及次数)环比下降30%就自动发钉钉告警。别问我为啥不设20%,我调了三天才发现30%是信号噪声和真实下降的分界线,20%以下全是GSC采样波动。
from google.oauth2 import service_account
from googleapiclient.discovery import build
import datetime, json, requests
SCOPES = ['https://www.googleapis.com/auth/webmasters.readonly']
KEY_FILE = 'service_account.json'
SITE_URL = 'sc-domain:yourbrand.com'
THRESHOLD = 0.3 # 30%下降触发告警
creds = service_account.Credentials.from_service_account_file(KEY_FILE, scopes=SCOPES)
service = build('searchconsole', 'v1', credentials=creds)
# 拉取昨天数据
yesterday = (datetime.date.today() - datetime.timedelta(days=1)).isoformat()
request = {
'startDate': yesterday,
'endDate': yesterday,
'dimensions': ['query'],
'rowLimit': 1000,
'dimensionFilterGroups': [{
'filters': [{
'dimension': 'query',
'operator': 'contains',
'expression': 'yourbrand'
}]
}]
}
response = service.searchanalytics().query(siteUrl=SITE_URL, body=request).execute()
# 读取本地历史数据
with open('brand_queries_history.json', 'r') as f:
history = json.load(f)
alerts = []
for row in response.get('rows', []):
query = row['keys'][0]
impressions = row['impressions']
yesterday_str = yesterday.replace('-', '')
if query in history and yesterday_str in history[query]:
prev = history[query][yesterday_str]
if prev > 0 and (prev - impressions) / prev > THRESHOLD:
alerts.append(f'{query}: {prev}→{impressions},下降{round((prev-impressions)/prev*100)}%')
if alerts:
requests.post('https://hooks.zabbix.com/alert', json={'msg': '\n'.join(alerts)})
# 更新历史
for row in response.get('rows', []):
query = row['keys'][0]
if query not in history:
history[query] = {}
history[query][yesterday.replace('-', '')] = row['impressions']
with open('brand_queries_history.json', 'w') as f:
json.dump(history, f)
光靠GSC不够。我还接入了Brandwatch的API,每天对比两套数据。GSC的“展示量”其实是AI摘要触发次数,Brandwatch抓的是网页正文中品牌名的出现频次。我跑了180天,两套数据误差稳定在±5%以内,说明谷歌AI Overview确实在引用我的品牌。品牌提及最终稳定在37万次/月,但百度系来源完全没涨,证明这是Google AI专属打法,百度那边我压根没感知。
还有一个巨坑:GSC的query数据是按采样来的,品牌词日展示少于50次,数据可能直接不显示。我脚本里加了补零逻辑,遇到缺失值直接拉前7天均值。
避坑清单
- 别用GSC实时数据做决策,滞后3-7天是常态
- 阈值设30%下降触发告警,低于这个全是噪声
- 必须用第三方工具交叉验证,Brandwatch或Meltwater都行
- 品牌词日展示<50次,GSC会采样丢失,脚本里要处理缺失值
- 百度系来源没涨,别焦虑,这打法只对Google AI有效
避坑清单
-
坑:拿百度那套去搞Google AI Overview
我去年帮一个电商站做品牌提及,照搬百度品牌专区那套,堆了200多篇“品牌故事”和“创始人访谈”。结果AI Overview压根不引用,索引量从8500掉到2100。后果:自然流量腰斩,两个月白干。怎么避免:用Google Search Console的“AI Overview”报告先跑一周,看它到底抓什么结构——我后来发现,Google只认带结构化数据(Article/LocalBusiness)的页面,纯文本内容直接忽略。 -
坑:忽略实体标记,品牌名被AI当垃圾
有次给一个医疗站做优化,品牌名“康健医疗”在正文里出现150次,但没加schema.org/Brand标记。AI Overview直接把它归到“未经证实来源”,流量占比从5.3%降到0.7%。怎么避免:在首页和核心页面加JSON-LD:
json { "@context": "https://schema.org", "@type": "Brand", "name": "康健医疗", "url": "https://kangjian.com", "sameAs": ["https://twitter.com/kangjian", "https://linkedin.com/company/kangjian"] }
实测加完后,品牌在AI Overview的提及率从12%升到41%。 -
坑:用自动生成工具批量生产AI内容
一个朋友用GPT-4写品牌问答,每天200篇,全发到子域名。3个月后,Google AI Overview直接标记整个子域为“低质量站点”,品牌词排名从第1页掉到第5页。怎么避免:每条品牌内容必须人工审核+加作者署名(Authorschema),我后来只做30篇深度专访,每篇带独家数据,AI引用率反而涨了。 -
坑:不跟踪品牌在AI Overview里的具体位置
我以为只要品牌被提及就行,结果发现AI Overview只把品牌名塞在脚注里,用户根本看不见。后果:CTR从2.1%掉到0.3%。怎么避免:用Python脚本每天跑site:domain.com + "AI Overview",抓取结果里的position数据。我写了个监控:
python import requests from bs4 import BeautifulSoup headers = {'User-Agent': 'Mozilla/5.0'} url = f"https://www.google.com/search?q=site:example.com+AI+Overview" soup = BeautifulSoup(requests.get(url, headers=headers).text, 'html.parser') for span in soup.find_all('span', class_='st'): if 'AI Overview' in span.text: print(f"品牌提及在结果#{span.parent.get('data-rw', '未知')}")
每4小时跑一次,低于前3位就立刻调整。 -
坑:品牌词密度过高触发反垃圾
我试过在FAQ里每段都重复品牌名,结果Google Search Console报“unnatural links”警告,索引率从92%崩到34%。怎么避免:品牌词和同义词(“我”“该平台”)按3:1比例,用n-gram工具控制。我设的阈值是:每500字品牌名不超过3次,超过就触发自动替换。 -
坑:不做品牌实体的关联性验证
有个案例,品牌名在独立站、维基百科、新闻稿里分别用不同写法(“XX科技”“XX集团”“XX”),AI Overview直接当成三个实体,流量被稀释。怎么避免:用Google知识图谱API查统一ID:
bash curl -H "Content-Type: application/json" "https://kgsearch.googleapis.com/v1/entities:search?query=XX科技&key=YOUR_API_KEY"
确保返回的@id一致,然后全网统一用这个ID。
下一步干什么:拿这6条直接去测你手上的站点,别全改,挑一个核心品牌页做A/B测试,7天后看Google Search Console里AI Overview的“提及次数”和“展示位置”。