AI 不点击你的网站:GEO 三层模型+监测管道全拆解
上周我打开 ChatGPT、Claude、Perplexity,分别问同一个问题——”推荐一款适合程序员的机械键盘”。三家 AI 的品牌推荐重合度不到四成;我常年关注的一个国产品牌,三次里一次都没出现过——但它的 Google 排名没掉、SEO 团队还在按月交关键词报告。
如果你手上也有一个正在”卖东西”或”打品牌”的网站,我建议你今天就去做一次同样的测试。因为你的 SEO 资产很可能已经在一个你看不见的渠道里悄悄贬值,而这条渠道没有 Google Analytics、没有 Search Console,甚至没有官方仪表盘。
一句话核心判断:搜索引擎时代品牌靠”被搜到”吃饭,生成引擎时代品牌靠”被 AI 记住并复述”吃饭——这是一场比”手机替代 PC”更彻底的入口迁移。
这篇想给你讲清楚三件事:
-
1. AI 到底怎么”决定”推荐哪个品牌(三层模型) -
2. 为什么 SEO 的那套抓手在 GEO 上大部分失效(机制层差异) -
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 推不推荐你”。对应到工程动作:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
一个工程师的直觉应该立刻反应过来:第二层是最容易上手、见效最快的战场——它几乎就是”给 AI 看的前端工程”。
节奏变化点 · 一句暴论:SEO 是做给爬虫看的,GEO 是做给一个会读、会推理、会复述,但就是不会点击的新物种看的——你的落地页从”终点”,变成了”它引用的一段素材”。
三、为什么 SEO 的那套抓手在 GEO 上大部分失效
这张对比表能让你一眼看出工程动作要怎么换:
|
|
|
|
|
|
|
|
几乎无效
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Schema.org
|
|
|
|
|
|
|
|
|
|
|
我的判断是: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 |
|
|
llms.txt
|
|
|
<meta> |
|
|
这里我不展开”允不允许 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 你自己被提到的次数”**,我们一起看哪个行业的”静默贬值”最严重。
夜雨聆风