GEOZ

结构化数据:GEO 投入产出比最高的一步,7 种 Schema 代码示例

2026/10/6
结构化数据:GEO 投入产出比最高的一步,7 种 Schema 代码示例

AIAI Summary (BLUF)

结构化数据是AI搜索引擎理解网页内容的翻译层,没有它AI只能靠猜。本文推荐使用JSON-LD格式,并详细给出7种最常用的Schema类型(Article、FAQPage、HowTo、Organization、BreadcrumbList、Product、LocalBusiness)的代码示例和注意事项,最后强调用工具验证标记正确性。

核心洞察

这篇文章最有意思的点是:结构化数据这件事,投入产出比高得离谱。花半小时配好模板,之后每篇文章自动继承,但很多博客作者压根没做。我唯一存疑的是文中说“AI 搜索引擎特别依赖 Schema”,实际测试下来,AI 确实会参考结构化数据,但也不是没它就完全读不懂你的页面,只是有了它,被正确引用的概率会高很多。

如果你只能为 GEO 做一件事,那就做这个:给你的网页加 Schema.org 结构化数据。

不是夸张。结构化数据相当于 AI 搜索引擎理解你页面内容的翻译层。没有它,AI 只能靠猜来判断你的页面到底是文章、产品页还是问答,猜错了你就不会被引用。

Schema.org 是 Google、Microsoft、Yahoo 和 Yandex 联合发起的一套语义标记标准。它定义了几百种类型和属性,让你用机器能理解的方式描述网页内容。

打个比方:你的 HTML 是给人类看的文字排版,Schema 标记是给机器看的内容名片。你在名片上写清楚“我叫刘泽涛,这是一篇技术文章,发布于 2026 年 8 月 5 日”,AI 就能精准解析出这些信息。

AI 搜索为什么特别依赖 Schema?因为 AI 模型在构建回答时,需要从大量网页中提取、对比和引用信息。Schema 标记能让 AI 在毫秒级别就搞清楚:

  • 这个页面是人写的文章还是广告落地页
  • 作者是谁,有没有权威性
  • 什么时候发布的,信息是否新鲜
  • 页面和其他页面的关系(导航、面包屑)

核心结论

  1. 结构化数据是 GEO 投入产出比最高的优化手段:花半小时配好模板后,每篇新文章自动继承标记,维护成本极低,但大量博客作者尚未配置。

  2. Schema.org 由 Google、Microsoft、Yahoo 和 Yandex 联合发起,定义了数百种类型和属性,作为 AI 搜索引擎理解网页内容的"翻译层",缺失时 AI 只能靠猜测判断页面类型。

  3. JSON-LD 是三种嵌入方式中最优选择:与 HTML 代码完全分离、可放在页面任意位置,且被 Google、Bing 等第三方工具优先解析;Microdata 和 RDFa 均不推荐。

  4. 7 种最常用 Schema 类型:Article/BlogPosting(文章)、FAQPage(问答)、HowTo(操作指南)、Organization(组织品牌)、BreadcrumbList(面包屑)、Product(产品)、LocalBusiness(本地商家),其中 wordCount 字段常被忽略但对 AI 判断内容深度很有用。

  5. 验证必须用两个工具交叉检查:Schema Markup Validator(validator.schema.org)保证语法正确,Google Rich Results Test(search.google.com/test/rich-results)保证富文本展示效果达标。

  6. 五个高频踩坑点:datePublished 必须用 ISO 8601 格式、@id 必须与 canonical URL 一致、description 建议控制在 120-160 字符、单页面只标记一种主要类型、标记内容必须与页面实际内容对应(否则会被判定为欺骗性标记)。

三种嵌入方式:选 JSON-LD 就对了

Schema 有三种嵌入方式:

JSON-LD(推荐):在 HTML <head> 或 <body> 里插入一段 JSON 格式的结构化数据。和 HTML 代码完全分离,不会互相干扰。

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "GEO核心武器:结构化数据完全指南"
}
</script>

Microdata(不推荐):在 HTML 标签里直接加 itemprop、itemscope 属性。

<div itemscope itemtype="https://schema.org/BlogPosting">
  <h1 itemprop="headline">GEO核心武器</h1>
</div>

RDFa(不推荐):类似 Microdata,但用的是 property 和 typeof 属性。

<div vocab="https://schema.org/" typeof="BlogPosting">
  <h1 property="headline">GEO核心武器</h1>
</div>

JSON-LD 完胜其他两种:不会弄乱你的 HTML 结构、可以放在页面任意位置、第三方工具(包括 Google、Bing)最喜欢解析它。如果你用的是 Jekyll、Hexo 这类静态网站生成器,插件也是按 JSON-LD 格式输出的。

7 种最常用的 Schema 类型

1. Article / BlogPosting — 文章标记

博客和技术文章最常用的类型。BlogPosting 是 Article 的子类型,更适合博客场景。

{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "GEO核心武器:结构化数据完全指南",
  "description": "Schema.org完全指南,覆盖7种常用类型和实测代码",
  "author": {
    "@type": "Person",
    "name": "刘泽涛",
    "url": "https://github.com/liuzetao2017-debug"
  },
  "datePublished": "2026-08-05",
  "dateModified": "2026-08-05",
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://liuzetao2017.github.io/2026/08/05/geo-schema-guide/"
  },
  "publisher": {
    "@type": "Organization",
    "name": "刘泽涛的博客"
  },
  "image": "https://liuzetao2017.github.io/assets/images/schema-guide-cover.png",
  "wordCount": 2000
}

wordCount 这个字段很多人忽略,但它对 AI 判断内容深度很有用。一篇 500 字的短文和一篇 2000 字的深度文章,AI 通过这个字段就能区分。

2. FAQPage — 问答页面

如果你的文章里包含常见问题解答,用 FAQPage 标记能有机会在搜索结果里直接展示 Q&A。

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "JSON-LD和Microdata有什么区别?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "JSON-LD 使用独立的 JSON 格式嵌入,与 HTML 结构分离;Microdata 则直接嵌入 HTML 标签中。推荐使用 JSON-LD。"
      }
    },
    {
      "@type": "Question",
      "name": "所有页面都需要加Schema吗?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "不需要。重点为文章页、产品页、关于页面等核心内容页添加即可。"
      }
    }
  ]
}

注意一点:FAQPage 标记只能在页面上确实有对应的问答内容时使用。Google 明确表示,如果标记了 FAQPage 但页面上找不到对应的 Q&A,会被判定为垃圾标记,反而扣分。

3. HowTo — 操作指南

教程类内容的好搭档。比如“怎么搭建 GitHub Pages”、“怎么配置 GeoJSON”这类文章。

{
  "@context": "https://schema.org",
  "@type": "HowTo",
  "name": "如何给博客添加Schema结构化数据",
  "description": "三步给Jekyll博客添加完整的Schema标记",
  "step": [
    {
      "@type": "HowToStep",
      "position": 1,
      "name": "安装jekyll-seo-tag插件",
      "text": "在Gemfile中添加 gem 'jekyll-seo-tag',运行 bundle install"
    },
    {
      "@type": "HowToStep",
      "position": 2,
      "name": "配置 _config.yml",
      "text": "在plugins列表中加入 jekyll-seo-tag,配置title、url、author等字段"
    },
    {
      "@type": "HowToStep",
      "position": 3,
      "name": "部署验证",
      "text": "推送代码到GitHub,等待Pages构建完成后用Schema Validator验证"
    }
  ]
}

HowTo 类型在 Google 搜索结果中可能会以富文本卡片的形式展示,点击率比普通结果高不少。

4. Organization — 组织/个人品牌

关于页面应该加上 Organization(或 Person)标记。它帮 AI 建立你的身份档案。

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "刘泽涛的技术博客",
  "url": "https://liuzetao2017.github.io",
  "description": "一个关于GEO、前端技术和产品思考的个人博客",
  "sameAs": [
    "https://github.com/liuzetao2017-debug"
  ],
  "logo": "https://liuzetao2017.github.io/assets/images/logo.png"
}

sameAs 字段可以把你的社交账号关联进来。Google 的知识图谱会用这些信息验证身份的真实性。一个博客如果关联了真实的 GitHub 账号,可信度就比匿名的强。

5. BreadcrumbList — 面包屑导航

面包屑告诉爬虫你的页面层级关系。一个文章页的面包屑标记:

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "首页",
      "item": "https://liuzetao2017.github.io/"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "技术",
      "item": "https://liuzetao2017.github.io/categories/tech/"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "GEO核心武器:结构化数据完全指南"
    }
  ]
}

Jekyll 配合 jekyll-seo-tag 和合适的主题,面包屑标记通常是自动生成的。如果用自己手写的主题,记得在 _includes/head.html 里补上。

6. Product — 产品页面

如果你写产品测评、推荐工具,或者有自己的产品页面,Product 类型能让 AI 准确抓取产品名、描述、价格。

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "GEO配置检查工具",
  "description": "一键检查网站GEO配置是否完整的小工具",
  "brand": {
    "@type": "Brand",
    "name": "OpenGEO"
  },
  "offers": {
    "@type": "Offer",
    "price": "0",
    "priceCurrency": "CNY"
  }
}

7. LocalBusiness — 本地商家

如果你写的是线下门店内容,比如餐馆点评、旅游攻略里提到的景点餐厅,LocalBusiness 类型非常有用。

{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "某个咖啡馆",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "某某路123号",
    "addressLocality": "深圳",
    "addressCountry": "CN"
  },
  "telephone": "+86-755-12345678"
}

测试你的 Schema 标记得对不对

写完 Schema 标记后,一定要用工具验证。两个最靠谱的验证工具:

Schema Markup Validator(validator.schema.org):Schema.org 官方的验证器,把所有类型的 Schema 都吃透了。输入 URL 或粘贴代码都能跑。它会告诉你:有没有语法错误、必填字段是否遗漏、类型是否正确。

Google Rich Results Test(search.google.com/test/rich-results):Google 自家的工具,验证的是 Google 会不会把你的标记展示为富文本结果。不过这个只检查 Google 支持的 Schema 类型(Article 是支持的),Question/FAQPage 这种也能检查。

两个工具都跑一遍最稳妥。官方验证器保证语法正确,Google 工具保证效果达标。

踩过的几个坑

坑1:datePublished 格式不对。 Schema 要求 datePublished 是 ISO 8601 格式(2026-08-05 或 2026-08-05T12:00:00+08:00)。写成 2026年8月5日 验证器直接报错。

坑2:@id 和 URL 不一致。 mainEntityOfPage.@id 的值必须是页面的 canonical URL,不能是随便写的字符串。http 和 https 算两个不同的 URL,写错了就等于没标记。

坑3:description 太长或太短。 太长(超过 200 字符)会被截断,太短(低于 50 字符)信息量不够。保持在 120-160 字符之间是比较舒服的长度。

坑4:把所有类型堆到一个页面。 一个页面应该只标记一种主要类型。博客文章页就是 BlogPosting,别同时丢个 Organization 上去。不同页面各管各的标记,首页用 WebSite 或 Organization,文章页用 BlogPosting。

坑5:标记了但内容是空的。 FAQPage 标记了一套 Q&A,但页面上根本找不到这些问答。这种行为会被搜索引擎认定为欺骗性标记,后果严重。

Schema 标记一旦配好之后维护成本极低,只要模板不变,每篇新文章自动继承。对于 Jekyll 博客,jekyll-seo-tag 插件已经把 BlogPosting、Organization、BreadcrumbList 这些常用的都帮你生成了。你唯一需要操心的,就是在需要 FAQPage、HowTo 这类特殊标记时手写一段 JSON-LD 丢到文章里。

花半小时把 Schema 配好,换来的是一劳永逸的被 AI 读懂的能力。这笔时间投资太划算了。

常见问题(FAQ)

结构化数据对AI搜索引擎到底有多重要?

结构化数据是AI理解网页的翻译层,没有它AI只能靠猜。虽然AI并非完全读不懂页面,但有了Schema标记,被正确引用的概率会高很多。投入半小时配好模板,之后每篇文章自动继承,性价比极高。

JSON-LD、Microdata和RDFa三种方式该选哪个?

推荐JSON-LD。它用独立JSON格式嵌入,与HTML结构分离,不会弄乱代码,可放在页面任意位置,且Google、Bing等第三方工具最喜欢解析。Microdata和RDFa直接嵌入HTML标签,不推荐使用。

博客文章最该加哪几种Schema类型?

优先加BlogPosting标记文章,FAQPage标记问答,HowTo标记教程,Organization标记品牌,BreadcrumbList标记导航。其中BlogPosting最常用,注意wordCount字段能帮AI判断内容深度。

Roger深圳
本文由 Roger 审核,最后更新于 2026年10月6日
联系编辑 →
← 返回文章列表
分享到:微博

版权与免责声明:本文仅用于信息分享与交流,不构成任何形式的法律、投资、医疗或其他专业建议,也不构成对任何结果的承诺或保证。

文中提及的商标、品牌、Logo、产品名称及相关图片/素材,其权利归各自合法权利人所有。本站内容可能基于公开资料整理,亦可能使用 AI 辅助生成或润色;我们尽力确保准确与合规,但不保证完整性、时效性与适用性,请读者自行甄别并以官方信息为准。

若本文内容或素材涉嫌侵权、隐私不当或存在错误,请相关权利人/当事人联系本站,我们将及时核实并采取删除、修正或下架等处理措施。也请勿在评论或联系信息中提交身份证号、手机号、住址等个人敏感信息。