《你不知道的 GEO:AI 可见性的原理、实践与取舍》

作者: tw93

格式: 专栏文章
阅读时间预估: 4 分钟
作者: tw93•发布日期: 2026-07-03 10:50
给创造者的 GEO 教程:让 AI 主动找到你
给创造者的 GEO 教程:让 AI 主动找到你。
这几天有好几个小伙伴@我说,我的开源工具在他们问 AI 的时候被主动推荐了,啥也没做居然可以被收录,想着要不花一个小时把内容结构化整一整,应该会更好。我很讨厌去刷排名或者生产垃圾内容,更多想着让现有的内容对 AI 更可见,所以这篇文章不会教你投机,而是如何让 AI 更好理解你现有的内容本身。

AI 搜索跟传统搜索逻辑完全不一样:传统 SEO 拼的是进 Google 前 10,但 83% 的 AI Overview 引用来自排名前 10 之外的页面。AI 关注的是结构清晰、来源可靠,而跟 PageRank 关系不大。大站内容单薄的地方 AI 就能找到我,大概这就是为什么朋友们能搜到 Pake 和 MiaoYan。

为了让大家更清晰地了解整个优化链条,我将整个实操工作流总结为以下 7 个核心步骤:

GEO 7步实操工作流示意图
工作流:让 AI 发现、读取并引用你内容的 7 步闭环。

1. 用 robots.txt 分清爬虫类型

很多人把 robots.txt 当开关用,要么屏蔽 AI 爬虫要么全放开。但 AI 爬虫其实分好几类,做的事情不一样。

  • 训练爬虫 (Training Bots - 如 GPTBot, ClaudeBot, CCBot): 拿你的内容去训练模型。屏蔽它们可以让内容不进训练数据,但不影响当前的 AI 搜索结果。
  • 搜索和检索爬虫 (Search Bots - 如 OAI-SearchBot, Claude-SearchBot, PerplexityBot): 实时抓取内容来回答用户问题。屏蔽了这些,你就从 AI 搜索里消失了。
  • 用户触发爬虫 (User-triggered Bots - 如 ChatGPT-User, Claude-User): 只在用户把你的 URL 贴进聊天窗口时才触发。屏蔽了它们,用户让 AI "总结一下这个页面" 就会啥也拿不到。
AI 爬虫分类和放行规则表格
对比图:各家 AI 爬虫类型及其分类管理。

推荐的最佳实践做法是允许搜索/检索爬虫和用户触发爬虫,屏蔽训练爬虫和未声明爬虫:

# Search & retrieval: allow
User-agent: OAI-SearchBot
Allow: /

User-agent: Claude-SearchBot
Allow: /

User-agent: PerplexityBot
Allow: /

# User-triggered: allow
User-agent: ChatGPT-User
Allow: /

User-agent: Claude-User
Allow: /

# Training: block
User-agent: GPTBot
Disallow: /

User-agent: CCBot
Disallow: /

2. 写好 llms.txt 并让站点互相引用

llms.txt 是一个专门给 AI 看的新标准。在站点根目录放一个 Markdown 格式的文件,写清楚你的站点做什么、有哪些关键页面、作者是谁,AI 在检索内容的时候会优先读这个文件来理解你的内容。

llms.txt 真实部署截图
截图:放置于根目录的 llms.txt 声明文件。
# Your Project Name

> One-line description of what this is.

## Links

- [Documentation](https://yoursite.com/docs)
- [GitHub](https://github.com/you/project)

## About

Short paragraph explaining the project.

这里我还做了一个有意思的事:各站点的 llms.txt 互相引用,形成一个网状发现结构。我维护着几个站点,每个站点的 llms.txt 都引用其他站点,AI 不管从哪个入口进来都能顺着链接找到其他内容。

各站点 llms.txt 网状引用发现拓扑图
拓扑图:通过 llms.txt 互相连接形成的网状发现结构。

配置生效后,在 ChatGPT 搜项目名时,其引用来源和描述的精准度会有非常明显的提升。

ChatGPT 5.5 正确归因引用 kami 截图
实例:ChatGPT 5.5 搜索 “What is Kami” 并返回干净准确的来源引用。

怎么告诉 AI 你有 Markdown 版本,最简单的方式是在 HTML 页面 <head> 里加一行:

<link rel="alternate" type="text/markdown" href="/page.md" />
Markdown与HTML的Token损耗对比
对比图:相比渲染庞大冗余的 HTML 模板,Markdown 可以帮爬虫过滤掉 80% 以上的信息噪音与 Token 开销。

3. 去搜索平台录入你的站点

AI 引擎的底层仍然依赖搜索引擎的索引库。ChatGPT 的搜索走 Bing,Google AI Overview 走 Google 自己的索引,Perplexity 也依赖搜索 API。因此,确保 Google Search Console 和 Bing Webmaster Tools 已经收录你的站点是第一步。

对于 Bing 平台,推荐接入 IndexNow。在站点根目录放一个 API Key 验证文件,每次有新内容发布时向 IndexNow 接口发送一个 POST 请求,几分钟内 Bing 就会来完成抓取。

IndexNow 分发工作逻辑图
原理图:IndexNow 与 Sitemap 面向搜索引擎及下游 AI 的分发流。

4. 创建专门给 AI 看的知识网页与 API

与其等 AI 去各个站点零散地抓信息,不如给它一个集中的入口。我做的实现叫 Yobi(提供 llms.txt 概览、50KB 的 llms-full.txt、独立项目页面,以及四个 JSON 数据端点),数据从 GitHub API 实时拉取。

Yobi 主页截图
截图:Yobi 机器可读目录网主页。

API 返回非常干净且携带实时 GitHub Stars 的结构化 JSON 数据:

JSON API 接口返回值
API:/api/projects 返回的精简结构化 JSON 数据。

5. 给予每个项目一个独立页面与规范的 URL

每个项目需要自己的独立页面,是一个自包含的 Markdown 文档。使用描述性强的自然语言 URL slug(如 /projects/pake)的引用率,显著高于不透明的 ID(如 /page?id=47),因为规范的 Slug 在模型读取内容前就说明了页面的主题。

Pake 独立 Markdown 页面样式
文档示例:Pake 自包含项目文档 Markdown 页面。

子域名的权重通常不如主域名,因此,通过 GitHub Actions 将子站的结构化 Markdown 数据同步镜像到根域名(例如 `tw93.fun/llms.txt`),可确保爬虫一次抓取就能拿到所有上下文。

GitHub Action 数据同步示意图
流程图:使用 Actions 每日自动将 Yobi 内容分发至主站点目录。

6. 避坑指南:试了这些没用

  • <meta name="ai-content-url"> 和 <meta name="llms">:没有主流 AI 系统支持。
  • HTML 注释中放置 AI 指令提示词:解析器在 AI 读到内容前就会把注释剥掉。
  • JSON-LD 没你想的那么有用:LLM 就是把 ld+json 脚本当作普通文本来读,唯一确认有用的是 Bing/Copilot。

7. 研究报告怎么说 (Princeton & IIT Delhi 论文)

KDD 2024 发表的权威论文表明:加入权威引用提升 AI 可见性 115%,直接引用可信来源提升 43%。

GEO 权威论文研究数据柱状图
数据:不同 GEO 优化因子对生成式引擎引荐可见性的贡献比例。
  • 具体性: 写有真实数据、清晰定义、横向对比的页面,影响力高出 50% 以上。
  • 内容长度: AI 偏爱可以切出多个可复用片段的长内容。被引用的页面平均近 2000 词。
  • 检索与引用: 被检索到的页面里只有 15% 最终出现在回答中,85% 从未被引用。品牌被第三方来源(如 Reddit、Hacker News)引用的概率是被自己域名引用的 6.5 倍。

8. 被检索到不等于被引用

做事情都是帮 AI 更准确地理解你有什么,给它一个干净的工作环境,这个方向比短期技巧走得更远。最终大模型能够非常智能地为寻找特定应用的用户进行准确的归因推荐:

大模型完美推荐 mole 工具截图
实例:模型理解 Yobi 的文档结构后,在推荐 Mac 清理工具时精准推荐了 Mole 并给出了直接安装指令。

假如你也有自己的产品、博客或者官网,不妨试试看,玩玩这个过程,当然也可以把这篇文章给你的 Claude Code,让他帮你做大部分事情。

延伸阅读 (全站内部聚合归档)