SEO · GEO · AEO

网站 AEO 优化权威指南

中介变了。它不再是一串蓝色链接,而是一个会阅读、总结并决定引用谁的语言模型。为这个模型做优化,自有一套方法,本文把它讲全。

本指南基于 Transgenia(特兰斯赫尼亚)于 2026 年 3 月至 7 月在 transgenia.org 上实际执行的优化项目撰写。所有示例都是我们真正落地并在生产环境验证过的措施,而非理论。

0. 什么是 AEO(以及为什么只做 SEO 已经不够)

SEO(搜索引擎优化)的目标,是让真人在结果列表里点击一条蓝色链接。AEO(答案引擎优化)及其近亲 GEO(生成式引擎优化)的目标,则是让答案引擎(ChatGPT、Claude、Perplexity、Google AI Overviews、Bing Copilot)在生成回答时理解、信任并引用你的内容。

根本的转变在于:中介不再是一个搜索结果页(SERP),而是一个语言模型。这个模型不会“点击”。它阅读、总结、判断什么是可信来源,并决定归属于谁。为 AEO 优化,意味着让你的网站可被机器读取、以知识的方式结构化、并且可被证明是值得信任的

本指南的核心论点,也是 Transgenia(特兰斯赫尼亚)作为一家 AI 精品咨询公司 的判断,其实很简单:最强的 AEO 形式不是描述你做什么,而是让你自己的网站运行受治理的 AI,让引擎能够观察并引用。正所谓“鞋匠自己也穿好鞋”。

四层 AEO 金字塔:技术基础、结构化内容、可被引用的实体,以及活的 AI 演示。
Mermaid 元结构
flowchart TB
    subgraph N4["第 4 层 · 活的 AI 演示(差异化)"]
        D["带引用的 RAG 智能助理 · 受治理 · 符合 LFPDPPP"]
    end
    subgraph N3["第 3 层 · 可被引用的实体"]
        C["llms.txt · JSON-LD Organization/knowsAbout · FAQPage · es/en/zh 一致性"]
    end
    subgraph N2["第 2 层 · 结构化内容"]
        B["问答 / FAQ · 单一数据源 faq.json · 基石博客 · feed 数据源"]
    end
    subgraph N1["第 1 层 · 技术基础"]
        A["面向 AI 爬虫的可抓取性 · 性能(LCP)· 有效的结构化数据"]
    end
    N1 --> N2 --> N3 --> N4
    style N4 fill:#E14228,color:#fff
    style N3 fill:#FB6C25,color:#fff
    style N2 fill:#FBA225,color:#101820
    style N1 fill:#22A088,color:#fff
它自下而上构建:没有技术基础,上层内容根本不会被读取;没有 AI 演示,你和所有只“声称”用 AI 的人没有区别。

1. 第 1 层:技术基础

AI 引擎无法引用它抓取不到的内容,也无法引用加载太慢、以至于爬虫中途放弃的内容。

1.1 面向 AI 爬虫的可抓取性(几乎所有人都跳过的一步)

robots.txt 必须明确允许 AI 爬虫,而不只是 Googlebot。在 Transgenia(特兰斯赫尼亚),我们逐一按名称启用了:GPTBotOAI-SearchBotClaudeBotClaude-UserClaude-SearchBotPerplexityBotGoogle-ExtendedApplebot-Extendedbingbot,以及面向中文市场(ZH)的中国搜索引擎(BaiduspiderSogou360SpiderYisouSpiderBytespider)。

昂贵的坑: 在 Cloudflare 上,边缘节点的 “Managed Content Signals”(托管内容信号)设置可能会覆盖你在 robots.txt 里的 Allow 规则,即使文件写的相反,也会屏蔽 AI 爬虫。如果你的目标是被引用,就必须在控制台里关闭它。单靠文件是不够的。

我们采用的两条外科手术式规则:Disallow: /cdn-cgi/(一个返回 4xx、污染 Bing WMT 的 Cloudflare 内部端点)以及 Disallow: /assets/docs/(隐私声明 .docx 文件,不应消耗抓取预算)。其余全部可抓取。

1.2 性能:加载慢,就不会被引用

我们用 PageSpeed Insights 测量了真实基线,而不是第三方报告:移动端性能分 56,LCP 20.8 秒。根本原因只有一个。可变字体 Material Symbols Rounded 高达 5.2 MB(占总负载的 44%),并在 36 个页面的关键渲染路径上加载,而整个网站只用到 3 个图标

修复方式:在使用它们的 3 个页面上通过 &icon_names=auto_awesome,cloud_sync,inventory_2&display=block 做子集化,并在不使用的 33 个页面上删除 <link>。结果:5.2 MB 降到 3.7 KB(99.9%),并在真实浏览器中验证(显示 18 像素的字形,而非回退文本)。

AEO 启示:性能不是装饰。慢网络下 20 秒的 LCP,意味着爬虫在读到你的内容之前就已经放弃。

1.3 有效的结构化数据

JSON-LD 的 OrganizationWebSiteWebPageServiceBreadcrumbList,以及对 AEO 至关重要的 FAQPage。硬性规则:结构化数据必须与页面上可见的内容一致,否则 Google 会忽略它(甚至可能惩罚)。因此我们把 FAQPage 与一个可见的 FAQ 区块一起生成,来自同一个单一数据源(见 §2.3)。

2. 第 2 层:以知识形式结构化的内容

2.1 llms.txt:直接面向机器的自我介绍

llms.txt 是放在根目录的一个文件,专门让大语言模型(LLM)一眼就理解你的实体。Transgenia(特兰斯赫尼亚)原先的版本把自己描述为“工业 4.0 咨询公司,Odoo 是其核心业务”,这破坏了重新定位,也向引擎传达了与公司当下形象不符的信息。我们把它重写为以“专注应用型 AI 的技术精品公司”开头,重新排列服务顺序(AI 优先),并为 AI 智能体加入一条明确说明,讲清定位以及每类数据分别存放在哪里。

2.2 在真正重要的地方放置 FAQPage

AI 页面(soluciones-ia.html)原本没有 FAQPage,而这恰恰是最需要引擎引用答案的页面。我们在 es/en/zh 三个语言版本中加入了可见的 FAQ 区块和 FAQPage JSON-LD,问答都扎根于真实内容(生产环境中的 Claude 工作流、以可观测性做度量、6 周的试点、负责任 AI 加 LFPDPPP、Odoo/WhatsApp 集成)。零编造。

2.3 单一数据源:faq.json

我们没有在 HTML、JSON-LD 和 i18n 中重复维护问题(那样会各自不同步),而是创建了 assets/data/faq.json 作为单一数据源,同时供给 FAQPage 和智能助理的 RAG 索引。目前它包含 5 个板块(AI、关于我们、诊所、贸易公司)共 54 个知识点,全部通过 grep 与真实页面核对验证。

传统 SEO 从关键词到外链到 SERP 排名到人类点击;AEO/GEO 从实体与事实到结构化问答到信任到 AI 回答中的引用。
Mermaid 元结构
flowchart LR
    subgraph SEO["传统 SEO"]
        K["关键词"] --> L["外链"] --> S["SERP 排名"] --> Click["人类点击"]
    end
    subgraph AEO["AEO / GEO"]
        E["实体与事实"] --> Q["结构化问答内容"] --> T["信任 / 证据"] --> Cita["AI 回答中的引用"]
    end
    SEO -. 演进 .-> AEO
    style SEO fill:#eef,stroke:#88a
    style AEO fill:#E14228,color:#fff
传统 SEO 追求点击;AEO 追求引用。目标不同,优化方式也不同。

3. 第 3 层:成为一个连贯、可被引用的实体

3.1 信息一致性(人和机器读到的是同一件事)

我们把价值主张统一为 “超越生产的技术 · 技术精品公司”,覆盖 45 处界面(hero、meta 标签、og/twitter、关于我们、JSON-LD 的 knowsAbout),并同步到 es/en/zh。knowsAbout 现在以人工智能、生成式 AI、RAG、受治理的 AI 智能体领衔。一个交叉核对你的首页、关于页、llms.txt 和 schema 的引擎,必须在所有这些地方读到同一个身份

三语的坑:在本网站上,EN/ZH 的文案是内嵌在页面中的,而 ES 在运行时由 i18n 覆盖,所以你必须两边都改,否则改动会被回滚。

3.2 索引卫生(GSC + Bing WMT)

我们梳理了 Google Search Console 和 Bing Webmaster Tools 的发现:超过 70 字符的标题被缩短;过短的标题扩展到 50–60 字符;补上缺失的 H1/cdn-cgi/l/email-protection 的 4xx 用 Disallow 解决。区分信号与噪声很重要。“带重定向的页面”(http 到 https、www 到 apex 的规范化)无需处理;“已发现但未编入索引”则通过申请收录来解决,而不是去改代码。

时序图:AI 爬虫请求抓取,robots.txt 允许,读取 llms.txt 和带结构化数据的页面,索引并引用 transgenia.org 作为来源。
Mermaid 元结构
sequenceDiagram
    participant B as AI 爬虫(GPTBot/ClaudeBot)
    participant R as robots.txt / Cloudflare 边缘
    participant P as 页面(HTML + JSON-LD + FAQPage)
    participant L as llms.txt
    participant M as 答案引擎
    B->>R: 我可以抓取吗?
    R-->>B: 允许(AI 爬虫已启用,Managed Content 已关闭)
    B->>L: 读取实体(Transgenia 是谁)
    B->>P: 读取内容 + 结构化数据
    P-->>B: FAQPage 问答 + Service + Organization
    B->>M: 索引实体 + 事实 + 来源
    Note over M: 用户提问“在拉美谁做 Odoo+AI?”
    M-->>M: 检索可被引用的事实
    M->>P: 引用 transgenia.org 作为来源
发现、理解、引用。每一环都依赖上一环:如果爬虫无法抓取,后面的一切都不会发生。

4. 第 4 层:让你的网站演示 AI(差异化所在)

这里就是把一家 AI 精品公司与所有只嘴上说说的公司区分开来的一招:在网站本身上放一个 AI 智能助理(concierge),对你的内容做 RAG,带来源引用地回答问题,受治理且尊重隐私。它同时是三样东西:你能力的活演示、强化你实体的对话式内容,以及一台线索捕获机。

4.1 架构(PII 留在墨西哥,符合 LFPDPPP)

架构:访客对墨西哥 VPS 上的 PocketBase 注册(PII),获得带不透明 sid 的 JWT,对话发往 Cloudflare Worker,Worker 查询 Qdrant 和 OpenAI 但看不到联系数据。
Mermaid 元结构
flowchart TB
    U["访客(浏览器)"]
    subgraph EDGE["Cloudflare(边缘)"]
        W["Worker /api/concierge/*"]
        KV["(KV:限流、配额、封禁)"]
    end
    subgraph VPS["墨西哥 VPS(LFPDPPP)"]
        PB["PocketBase · 注册 + 线索(PII)"]
        NGINX["nginx /pb/*"]
    end
    subgraph CLOUD["服务"]
        QD["(Qdrant Cloud · 向量)"]
        OAI["OpenAI · 向量嵌入 + gpt-4.1-mini"]
    end
    U -- "注册(Turnstile)" --> NGINX --> PB
    PB -- "会话 JWT(不透明 sid)" --> U
    U -- "对话 {sid, 消息}" --> W
    W <--> KV
    W -- "嵌入 + 检索" --> QD
    W -- "带引用生成" --> OAI
    W -- "不透明日志(无 PII)" --> NGINX
    style VPS fill:#22A088,color:#fff
    style EDGE fill:#FB6C25,color:#fff
PII 只存放在墨西哥 VPS 上的 PocketBase。Worker 和 OpenAI 只看到一个不透明 id 和查询文本。

关键的隐私决策: PII(名、姓、邮箱、电话)只存放在 PocketBase,位于墨西哥的 VPS 上。注册时签发一个带不透明 id(sid)的 JWT;Worker 和 OpenAI(美国)只会看到 {sid, 查询文本}。没有任何联系数据跨境。这不仅是 LFPDPPP(墨西哥个人数据保护法)合规,更是一个 E-E-A-T 和各引擎都会奖励的信任信号

4.2 RAG 流水线(为什么回答可被引用而非编造)

RAG 流水线:构建期把博客和 faq.json 索引进 Qdrant;运行时嵌入查询、top-k 检索,若相似度不超过 0.35 则回答“无文档”而不调用 LLM;若超过,则由 gpt-4.1-mini 带引用回答。
Mermaid 元结构
flowchart LR
    subgraph INGEST["数据摄入(构建期)"]
        SRC["blog-src/*.md + faq.json"] --> CH["分块 ~1200 字符"] --> EM1["向量嵌入 text-embedding-3-small"] --> UP["写入 → Qdrant(397 个点)"]
    end
    subgraph RUNTIME["运行时(每次查询)"]
        Q["用户查询"] --> EM2["嵌入查询"] --> SR["在 Qdrant 中 top-k 检索"]
        SR --> TH{"相似度 ≥ 0.35?"}
        TH -- 否 --> NF["“文档中没有” + CTA(不调用 LLM)"]
        TH -- 是 --> GEN["gpt-4.1-mini 结合上下文"] --> CIT["流式回答 + 引用"]
    end
    UP -. 索引 .-> SR
    style NF fill:#FBA225,color:#101820
    style CIT fill:#22A088,color:#fff
决定成败的细节:如果检索没有超过阈值,智能助理不会调用模型。它不编造服务,也不编造价格。

保护你声誉的原则是零编造。如果检索没有超过阈值,智能助理不会调用模型。它回答“我的文档里没有这个,预约一次通话吧”。它在每个回答里引用来源页面。这正是 AI 引擎所看重的那份纪律。

4.3 治理:限流、反滥用与预算

控制平面:每个请求在到达 RAG + 生成之前,都要经过 IP 封禁、有效 JWT、prompt 注入、限流和当日预算。
Mermaid 元结构
flowchart TB
    REQ["对话请求"] --> IPB{"IP 被封禁?"}
    IPB -- 是 --> BLOCK["403 + 通知管理员页面"]
    IPB -- 否 --> JWT{"会话 JWT 有效?"}
    JWT -- 否 --> R401["401"]
    JWT -- 是 --> INJ{"prompt 注入?"}
    INJ -- 是 --> RJ["422 + 记过(3 次 → 封 IP)"]
    INJ -- 否 --> RLM{"≤ 3/分钟 且 ≤ 15/周?"}
    RLM -- 否 --> R429["429 + 通话 CTA"]
    RLM -- 是 --> BUD{"当日预算充足?"}
    BUD -- 否 --> R503["503(熔断开关)"]
    BUD -- 是 --> RAG["RAG + 生成"]
    style BLOCK fill:#E14228,color:#fff
    style RAG fill:#22A088,color:#fff
这一切都发生在边缘节点、花掉任何一个 OpenAI token 之前。用来抵御爬虫和滥用的预算保护。

真人身份通过注册时的 Turnstile 来保证;各项反滥用判据(按电话/IP 刷注册、带 MX 检查的一次性邮箱、突发请求、prompt 注入)各就各位,各归其所。

4.4 决策矩阵:价值优先,面向成交

商业矩阵:智能助理对消息分类,给出带引用的价值,用 BANT 精简版做资格评估,并根据意向转交人工或引导到正确的 CTA。
Mermaid 元结构
flowchart TB
    IN["用户消息"] --> CLASS["分类:服务线 + 垂直行业 + 购买阶段"]
    CLASS --> VALUE["提供真实、落地且带引用的价值"]
    VALUE --> QUAL["资格评估(BANT 精简版:需求、紧迫性、数据、契合度)"]
    QUAL --> HIGH{"高意向?"}
    HIGH -- 是 --> HUMAN["转交人工(Calendly / 报价)"]
    HIGH -- 否 --> CTA["引导至正确的 CTA(页面 / 估算器 / 演示)"]
    style VALUE fill:#22A088,color:#fff
    style HUMAN fill:#E14228,color:#fff
智能助理既不是免费的神谕,也不是死缠烂打的推销员:它真正解决问题,同时并行地引导到正确的下一个商业步骤。

4.5 受控的网页搜索(兜底)

当网站自身的 RAG 不够用、且话题相关时,智能助理可以使用网页搜索(Responses API 的 web_search 工具,同一个 API key,零新增密钥),配合确定性的开关、上限(每 sid 每周 3 次、每天 15 次)、反注入(网页内容是数据,绝非指令),以及一条硬性规则:它绝不用网页来回答关于 Transgenia 的问题,那只能来自网站自身的内容。默认关闭,通过变量开启。

5. 横向层:面向机器的信任与 E-E-A-T

AEO 奖励的东西和 E-E-A-T 一样,只不过要能被机器读取:证据、治理与诚实。Transgenia(特兰斯赫尼亚)让以下这些变得可观测:

6. 度量(没有证据就没有 AEO)

信号 工具 关注什么
索引 / 错误 Google Search Console、Bing WMT 覆盖、标题、meta、H1、4xx
AI 引擎中的引用 Ahrefs Brand Radar AI 回答中的提及与声量占比
性能 PageSpeed / Lighthouse(多区域) LCP、TBT、负载(跑 3 次以上,而非 1 次)
智能助理 Worker 日志 + 每周摘要 查询量、线索、“无文档”比率

黄金法则(GREEN 的定义):绝不通过核对产物(代码、提交)来宣布某件事“完成”。只有可观测的效果才算数:对生产环境的 curl、索引里的记录、数据库里的线索。

GREEN 循环:变更、部署,若有可观测效果(curl、索引、线索)则标记 GREEN;否则待验证并回到变更。
Mermaid 元结构
flowchart LR
    C["变更"] --> D["部署"] --> OBS{"有可观测的效果?"}
    OBS -- "是(curl/索引/线索)" --> GREEN["GREEN ✓(记录 + 日记)"]
    OBS -- "否" --> PEND["待验证(缺什么、谁负责、截止日期)"]
    PEND --> C
    style GREEN fill:#22A088,color:#fff
    style PEND fill:#FBA225,color:#101820
一个“已提交但未部署”的变更不算完成。只有生产环境中可观测的效果才能闭合这个循环。

7. 项目的时间线(Transgenia 实际执行的)

项目时间线:技术基础(7 月 17-18 日)、实体与内容(7 月 18-19 日)、AI 演示(7 月 19-21 日)。
Mermaid 元结构
flowchart LR
    subgraph F["技术基础 · 7 月 17-18 日"]
      A1["GSC / Bing 梳理 + robots"] --> A2["性能:Material Symbols 5.2MB→3.7KB"]
    end
    subgraph E["实体与内容 · 7 月 18-19 日"]
      B1["重新定位 es/en/zh"] --> B2["llms.txt + JSON-LD + feed"] --> B3["faq.json + FAQPage"]
    end
    subgraph D["AI 演示 · 7 月 19-21 日"]
      C1["下线 Odoo 聊天"] --> C2["智能助理后端(Worker + RAG)"] --> C3["组件 + 部署 + 生产 GREEN"] --> C4["AI 估算器 + 网页搜索"]
    end
    F --> E --> D
    style F fill:#22A088,color:#fff
    style E fill:#FB6C25,color:#fff
    style D fill:#E14228,color:#fff
三个环环相扣的工作块,都有真实日期。技术基础在先;AI 演示在最后。

8. 可执行的行动手册(清单)

技术基础

实体与内容

AI 演示(进阶)

度量

如何应用到你的企业

以上没有一条是 AI 精品公司专属的。同样的纪律适用于任何在 2026 年决定认真对待自己在答案引擎面前形象的企业:先打好技术基础,再建立连贯、可被引用的实体,最后,如果条件允许,做一个活的能力演示。在 Transgenia(特兰斯赫尼亚),我们先在自己的网站上落地这套方法,才会向别人提议。想看它如何落到你的行业,我们的 AI 解决方案 页面按行业做了说明。

常见问题

SEO、GEO 和 AEO 有什么区别?
SEO 优化的是让你进入搜索引擎的结果列表,让人点击。GEO(生成式引擎优化)致力于让 ChatGPT 或 Perplexity 这样的生成式引擎把你当作来源引用。AEO(答案引擎优化)更进一步:它致力于让引擎的回答直接给出你是谁、你做什么,而不强迫用户点击。在 2026 年,三者都值得优化,因为买家会同时查询三者。

如何允许 AI 爬虫抓取我的网站?
robots.txt 中,按爬虫名称写明确的 Allow 规则(GPTBotClaudeBotPerplexityBotGoogle-Extended 等)。注意 Cloudflare:它的 “Managed Content Signals” 设置可能从边缘覆盖这些规则,即使你的文件写的相反。你需要在控制台里检查,而不只是看文件。

结构化数据(JSON-LD)能提升 AEO 吗?
有帮助,但有一个前提:schema 必须与页面上可见的内容一致。没有真实 FAQ 区块的 FAQPage 可能被忽略甚至惩罚。从单一数据源生成 JSON-LD,让它永远不会与用户看到的文字脱节。

什么是 llms.txt,它有什么用?
它是放在网站根目录的一个文件,让语言模型一眼理解你的实体:你是谁、做什么、每类数据存放在哪里。它不替代内容,但给引擎一份干净、以你真实差异化点领衔的摘要。

做 AEO 一定需要在网站上放聊天机器人吗?
不是必须的。第 1 到第 3 层(技术基础、结构化内容和可被引用的实体)已经能推动指标。一个会引用来源、并承认自己不知道的 RAG 助手是第 4 层:用演示能力来代替仅仅声称能力的差异化。它是可选的,但正是一家 AI 精品公司与其他公司拉开距离的地方。

← 返回博客