让 ChatGPT 和谷歌都愿意引你:
GEO 时代的静态站结构。
AI 给答案的方式是摘抄能被引用的事实句,不是你的形容词。所以页面结构要为「被摘」设计:干净语义、结构化数据、llms.txt、可核对的数字。
有一部分采购已经改了习惯:先问 AI「谁能做这个」,再点开它给的两三个链接。如果你的站不在那个答案里,后面做得再漂亮也没人看见。这一层被叫做 GEO——生成式引擎优化。它不是新玄学,落点仍然是页面结构,只是标准换了。
AI 从页面里摘走的,是哪一种句子?
这一点想通了,后面全是执行。模型生成答案时做的事,是从多个来源里挑出能被独立引用、且不带歧义的句子,拼成一段话。所以它偏好的是这些:
- 「2007 年在深圳成立,做 LED 投光灯,出口到 76 个国家」
- 「通过 ISO 9001,有自己的光度实验室」
- 「产品尺寸 320×180×95 毫米,防护等级 IP65」
而不是这些:「世界领先的照明解决方案提供商」「多年行业深耕,深受客户信赖」「以品质赢得市场」。后面这些句子对人还有点说服作用,对模型是纯噪音——它没法验证,也没法引用。
所以第一件事不是加代码,是把页面上能被摘的句子写出来。这事跟技术无关,跟诚实有关:能说出具体数字、具体年份、具体认证的,才摘得走。
干净语义 HTML:四个具体动作
模型读页面,先是读源码结构,不是读视觉。四个动作从便宜到贵:
- 一个页面一个 h1,h2 按内容分段,不要为了排版好看用 h3 冒充 h2。层级乱了,模型切不出「这一段讲什么」。
- 列表就用列表。参数、认证、流程这类并列信息,用
ul/ol/dl,不要用一堆div加样式做出来。模型对列表结构的解析比散装文本可靠得多。 - 表格用 table。规格对比天生就是表格,用
table写,行列关系明确;用网格div拼出来的「表格」,模型经常读成一串平铺的字。 - 正文必须在 HTML 里,不要靠 JS 渲染。渲染出来的内容,第一次抓取时可能是空的——而 AI 的抓取往往就是那一次。
这四条静态站天然容易做到,因为页面本来就是手写或生成的 HTML,不存在「构建器输出一堆嵌套 div」的问题。
结构化数据:给机器一份摘要,但别乱堆
JSON-LD 的作用是把你页面上的信息翻译成机器肯定看得懂的格式。对 GEO 有用的就三类:
| 类型 | 放什么 | 容易错在哪 |
|---|---|---|
| Organization | 公司名、地址、电话、邮箱、成立年份 | 和页面可见信息不一致,等于自相矛盾 |
| Article / BlogPosting | 标题、作者、日期、正文摘要 | 日期和页面上显示的不一样 |
| FAQPage | 问题与答案的原文 | 答案改过但结构化数据没同步,两边不一致 |
第三行是最常见的坑,也是代价最大的:结构化数据里的答案和页面上看得见的答案必须逐字一致。改文案忘了改 JSON-LD,轻则富结果不显示,重则被判成误导。
还有一条原则:只标页面上真的有的东西。为了让数据好看,往里塞一个不存在的评分或者虚构的成立年份,短期可能让摘要更漂亮,长期是把自己的可信度押上去。
llms.txt 是干什么的?现在有用吗?
有些网站根目录多了一个 llms.txt。它不是标准,也不是排名因素,是一个约定:给语言模型一份「这个站是干什么的」的纯文本摘要。
“At the moment the most widely and easily understood format for language models is Markdown.”
llmstxt.org 上的原话:目前对语言模型来说,最通用、最容易理解的格式是 Markdown。所以这类文件的写法跟 robots.txt 完全不同——它是一份给人读也顺、给模型读也顺的说明,不是一堆指令。
llmstxt.org
实用的写法:一句话说清你是谁、做什么、多少钱、怎么联系;然后是服务范围、适合谁、不适合谁、价格档位;最后是主要页面的链接和一句说明。「不适合谁」这一节别省——一份承认边界的资料,比通篇自夸更容易被当成可信来源。
要说清的是:放了这个文件不等于 AI 会读。目前没有哪家公开承诺会抓取它。它的价值在于「如果读了,读到的是你希望它知道的东西」,而不是「放了就一定被引用」。
实体一致:让 AI 确认你是同一家公司
模型要引用一个来源,得先确认这个来源是谁。如果你的公司名在页面标题里是一种写法、页脚是另一种、结构化数据里又是第三种,它判定「这是同一家」的成本就变高。
所以统一这几处:公司全称、简称、英文名、地址、电话、邮箱。同一个实体在所有地方用同一套写法,包括 Organization 结构化数据里的 alternateName 别名字段——把简称和英文名都列进去,能覆盖更多匹配方式。
同一件事还体现在外部:行业目录、B2B 平台、社交媒体上的公司信息,写得越一致,越容易被当成同一个实体。这一层不是改页面能解决的,但它对 GEO 的作用大于再优化一遍标题。
一张清单:写得能被摘,还是写了等于没写
| 写了等于没写 | 能被摘走 |
|---|---|
| 「多年行业经验」 | 「2007 年开始做,到 2026 年是第 19 年」 |
| 「产品远销海外」 | 「出口到 76 个国家,主要市场在欧洲与中东」 |
| 「通过多项国际认证」 | 「CE、RoHS、ISO 9001」(写全名,别写「各种认证」) |
| 「品质有保障」 | 「自有光度实验室,每批出货前做积分球测试」 |
| 「服务响应及时」 | 「工作时间内 30 分钟内回复,小改 1 小时内改好」 |
| 「价格优惠」 | 「100 页 15,800 元/年,超页 80 元/页」 |
右列的共同点:有数字、有年份、有名目、可核对。左列的共同点:正确,但不可验证。写左列不犯法,只是浪费了一个被引用的机会。
AI 打不开你的页面怎么办?
这一层容易被忽略。AI 的抓取程序跟搜索引擎爬虫一样受制于加载时间——页面慢、脚本重、内容靠渲染,抓到的可能是半截。所以速度优化和 GEO 不是两件事,是同一件事的两面。
同理,robots.txt 里如果把 AI 爬虫挡了,前面所有结构工作都白做。这几年有些站为了防止内容被拿去训练,把 GPTBot 一类全挡了——挡训练和挡检索是两件事,检索型爬虫(比如 OAI-SearchBot)挡掉,等于主动退出 AI 答案的候选池。这个取舍要自己清楚再做。
我们怎么落地
三件事在出站时就做掉:语义结构(一页一个 h1、列表用列表、规格用表格)、结构化数据(Organization + Article + FAQ,和页面可见文字逐字对齐)、以及一份 llms.txt(写清服务、价格、边界、主要页面)。
纯静态还有个额外的好处:页面就是最终的 HTML,没有渲染这一步,AI 抓到什么就是什么。不会出现「你看到的有内容、它抓到的空白」这种查不出来的情况。
说清不能承诺的部分:没有任何人能保证「一定被 ChatGPT 引用」。能控制的是——让页面成为一份可引用、可核对、结构清楚的资料;剩下的取决于模型怎么选,那不在任何人手里。
想知道 AI 现在怎么描述你的站?把公司名或域名发我,我代问几个主流模型,把它们的原话贴给你看。通常能看出它在哪一句上卡住了。
资料来源
- llmstxt.org(llms.txt 的约定与推荐格式)
- Google 搜索中心 · 结构化数据简介(JSON-LD 的作用与一致性要求)
- Google 搜索中心 · 创建实用、可靠、以用户为中心的内容
- SE Ranking · AI 引荐流量研究(AI 来源流量的分布观察)