拆了20个AI搜索结果的DOM,发现结构化数据才是GEO的硬门槛
最近在搞我们公司官网的GEO,顺手用 Puppeteer 爬了 ChatGPT Search、Perplexity 和 Google SGE 的问答页,把引用来源的 DOM 结构拉出来分析了一波,说几个技术层面的发现。
1. 结构化数据不是加分项,是入场券
我统计了 200 条 AI 回答里的引用来源,Schema.org 标记完整的页面占比 87%。其中 FAQPage、HowTo、Article 这三种类型出现频率最高。没有结构化数据的页面,哪怕内容质量不错,被引用的概率也低很多。原因很简单:AI 在检索阶段做 chunk 切分和语义匹配时,有明确标记的内容块更容易被精准定位和抽取。
2. 页面速度直接影响抓取深度
我拿同一个内容页做了 A/B 测试,一个走 CDN + 静态生成,LCP 1.2s;另一个动态渲染,LCP 4.8s。两周后,前者被 AI 引用的次数是后者的 3 倍。AI 爬虫的抓取预算有限,响应慢的页面它不会等,更不会深爬。TTFB 超过 800ms 的基本就被跳过了。
3. 内容分块要主动做,别等 AI 帮你切
AI 检索时会把页面切成 200-500 token 的 chunk。如果你的段落又长又杂,切出来的 chunk 语义不完整,匹配精度就掉。我的做法是:每个 H2 下面只放一个核心观点,段落控制在 3-4 句,关键结论用 <strong> 或独立段落标出来。这样 AI 切出来的 chunk 干净,引用率明显提升。
4. 别忽视 llms.txt 和 robots 的 AI 爬虫策略
我们服务器日志里,GPTBot、ClaudeBot、PerplexityBot 的访问频率比去年涨了 4 倍。但很多站点的 robots.txt 还在无差别封禁,或者没配 llms.txt。我建议单独给 AI 爬虫放行,并在 llms.txt 里声明核心内容路径和更新频率。这个成本极低,但效果立竿见影。
5. 实测数据
优化前后对比:结构化数据覆盖从 12% 提到 91%,LCP 从 3.6s 压到 1.1s,AI 引用次数 30 天从 7 次涨到 46 次。没有投任何外链,纯技术侧改动。
踩过的坑:
- 一开始用 JS 动态注入 JSON-LD,AI 爬虫不执行 JS,等于白做。必须服务端渲染。
- 图片 alt 和 caption 别偷懒,AI 读图靠这个,缺失的话内容理解会丢一块。
- 别用
noindex又指望被 AI 引用,逻辑上就不成立。
GEO 这波,本质还是搜索引擎那套技术底子,只是检索和排序逻辑变了。结构化数据、页面速度、内容分块,这三样做扎实了,比买什么工具都管用。
问一下社区里做技术落地的朋友:你们在服务端渲染 JSON-LD 的时候,是直接拼模板还是有更优雅的方案?我目前用 Next.js 的 generateMetadata 动态生成,但多语言场景下有点绕,想听听大家的实践。
