一句话定义

AIEO(AI Engine Optimization) 是一套让 AI 搜索与对话引擎(ChatGPT、Perplexity、Claude、Google AI Overviews 等)能抓取到、正确理解、并愿意引用你内容的做法。

它和传统 SEO 的关系是:目标相同(被看到、被引用),手段不同

一、先理解 AI 引擎怎么取内容

这一点决定了所有做法。AI 引擎获取内容主要有三条路径:

路径 说明 你要做的
训练语料 模型训练时抓取的静态快照 只能长期积累,无法短期干预
实时检索 回答问题时现场搜索并抓取网页 ✅ 主战场,可控
用户直接投喂 用户把链接发给 AI 让它总结 内容结构要便于提取

主战场是「实时检索」。这类爬虫(GPTBot、OAI-SearchBot、ClaudeBot、PerplexityBot)有一个关键特征:

绝大多数不执行 JavaScript。

这意味着:靠 JS 动态渲染出来的内容,对它们等于不存在。

第一步自查:关掉 JS,你的页面还剩什么

1
curl -s https://你的域名/某文章/ | wc -c

如果返回的 HTML 里正文是空的(只有一堆 <script> 和空容器),那 AI 爬虫看到的就是一个空页面。

对比一下浏览器渲染后的文本量:

1
2
// 在浏览器 Console 里跑
document.body.innerText.length

两个数字差距越大,AIEO 问题越严重。

二、五类必须做的改动

1. 内容必须在服务端渲染进 HTML

这是最根本的一条。做法取决于你的技术栈:

  • 静态站(Hugo/Hexo/Astro):天然满足
  • 服务端渲染框架(Next.js/Nuxt):确认用的是 SSR 而非 SSG 之外的纯客户端渲染
  • 纯 SPA(Vue/React CSR):需要改造成 SSR 或预渲染,否则 AIEO 无从谈起
  • WordPress:默认满足,但要注意有些页面构建器会把内容也做成 JS 渲染

2. 放行 AI 爬虫——并且确认边缘没拦

robots.txt 要显式放行:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
User-agent: GPTBot
Allow: /

User-agent: OAI-SearchBot
Allow: /

User-agent: ChatGPT-User
Allow: /

User-agent: ClaudeBot
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: Google-Extended
Allow: /

User-agent: Applebot-Extended
Allow: /

User-agent: CCBot
Allow: /

Sitemap: https://你的域名/sitemap.xml

但这一步常常是白做的。 如果你的站挂在 Cloudflare 之类的 CDN 后面,它可能会用浏览器挑战拦截非浏览器流量——AI 爬虫正好是这类流量。它们被挑战后不会执行 JS 解挑战,直接放弃。

自查方法(在服务器上跑,绕开 CDN):

1
2
# 直连源站,看是否返回正常内容
curl -s --noproxy '*' --resolve 你的域名:443:源站IP https://你的域名/ | head -5

然后在 CDN 面板确认没有对已知 AI 爬虫开启挑战。先确认边缘放行,再谈 robots.txt。

3. 结构要便于「片段提取」

AI 回答问题时不是整页照搬,而是抽出一段话作为依据。所以内容要写成「可被单独摘出来的形状」:

做到:

  • 每个小节只回答一个问题,标题即问题
  • 结论放在段首(先给答案,再给理由)
  • 用列表、表格承载并列信息
  • 关键数字写清楚单位和口径

避免:

  • 大段无小标题的连续文字
  • 「如前所述」「见上文」这类依赖上下文的表述(被摘出来就失去意义)
  • 把答案埋在第三段之后

4. 提供 llms.txt(可选但有帮助)

llms.txt 是一个放在站点根目录的纯文本文件,用 Markdown 结构告诉 AI 引擎「这个站是做什么的、重点内容在哪」。

它不是标准协议,目前也没有主流引擎明确承诺读取,但成本极低,做了没有坏处。基本格式:

1
2
3
4
5
6
# 站点名称

> 一句话说明这个站是什么。

## 核心内容
- [页面标题](https://域名/路径/): 一句话说明

5. 结构化数据补全

AI 引擎会读 JSON-LD。至少保证:

  • 文章页有 ArticleBlogPosting,含 datePublisheddateModifiedauthorpublisher
  • BreadcrumbList
  • 站点有 OrganizationWebSite

注意:JSON-LD 语法错一个字符,整块就失效,而页面上看不出任何异常。改完一定要用校验工具跑一遍。

三、四个常见误解

误解一:「加个 llms.txt 就能被 AI 引用」

不是。llms.txt 只是索引提示,能不能被引用取决于内容本身有没有回答价值

误解二:「AI 会读我的 JS 渲染内容」

主流 AI 检索爬虫不执行 JS。这条最容易被忽略,也最致命。

误解三:「AIEO 是 SEO 的替代品」

不是替代,是叠加。传统搜索仍然占大头,AI 搜索是新增的入口。两者共用的基础是:内容能被抓取、结构清晰、有权威性

误解四:「robots.txt 放行就够了」

还要过 CDN 那一关。这一层不做,前面全是白工。

四、优先级排序

如果只做三件事,按这个顺序:

  1. 确认正文在静态 HTML 里curl 验证,不看浏览器)
  2. 确认 AI 爬虫没被 CDN 拦截(直连源站验证)
  3. 把内容改成「问题即标题、结论放段首」的结构

这三件做完,再考虑 llms.txt、结构化数据、外链这些增量项。

五、怎么衡量效果

AIEO 的效果衡量比 SEO 难,因为 AI 引擎不提供 Search Console 那样的后台。可用的代理指标:

指标 怎么看
服务器日志里的 AI 爬虫访问量 grep 日志里的 GPTBotClaudeBot 等 UA
品牌词搜索量 Google Search Console 里品牌词的展示趋势
直接流量 分析工具里的 direct 来源变化
手动抽查 定期在 ChatGPT / Perplexity 里搜你所在领域的问题,看是否引用你

最后一条虽然土,但是最直接的验证方式。建议每月固定抽查 10 个问题,记录引用情况。