Schema结构化数据是一种语义标记技术,用于向搜索引擎提供更详细、更结构化的网页内容信息,帮助搜索引擎更好地理解页面内容的含义和上下文关系。它基于Schema.org词汇表,由Google、Bing、Yahoo和Yandex等主流搜索引擎共同支持。

一、核心优势

  • 提高搜索结果质量:搜索引擎可以更准确地理解页面内容,从而提供更相关的搜索结果。

  • 增强搜索结果展示:可能会在搜索结果中显示丰富摘要(Rich Snippets),如星级评分、价格、营业时间等。

  • 提升网站可见性:丰富的搜索结果展示通常会吸引更多用户点击。

  • 支持多种内容类型:可用于标记文章、产品、事件、组织、人物等多种内容。

二、常用的Schema类型

类型

描述

Article

用于标记新闻、博客文章等

Product

用于标记产品信息,包括价格、评分等

Event

用于标记活动信息,包括时间、地点等

Organization

用于标记组织信息

Person

用于标记人物信息

Review

用于标记评论和评分

BreadcrumbList

用于标记面包屑导航

三、Schema核心数据模型

Schema.org的数据模型基于 “类型” 和 “属性” ,并以层次化方式组织:

  • 类型:定义事物的类别,例如 Thing、Person、Organization、Product、Event 等。所有类型构成一个继承层次,例如 EducationalOrganization 继承自 Organization,而 Organization 又继承自最基础的 Thing。

  • 属性:用于描述类型的特征。属性的值可以是文本、数字,也可以是另一个类型。


以下是一个使用 JSON-LD 实现的 Schema.org 数据模型示例,展示了类型继承和属性定义:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "EducationalOrganization",
  "name": "Sharing Platform",
  "description": "这是一个分享平台,提供资源共享和学习机会",
  "url": "https://sharingpi.com",
  "address": "广州市天河区高德置地春广场C1808",
  "foundingDate": "2026-01-01",
  "founder": {
    "@type": "Person",
    "name": "司晨",
    "givenName": "晨",
    "familyName": "司",
    "birthDate": "1990-8-12"
  },
  "department": [
    {
      "@type": "Organization",
      "name": "计算机科学与技术学院"
    },
    {
      "@type": "Organization",
      "name": "电子工程学院"
    }
  ]
}
</script>

四、技术实现:如何标记网页

Schema.org本身是词汇表,需要通过特定的“语法”添加到HTML中。主要有以下三种方式,其中JSON-LD已成为主流:

实现方式

基本原理

特点与现状

JSON-LD

将结构化数据以JSON格式块的形式写在HTML的<script>标签内,与网页内容分离。

当前推荐方式,易于维护和管理,Google等主要搜索引擎强烈推荐。

Microdata

通过 itemscope、itemtype、itemprop 等HTML属性直接在内容标签上添加语义。

直接但易与展示逻辑耦合,已不再是首选。MDN文档也指出部分浏览器已不再支持。

RDFa

与微数据类似,也是一种通过属性扩展HTML语义的方式。

功能强大,但在Web标记领域使用率低于JSON-LD。

以下是一个使用 JSON-LD 标记一篇文章的示例,你可以清晰看到其结构:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "NewsArticle",
  "headline": "文章标题",
  "datePublished": "2026-01-06",
  "author": {
    "@type": "Person",
    "name": "作者名"
  }
}
</script>

五、应用价值与实践

5.1 主要应用场景

Schema.org的应用能直接提升网页在搜索结果中的呈现效果,下表列出了常见场景:

类型 (Type)

典型属性 (Properties)

可能带来的搜索结果增强

产品 (Product)

name,image,offers(价格),aggregateRating(评分)

购物标签、价格、评分、库存状态直接显示

本地企业 (LocalBusiness)

name、address、telephone、openingHours

本地搜索结果中的“知识面板”

文章 (Article/NewsArticle)

headline、datePublished、image、author

轮播展示、头条新闻展示

活动 (Event)

name、startDate、location

事件详情卡片

食谱 (Recipe)

name、prepTime、ingredients、nutrition

带有图片和评分的食谱卡片

5.2 如何验证Schema结构化数据?

添加Schema后,您可以使用以下工具验证其正确性:

5.3 重要区别:与数据库Schema区分

请注意,网页标记领域的 Schema.org 与数据库领域中用于定义表结构的 schema(模式) 是 完全不同的两个概念 ,后者主要服务于数据存储与管理。

5.4 最佳实践

  • 只标记实际存在的内容:不要添加页面上没有的信息。

  • 使用合适的类型:为不同内容选择最适合的Schema类型。

  • 保持数据更新:定期检查和更新结构化数据。

  • 使用JSON-LD格式:这是Google推荐的格式,易于实现和维护。

  • 避免过度标记:只标记对搜索引擎和用户有价值的信息。

六、 JSON-LD

前述内容涵盖了Schema结构化数据的定义、常见类型、验证方法及其应用场景。接下来,将重点探讨在Schema结构化数据中广泛采用的JSON-LD(JavaScript Object Notation for Linked Data)格式,解析其特点与应用优势。

JSON-LD(JavaScript Object Notation for Linked Data)是一种用于编码链接数据的JSON格式,它是Schema.org推荐的结构化数据实现方式之一,广泛应用于网站SEO和数据互操作性。

6.1 JSON-LD的核心概念

核心概念

描述

Linked Data(链接数据)

JSON-LD允许数据项之间建立链接关系,通过URL标识实体,实现数据的互联

上下文(@context)

定义了数据中使用的术语的含义,通常指向 Schema.org 词汇表

类型(@type)

指定数据描述的实体类型(如Person、Product、Organization等)

标识符(@id)

为实体提供唯一标识符,通常是URL

6.2 JSON-LD的基本结构
{
  "@context": "https://schema.org",
  "@type": "实体类型",
  "属性1": "值1", 
  "属性2": "值2",
  "关联实体": {
    "@type": "关联实体类型",
    "属性": "值"
  }
}
6.3 常见使用示例

示例一:企业信息

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Example Company",
  "url": "https://www.example.com",
  "logo": "https://www.example.com/logo.png",
  "contactPoint": {
    "@type": "ContactPoint",
    "telephone": "+1-123-456-7890",
    "contactType": "Customer Service"
  }
}
</script>

示例二:产品信息

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Example Product",
  "image": "https://www.example.com/product.jpg",
  "description": "This is an example product.",
  "brand": {
    "@type": "Brand",
    "name": "Example Brand"
  },
  "offers": {
    "@type": "Offer",
    "price": "99.99",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock"
  }
}
</script>

示例三:文章信息

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "JSON-LD详解",
  "datePublished": "2023-01-01",
  "dateModified": "2023-01-02",
  "author": {
    "@type": "Person",
    "name": "John Doe"
  },
  "publisher": {
    "@type": "Organization",
    "name": "Example Publisher",
    "logo": {
      "@type": "ImageObject",
      "url": "https://www.example.com/publisher-logo.png"
    }
  },
  "description": "这是一篇关于JSON-LD的详细介绍文章。"
}
</script>

示例四:面包屑导航

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Home",
      "item": "https://your-domain.com"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Blog",
      "item": "https://your-domain.com/blog"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "{title}",
      "item": "https://your-domain.com/blog/detail/{id}"
    }
  ]
}
</script>
6.4 JSON-LD的优势
  • 分离性:JSON-LD可以与HTML内容分离,不影响页面结构和显示。

  • 灵活性:支持嵌套结构,可以表示复杂的实体关系。

  • 机器可读性:便于搜索引擎和其他机器理解页面内容。

  • 广泛支持:被Google、Bing、Yahoo等主要搜索引擎支持。

6.5 实际应用

JSON-LD通常嵌入在HTML页面的 <head> 部分或 <body> 末尾,使用 <script> 标签并设置 type="application/ld+json" 属性。即:

<script type="application/ld+json">
   // 这里是JSON-LD数据,见6.2 JSON-LD的基本结构
</script>
6.6 JSON-LD 的重要性?

JSON-LD 是一种用于在 Web 上传播链接数据的轻量级格式,它本质上是标准 JSON 的超集。

  • SEO 优化:Google 等主流搜索引擎强烈推荐使用 JSON-LD 在网页中嵌入结构化数据(如文章、产品、面包屑导航等),以生成丰富的搜索结果(Rich Results)。

  • 语义网与互操作性:它通过 @context@id@type 等关键字,为数据赋予了明确的语义,解决了不同系统间的数据孤岛问题,让机器能更好地理解数据之间的关系。

总结

总结来说,Schema.org是一个强大的工具,能让你的网站内容“开口说话”,从而在搜索结果中获得更好的展示。

  • 明确目标:首先想清楚你希望网页在搜索结果中以何种“富媒体”形式呈现,这决定了需要使用的类型。

  • 优先使用JSON-LD:这是当前最主流、最受搜索引擎推荐的实现格式。

  • 始终进行验证:部署前务必使用Google测试工具检查,确保代码无错且能被正确识别。

JSON-LD 官方网站概览

访问 json-ld.org,你可以找到以下核心内容:

  • 规范文档 (Documentation): 提供了 JSON-LD 1.0 和 1.1 版本的官方 W3C 推荐标准链接,帮助你深入了解其语法和数据模型。

  • 在线游乐场 (Playground): 这是一个非常实用的交互式工具(JSON-LD Playground),允许你实时编写、验证和转换 JSON-LD 代码,查看数据在“压缩”、“扩展”和“扁平化”等不同状态下的表现。

  • 处理器与库 (Processors): 列出了多种编程语言(如 JavaScript、Python、Java、PHP、Ruby 等)的开源 JSON-LD 处理库,方便你在项目中集成。

除了官网本身,以下链接对于使用 JSON-LD 也至关重要:

资源名称

网址

说明

Schema.org

schema.org

最常用的词汇表。虽然不是 JSON-LD 官网,但它是 JSON-LD 最主要的 @context 来源,定义了网页结构化数据的标准类型。

GitHub 仓库

github.com/json-ld/json-ld.org

JSON-LD 官方网站的源代码及社区问题跟踪平台。

W3C 规范页

w3.org/TR/json-ld11

W3C 官方发布的 JSON-LD 1.1 处理算法和 API 规范文档,适合深度技术查阅。

彩蛋

本文于 Cnb 平台呈现了完整的Schema.org示例代码,欢迎前往阅读《Schema.org 数据模型 Demo》以获取详尽内容。