
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后,您可以使用以下工具验证其正确性:
Google Search Console:结构化数据测试工具。
Schema Markup Validator:https://validator.schema.org/
Google Rich Results Test:https://search.google.com/test/rich-results
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
最常用的词汇表。虽然不是 JSON-LD 官网,但它是 JSON-LD 最主要的 @context 来源,定义了网页结构化数据的标准类型。
GitHub 仓库
JSON-LD 官方网站的源代码及社区问题跟踪平台。
W3C 规范页
W3C 官方发布的 JSON-LD 1.1 处理算法和 API 规范文档,适合深度技术查阅。
彩蛋
本文于 Cnb 平台呈现了完整的Schema.org示例代码,欢迎前往阅读《Schema.org 数据模型 Demo》以获取详尽内容。