分享一个GEO技术细节:结构化数据没做对,AI爬虫根本读不懂你的页面
最近在帮公司落地GEO,踩了不少坑。今天说一个最容易被忽略但影响巨大的点:结构化数据。
先交代背景:我们做的是B2B SaaS,页面不算多,但内容更新频繁。之前SEO还行,但GEO效果一直上不去。AI搜索的曝光量卡在某个量级,怎么调内容都没用。
后来我用日志分析了一下AI爬虫的抓取行为,发现一个很诡异的现象:爬虫确实来了,也抓了页面,但很多页面在AI搜索结果里要么不出现,要么摘要乱七八糟。
排查了两周,最后定位到问题:我们的结构化数据几乎等于没做。
具体来说,有几个典型错误:
- JSON-LD 只写了基础的 WebPage。产品页没有 Product schema,文章页没有 Article schema,FAQ 页没有 FAQPage schema。AI 爬虫虽然能读文本,但没法准确区分页面类型和核心实体。
- 属性缺失严重。比如 Article 类型的页面,缺了 datePublished、author、headline 这些关键字段。爬虫不知道这篇文章什么时候发的、谁写的、重点是什么。
- 嵌套结构混乱。我们有个页面把 Organization 和 Product 混在一个 @graph 里,但 @id 引用不清晰,导致解析出来一堆孤立节点。
- 页面速度拖后腿。LCP 平均 4.2s,TTFB 800ms+。AI 爬虫的抓取预算有限,速度慢直接导致很多页面抓不完就放弃了。
改完之后,我对比了前后 30 天的数据:
- AI 搜索的曝光量涨了约 65%
- 摘要准确率(人工抽样 200 条)从 41% 提升到 78%
- 爬虫抓取深度从平均 2.1 层增加到 3.8 层
具体怎么改的?说几个关键操作:
第一,按页面类型补全 schema。
产品页用 Product + Offer,文章页用 Article + BreadcrumbList,FAQ 页用 FAQPage。每个字段都填满,别偷懒。
第二,统一 @id 命名规范。
我们定了一套 URI 规则,比如 https://example.com/#organization、https://example.com/article/xxx#article。这样爬虫能准确关联实体。
第三,做了个自动化校验脚本。
用 Python 的 extruct 库每周跑一次全站扫描,检查 JSON-LD 是否合规、必填字段是否缺失。有问题直接发到企业微信。
第四,性能优化。
上了 CDN,图片转 WebP,关键 CSS 内联,把 LCP 压到 1.8s 以内。TTFB 降到 200ms 左右。
说实话,GEO 这事很多人都在聊内容策略、聊工具,但底层技术没做好,内容再好也是白搭。结构化数据就是给 AI 爬虫看的“说明书”,你写得越清楚,它越能理解你的页面。
不过有个问题我一直没想明白:对于动态渲染的 SPA 页面,到底是用 SSR 还是动态渲染(Dynamic Rendering)对 AI 爬虫更友好? 我测下来感觉 SSR 更稳,但改造成本高。有经验的朋友聊聊?
