乐于分享
好东西不私藏

AI 不点击你的网站:GEO 三层模型+监测管道全拆解

AI 不点击你的网站:GEO 三层模型+监测管道全拆解

上周我打开 ChatGPT、Claude、Perplexity,分别问同一个问题——”推荐一款适合程序员的机械键盘”。三家 AI 的品牌推荐重合度不到四成;我常年关注的一个国产品牌,三次里一次都没出现过——但它的 Google 排名没掉、SEO 团队还在按月交关键词报告。

如果你手上也有一个正在”卖东西”或”打品牌”的网站,我建议你今天就去做一次同样的测试。因为你的 SEO 资产很可能已经在一个你看不见的渠道里悄悄贬值,而这条渠道没有 Google Analytics、没有 Search Console,甚至没有官方仪表盘。

一句话核心判断:搜索引擎时代品牌靠”被搜到”吃饭,生成引擎时代品牌靠”被 AI 记住并复述”吃饭——这是一场比”手机替代 PC”更彻底的入口迁移。

这篇想给你讲清楚三件事:

  1. 1. AI 到底怎么”决定”推荐哪个品牌(三层模型)
  2. 2. 为什么 SEO 的那套抓手在 GEO 上大部分失效(机制层差异)
  3. 3. 怎么自己动手搭一条 GEO 监测管道(伪代码 + 思路)

工程师视角,不讲营销话术,只讲代码层面能看见的东西。


一、SEO 为什么会”静默”贬值——链路断在哪一步

先把旧链路和新链路摆在一起看:

[旧链路 · SEO 时代]  用户提问 ──► 搜索引擎 ──► SERP 排名列表 ──► 点击进站 ──► 品牌页面 ──► 转化                              ▲                          ▲                              │                          │                        关键词 + 外链                品牌的主战场[新链路 · GEO 时代]  用户提问 ──► 生成引擎(ChatGPT / Claude / Perplexity / AI Overviews)                              │                              ├──► 直接给出答案(含 / 不含品牌推荐)                              │                              └──► 可能附带几条外链(大多数用户不点)                                            ▲                                            │                                   品牌只剩这一瞬间的"出现权"

差异的工程含义是:旧链路里”被搜到”和”进站”是两个动作,SEO 只要搞定第一个新链路里这两个动作被压缩成一个”是否被复述”——用户拿到答案就走了,你的落地页不再是战场,AI 输出的那几个 token 才是。

这就是”静默贬值”的机制:

  • • 你的关键词排名没掉(Google 那边数据还在)
  • • 你的落地页没变(PV 报表月环比可能只掉了几个点)
  • • 但你在 AI 答案里的出现频次在掉,而这部分用户根本不会进入你的 Google Analytics

换句话说,你在一个自己没有埋点、也拿不到日志的新渠道里,份额正在被悄悄重新分配。


二、AI 怎么”决定”推荐哪个品牌——三层模型

这是全文最核心的一张图。理解这三层,你才知道”做 GEO”到底该动哪里:

                   用户 prompt("推荐一款适合程序员的机械键盘")                                    │                                    ▼      ┌─────────────────────────────────────────────────────────┐      │  第一层:预训练语料中的"品牌先验"                          │      │   · Common Crawl 网页快照                                │      │   · Wikipedia / 百科类结构化条目                          │      │   · 高质量媒体报道、技术社区讨论(HN、Reddit、知乎)      │      │   · 学术论文、行业白皮书                                  │      │                                                          │      │   → 决定"模型知不知道这个品牌、把它和什么语境绑定"         │      └─────────────────────────────────────────────────────────┘                                    │                                    ▼      ┌─────────────────────────────────────────────────────────┐      │  第二层:RAG 实时检索(推理时增强)                        │      │   · 联网检索(Perplexity、Bing / Google Grounding)       │      │   · 官网是否可爬、是否有结构化数据                        │      │   · 最近的评测、价格、规格、社区情绪                      │      │                                                          │      │   → 决定"模型在当下这次回答里,能不能补到新鲜、可引用的事实" │      └─────────────────────────────────────────────────────────┘                                    │                                    ▼      ┌─────────────────────────────────────────────────────────┐      │  第三层:生成偏好(上下文 + 解码采样)                    │      │   · 系统提示词对"推荐几个、从哪些源取"的约束              │      │   · 品牌名在同类语境下的共现强度                          │      │   · 解码策略(temperature、top-p)带来的随机性             │      │                                                          │      │   → 决定"这一次回答里,到底把哪几个品牌写出来"             │      └─────────────────────────────────────────────────────────┘                                    │                                    ▼                        最终输出中出现的那几个品牌名

这三层合起来才是”AI 推不推荐你”。对应到工程动作:

层级
你能动的地方
你动不了的地方
第一层(预训练先验)
让自己出现在会被爬的高质量语料里
模型训练节奏、cut-off 日期
第二层(RAG 检索)
让官网可爬、可解析、结构化
对方用哪个检索引擎、召回排序
第三层(生成偏好)
通过语境共现影响语义表示
系统提示词、采样随机性

一个工程师的直觉应该立刻反应过来:第二层是最容易上手、见效最快的战场——它几乎就是”给 AI 看的前端工程”。

节奏变化点 · 一句暴论SEO 是做给爬虫看的,GEO 是做给一个会读、会推理、会复述,但就是不会点击的新物种看的——你的落地页从”终点”,变成了”它引用的一段素材”。


三、为什么 SEO 的那套抓手在 GEO 上大部分失效

这张对比表能让你一眼看出工程动作要怎么换:

维度
SEO 的抓手
在 GEO 里的效果
真正该做的事
关键词密度
堆满长尾词
几乎无效

,可能还被降权(低信息密度)
提升事实密度,每句话可引用
外链 DR
买链、换链
弱相关(模型不直接看 DR)
权威媒体/百科/论文真实引用
页面速度 / Core Web Vitals
压榨毫秒
对排名有用,对”被复述”基本无用
保证可爬、可解析(结构化优先)
关键词布局
H1/H2/meta 标签
有帮助但权重下降
Schema.org

 / JSON-LD 结构化数据
内容更新频率
月更、周更
有帮助
同时向多个语料源扩散,不只在自己站
可衡量性
Search Console + GA
看不到 AI 侧数据
自建AI 答案监测管道(本文第五节)

我的判断是:SEO 里”外部链接”这一块会最快贬值,”结构化数据”这一块会最快升值——因为前者是给 Google 排名算法的,后者是给”任何想读懂你网页的机器”的,包括 AI 爬虫。

顺便说一个最近被反复讨论的新约定:llms.txt。它的思路和 robots.txt 类似,放在网站根目录,告诉 LLM 爬虫哪些内容是”给模型读的精简摘要”。目前不是强制标准,各家支持度参差,但方向是对的——网站第一次需要为”非人类读者”单独排版


四、GEO 工程抓手——四件可立刻上手的事

下面四件事,我按”实施成本 / 见效速度”排了序,最上面的两件几乎是无脑动作。

抓手 1:把关键信息从”散文”改写成”可引用事实块”

AI 在生成时,更倾向复述结构清晰、可溯源的信息。对比:

❌ 散文式(AI 不爱复述):"作为业界领先的机械键盘品牌,我们致力于为追求极致体验的程序员用户提供卓越的产品解决方案……"✅ 事实块式(AI 更愿意引用):K500 型号,2024 发布。轴体:Cherry MX Blue,60g 压力,1 亿次寿命。对比:相比同价位产品,击键声更低。适用场景:办公、编程,不推荐电竞。

右边这种写法在人的眼里可能”没那么营销”,但在token 层面信息密度更高在向量空间里更容易被相似问题召回

一句话:散文是写给人看的,事实块是写给模型召回的。 这不是玄学,是 embedding 的基本机制。

抓手 2:给所有关键页加上 Schema.org / JSON-LD

结构化数据本来是给 Google Rich Results 准备的,但现在它的二次红利是 AI 爬虫可以直接解析。

<!-- 产品页模板(伪示例,字段精简) --><scripttype="application/ld+json">{"@context""https://schema.org","@type""Product","name""K500 机械键盘","brand": { "@type""Brand""name""你的品牌" },"description""面向程序员的客制化机械键盘","offers": { "@type""Offer""price""899""priceCurrency""CNY" },"aggregateRating": { "@type""AggregateRating","ratingValue""4.6""reviewCount""1280" }}</script>

工程上几乎零成本,收益是:当 AI 实时检索(第二层)抓到你这个页面时,它不用猜,能直接填进回答里。

抓手 3:在”AI 会去的语料源”里建立存在感

这句话的工程翻译是:别只在自己的官网发内容。把同一条可引用事实以不同形态,发到多个会被爬取、会被训练下一代模型看到的地方——权威媒体、行业百科、技术社区的真实讨论、开源项目的 README。

这一步传统 PR 团队会做,但他们做的是”品牌曝光”,你要做的是”事实沉淀“——让同一个事实在不同源被表达多次,增加它在下一轮预训练中被吸收的概率。

抓手 4:llms.txt / robots.txt 的新分工

现状(大方向,不是硬标准):

文件
作用
建议动作
robots.txt
传统爬虫准入规则
明确允许或禁止 GPTBot / ClaudeBot / PerplexityBot 等 UA
llms.txt

(提案)
给 LLM 爬虫的”精简地图”
列出核心产品页、FAQ、文档的”去噪版”入口
各页 <meta>
传统 SEO
保留,但不再是主战场

这里我不展开”允不允许 AI 抓”的伦理讨论——那是产品决策问题。工程上你只要知道:这个开关现在在你手里


五、实战:自己动手搭一条 GEO 监测管道(伪代码)

SEO 有 Google Search Console,GEO 没有官方仪表盘。但监测这件事的核心逻辑很简单:把主流 AI 当成黑盒,定期喂它一批问题,看它回答里你品牌的出现情况。

下面是一条最小可用管道的思路(所有代码都是伪代码级别的示意,重点看架构):

5.1 管道拓扑

┌──────────────┐   ┌────────────────┐   ┌──────────────┐   ┌─────────────┐│ 问题清单库   │──►│ 并发查询各 AI   │──►│ 回答解析       │──►│ 指标入库     ││ (prompts.yml)│   │ (OpenAI/Claude/ │   │ (提取品牌/竞对/ │   │ (时序 + 对比) ││              │   │  Perplexity...) │   │  情感/引用链) │   │              │└──────────────┘   └────────────────┘   └──────────────┘   └─────────────┘                                                                  │                                                                  ▼                                                        ┌─────────────────┐                                                        │ Dashboard /告警  │                                                        │ (份额、情感、竞对)│                                                        └─────────────────┘

5.2 问题清单的设计(最容易被忽视的一步)

好清单决定一切。至少覆盖三类 prompt:

# prompts.ymlcategories:-name:类目推荐型# "推荐一款 X"samples:-"推荐一款适合程序员的机械键盘"-"2026 年值得买的降噪耳机有哪些"-name:品牌对比型# "A 和 B 哪个好"samples:-"你的品牌 vs 竞品 A,在办公场景下哪个更合适"-name:问题解决型# "我想 X,该买什么"samples:-"我做长时间编码,手腕容易累,有什么键盘推荐"

经验值:一个细分品类至少 30 条 prompt,每周跑一次,才能看出有意义的波动。

5.3 并发查询(伪代码)

# 伪代码:ai_probe.pyfrom concurrent.futures import ThreadPoolExecutorENGINES = [    ("openai",      call_openai_chat),    ("anthropic",   call_claude),    ("perplexity",  call_perplexity),# 视需要加 Gemini / Kimi / 豆包 / 文心 ...]defprobe_one(prompt: str) -> list[dict]:    results = []with ThreadPoolExecutor(max_workers=len(ENGINES)) as pool:        futures = {pool.submit(fn, prompt): name for name, fn in ENGINES}for fut in futures:            name = futures[fut]try:                answer = fut.result(timeout=30)                results.append({"engine": name, "prompt": prompt, "answer": answer})except Exception as e:                results.append({"engine": name, "prompt": prompt, "error"str(e)})return results

要点:

  • • 多引擎并发:不同 AI 的分布差异很大,单看一家会骗自己
  • • 带 timeout:AI 接口抽风是常态,监测管道必须能降级
  • • 跑多次取均值:第三层”解码随机性”会让同一 prompt 不同次回答不一样,单次结果不能当证据,建议每 prompt × 每引擎 × 3~5 次

5.4 解析:从自然语言里抽出”品牌事件”

这步的目标是把一段 AI 回答,变成一行结构化记录。最稳的做法是再让一个 LLM 来做抽取——别自己写正则。

# 伪代码:extractor.pyEXTRACT_PROMPT = """你是品牌分析助手。从下面这段文本里抽取:1. 被提到的品牌列表(brand)2. 每个品牌被提到的位置(first / middle / last)3. 对每个品牌的情感倾向(positive / neutral / negative)4. 是否附带了可点击的引用链接(cited_url)只输出 JSON,schema:{ "mentions": [{ "brand": str, "position": str,                 "sentiment": str, "cited_url": str | null }] }文本:<<<{answer}>>>"""defextract(answer: str) -> dict:    raw = call_cheap_llm(EXTRACT_PROMPT.format(answer=answer))return safe_json_loads(raw)  # 做好解析失败兜底

几个工程细节:

  • • 抽取模型用便宜档(小模型足够),监测管道跑得勤,贵模型撑不住
  • • 做好 JSON 解析失败的兜底:不稳定是 LLM 常态,解析失败就落原文到”待人工复核”队列
  • • 品牌名归一化"苹果" / "Apple" / "苹果公司" 要映射到同一个 brand_id

5.5 入库与指标

最小指标集:

指标
含义
计算方式
提及率(Mention Rate)
我在多少比例的回答里被提到
带我品牌的回答数 / 总回答数
首位率(First-Mention Rate)
我是否经常被”第一个提到”
position=first 的次数 / 被提到次数
情感得分
被提到时是正面还是中性
情感标签加权平均
竞对共现矩阵
和哪些品牌”经常一起出现”
共现计数(这是竞品地图)
引用落地率
被提到时是否带外链
cited_url 非空的次数 / 被提到次数

每周拉一次趋势图,你就有了一份 SEO 团队从来没见过的新仪表盘。这东西自己造比买第三方工具便宜得多,而且数据自己可控。

5.6 从监测反哺生产(闭环)

监测的真正价值不在看,在。最简单的闭环:

发现:"我品牌在'长时间编码舒适度'相关 prompt 里几乎不出现"          │          ▼假设:预训练语料里这个特征和我的品牌没有强共现          │          ▼动作:在官网、测评合作、社区讨论里,系统性地把     "长时间编码" "手腕舒适" "久坐友好" 和品牌名绑定输出          │          ▼2-4 周后回测:提及率是否上升

这就是 GEO 最容易被忽视、但最值钱的一步——你不是在”刷存在感”,你是在给下一代模型的训练数据埋点


六、GEO 的不确定性——我不想给你讲成确定性趋势

工程师视角看 GEO,有几个坑必须先说清楚:

  • • 第三层的随机性:同一 prompt 同一模型,两次回答的品牌列表可能完全不一样。监测要靠多次均值,不要被单次结果吓到或激动
  • • 训练数据更新慢:主流基础模型的知识 cut-off 通常滞后数月到一年以上,你今天做的”第一层”动作,可能下一代模型才吃得到
  • • 各家权重差异大:ChatGPT、Claude、Perplexity、AI Overviews 的检索机制都不一样,不要迷信单一引擎的提及率
  • • 平台反向博弈:搜索引擎厂商也在做自家的 AI 答案(AI Overviews、SGE),SEO 的衰减曲线不会是一条光滑的直线,可能会有反弹
  • • 行业受冲击速度不一样:信息查询类和产品对比类先受冲击,交易闭环类(支付、机票、挂号)和强监管类(医疗、法律)有更长窗口期

我的判断:GEO 是一个确定会来、但节奏存疑的趋势。对大多数团队,安全策略是”SEO 继续做、GEO 开始做、用 12-18 个月把重心迁过去”。不是二选一。


核心结论

  • • SEO 在”静默”贬值:排名没掉、PV 微跌,但 AI 答案里的出现频次在悄悄被重新分配,而这部分数据不在你的埋点里
  • • AI 推荐品牌靠三层机制:预训练先验 + RAG 实时检索 + 生成偏好,动作要分层做,不是一句”我们上 GEO”就能解决
  • • GEO 最容易上手的是第二层:结构化数据、可爬性、llms.txt——这几件事工程成本极低、见效快
  • • 最有长期价值的是第一层:让同一条事实在多个权威源沉淀,给下一代模型的预训练埋点
  • • 监测可以自己搭:多引擎并发 + LLM 抽取 + 时序入库,一个周末能搭出 v1,比买工具可控
  • • GEO 不是 SEO 的升级版:关键词密度 / 外链 DR 这类老抓手大部分失效,新抓手是事实密度 + 结构化 + 语料扩散

对你的实际建议(按人群分)

  • • 独立开发者:GEO 监测工具赛道还很早,本文第五节那条管道稍微产品化就是一个 SaaS。这个周末可以动手
  • • 中小团队技术负责人:花两天把官网的 Schema.org / JSON-LD 补齐,把 robots.txt 里对主流 AI 爬虫的策略明确下来。这两件事 ROI 高得离谱。
  • • 内容 / SEO 团队:别再堆关键词了,开始训练”事实密度写作”。一个简单 KPI——每段话能不能被单独拎出来当作可引用事实
  • • 品牌 / 产品经理:立刻在 3 个主流 AI 里搜 10 个你行业的典型问题,数你品牌出现几次。低于 3 次就该警觉了,这是你的 GEO 基线。
  • • 架构 / 平台方向的开发者:理解这三层模型对你做 Agent、做 RAG 产品都有直接帮助——它本质上就是”信息怎么进入一个模型的回答”这个最底层问题。

一句话结语

搜索引擎时代,品牌靠”被搜到”吃饭;生成引擎时代,品牌靠”被记住并复述”吃饭。”被记住”是个工程问题,不是营销问题——别再让营销部一个人扛 GEO 了。


📄 说明:本文不含需要一手核验的具体市场数据;文中的机制描述基于公开可查的 LLM / RAG / 搜索系统通识,工程方案均为作者基于这些通识的独立整理,属于”作者判断”,请结合你自己的业务实际落地。

💬 互动引导:你上次在 ChatGPT / Claude / Perplexity 里搜自己公司或自己做的产品,是什么时候?结果有没有让你坐直?评论区报一下**”你的行业 + AI 里出现的竞品数 vs 你自己被提到的次数”**,我们一起看哪个行业的”静默贬值”最严重。