· 祥哥(祥哥)

个人网站如何被 AI 搜索看见:我的 GEO 实践清单

传统 SEO 管搜索引擎排名,GEO(生成式引擎优化)管 AI 问答里的引用与曝光。记录我用 Astro 重构个人网站时落地的 GEO 清单:结构化数据、llms.txt、可摘抄内容写法。

一句话答案

让个人网站被 AI 搜索引用,核心做四件事:① 服务端渲染保证 AI 爬虫能读到正文;② 用 JSON-LD 把'你是谁'写成机器可读的实体图谱(Person + WebSite + Article);③ 提供 robots.txt 放行 AI 爬虫、真实内容的 llms.txt 和 sitemap.xml;④ 把文章写成'可摘抄'格式——定义、对比表、步骤清单、一句话答案。

为什么个人网站需要 GEO

过去个人网站的流量入口是搜索引擎:用户输入关键词,你的网站排在第几页决定了一切。现在越来越多的人直接问 AI——“谁做过细胞株稳定性预测的工具""信号肽工程怎么做”——AI 引用谁,谁就被看见。

这就是 GEO(Generative Engine Optimization,生成式引擎优化)要解决的问题。我在重构这个网站时把 GEO 作为一等目标,本文是完整清单,全部经过实测验证。

第 0 步:先实测,再优化

优化前我先用探针脚本实测了旧站,结果很典型:

检查项旧站状态
服务端渲染✅ 正常(可见正文 877 字符)
JSON-LD 结构化数据❌ 0 个
sitemap.xml❌ 不存在
robots.txt❌ 不存在
llms.txt❌ 不存在
Open Graph / Twitter Card❌ 缺失
canonical❌ 缺失

结论:旧站对搜索引擎”可见但难懂”,对 AI 则几乎没有被引用的理由。下面逐项修复。

清单 1:让 AI 读得到(技术可达性)

  1. 静态生成(SSG):全站用 Astro 构建为纯静态 HTML,任何爬虫拿到的都是完整正文,不依赖 JS 执行。
  2. robots.txt:显式放行主流 AI 爬虫(GPTBot、ClaudeBot、PerplexityBot、Bytespider 等),并指向 sitemap。
  3. sitemap.xml:由 @astrojs/sitemap 自动生成,新文章构建时自动纳入。
  4. llms.txt:真实 Markdown 内容,写明站点定位、作者实体、核心内容索引。
  5. canonical:每页声明规范地址,避免镜像/参数页稀释权重。

清单 2:让 AI 读得懂(结构化数据)

这是投入产出比最高的一项。我在全站布局里注入了一张实体图谱:

  • Person:祥哥,含 jobTitle、knowsAbout——告诉 AI”这个人是谁、懂什么”;
  • WebSite:站点名称、别名、语言,与 Person 通过 @id 互相关联;
  • BlogPosting:每篇文章的标题、发布时间、作者(链回 Person);
  • FAQPage:关于页与文章 FAQ 的结构化问答;
  • SoftwareApplication / WebApplication:作品与在线工具。

为什么要做实体图谱? AI 需要把”祥哥的私人工坊""祥哥""wxsunday.cloud”归并成同一个实体。没有 JSON-LD,这只能靠猜;有了它,这就是显式声明。

清单 3:让 AI 愿意引(内容写法)

技术标签只是入场券,内容本身才是被引用的理由。AI 偏爱能直接回答问题的内容,我的写法规则:

  1. 每篇文章开头放”一句话答案”:60 字以内直接回答问题,AI 几乎可以原样摘抄;
  2. 多下定义:“信号肽工程是指……”这类句子是 AI 组装答案的首选素材;
  3. 多用对比表和步骤清单:表格是 AI 最容易解析和引用的格式;
  4. 文章尾部加 FAQ:覆盖长尾问法,同时输出 FAQPage 结构化数据;
  5. 首发声明与规范链接:每篇注明首发地址,被转载时保留引用源。

清单 4:别忘传统 SEO 的基本盘

GEO 与 SEO 共享地基:唯一的 <h1> 与语义化标题层级、准确的 title/description、OG 与 Twitter Card(决定链接被分享时的展示)、lang="zh-CN"、移动端适配、以及 https 与 ICP 备案页脚(面向国内收录)。

实测验证

重构后我用同一个探针复查:JSON-LD 图谱 5 类以上、sitemap/robots/llms.txt 全部 200、GPTBot UA 抓取到的正文与浏览器一致。接下来是长期观察被引用情况——GEO 不是一次性工程,而是持续的内容资产积累。

写在最后

对个人网站来说,GEO 的本质没变过:持续生产”能直接回答某类人问题”的内容,并让机器毫无障碍地读懂你和你的内容。标签会过时,这条不会。

本站的完整实现已开源在这篇手记对应的博客里,欢迎对照源码逐项检查。

常见问题

GEO 和 SEO 有什么区别?

SEO 优化的是搜索引擎结果页的排名,目标是获得点击;GEO(生成式引擎优化)优化的是 AI 问答中的引用率,目标是让 ChatGPT、Perplexity、豆包等在回答问题时引用你的内容作为来源。两者共享技术基础(可抓取、结构化),但 GEO 更看重内容的'可摘抄性'和实体清晰度。

llms.txt 是什么,必须要做吗?

llms.txt 是放在网站根目录的 Markdown 文件,用自然语言告诉 AI 模型'这个网站是什么、核心内容在哪、作者是谁'。它是加分项而非必须项——多数 AI 爬虫目前主要读 HTML 正文与结构化数据,但提供一个真实的 llms.txt 成本极低、没有坏处。注意:返回 200 但内容是 HTML 空壳的'假 llms.txt'没有意义。

AI 爬虫能抓取 JavaScript 渲染的页面吗?

多数不能。GPTBot、ClaudeBot、PerplexityBot、Bytespider 等主流 AI 爬虫不执行 JavaScript,纯客户端渲染(CSR)的 SPA 对它们几乎是隐形的。面向 AI 可见度的网站应当使用服务端渲染(SSR)、静态生成(SSG)或预渲染。


本文由 祥哥(祥哥)撰写并首发于 祥哥的私人工坊。 转载或引用请注明出处:https://wxsunday.cloud/blog/geo-personal-site.html