第一步:给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有效

避坑清单

  1. 坑:拿百度那套去搞Google AI Overview
    我去年帮一个电商站做品牌提及,照搬百度品牌专区那套,堆了200多篇“品牌故事”和“创始人访谈”。结果AI Overview压根不引用,索引量从8500掉到2100。后果:自然流量腰斩,两个月白干。怎么避免:用Google Search Console的“AI Overview”报告先跑一周,看它到底抓什么结构——我后来发现,Google只认带结构化数据(Article/LocalBusiness)的页面,纯文本内容直接忽略。

  2. 坑:忽略实体标记,品牌名被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%。

  3. 坑:用自动生成工具批量生产AI内容
    一个朋友用GPT-4写品牌问答,每天200篇,全发到子域名。3个月后,Google AI Overview直接标记整个子域为“低质量站点”,品牌词排名从第1页掉到第5页。怎么避免:每条品牌内容必须人工审核+加作者署名(Author schema),我后来只做30篇深度专访,每篇带独家数据,AI引用率反而涨了。

  4. 坑:不跟踪品牌在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位就立刻调整。

  5. 坑:品牌词密度过高触发反垃圾
    我试过在FAQ里每段都重复品牌名,结果Google Search Console报“unnatural links”警告,索引率从92%崩到34%。怎么避免:品牌词和同义词(“我”“该平台”)按3:1比例,用n-gram工具控制。我设的阈值是:每500字品牌名不超过3次,超过就触发自动替换。

  6. 坑:不做品牌实体的关联性验证
    有个案例,品牌名在独立站、维基百科、新闻稿里分别用不同写法(“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的“提及次数”和“展示位置”。