JSON-LD(JSON for Linked Data)是一种基于 JSON 格式的结构化数据标记语言,旨在帮助搜索引擎和其他应用程序更好地理解网页内容。无论是提升 SEO 表现、增强搜索结果的展示效果,还是支持语音搜索和 AI 助手,JSON-LD 都扮演着重要角色。本文将详细介绍 JSON-LD 的语法、使用场景、最佳实践以及常见问题,帮助读者全面掌握 JSON-LD 的使用方法。
JSON-LD 是一种基于 JSON 的格式,用于在网页中嵌入机器可读的数据。它的核心目标是通过语义化的标记,帮助搜索引擎和其他应用程序更好地理解网页内容。JSON-LD 的主要特点包括:
JSON-LD 的语法与 JSON 完全兼容,主要由以下几个部分组成:
JSON-LD 定义了一些核心关键字(以 @
开头),用于描述数据的结构和语义:
关键字 | 作用 |
---|---|
@context | 定义数据的上下文,通常指向 Schema.org 的词汇表。 |
@type | 指定数据的类型,例如 Product 、Person 、FAQPage 等。 |
@id | 为数据提供一个唯一的标识符(URI)。 |
@value | 用于指定属性的值。 |
@language | 用于指定文本的语言(例如 "en" 表示英语)。 |
@graph | 用于定义一组独立的数据节点。 |
@reverse | 用于反转属性的方向(例如将 parent 反转为 child )。 |
一个 JSON-LD 数据块通常包含以下部分:
@context
:定义数据的上下文。@type
:指定数据的类型。{
"@context": "https://schema.org",
"@type": "Product",
"name": "示例产品",
"description": "这是一个示例产品的描述。"
}
JSON-LD 使用 Schema.org 的词汇表来定义数据类型和属性。以下是一些常见的数据类型及其属性:
类型 | 描述 |
---|---|
Product | 描述一个产品,例如名称、描述、价格等。 |
Person | 描述一个人,例如姓名、职业、联系方式等。 |
Organization | 描述一个组织,例如名称、地址、联系方式等。 |
FAQPage | 描述一个常见问题解答页面,包含问题和答案。 |
BreadcrumbList | 描述页面的面包屑导航结构。 |
Event | 描述一个事件,例如名称、时间、地点等。 |
JSON-LD 支持嵌套数据结构,可以用于描述复杂的关系。例如,一个 Product
可以嵌套 offers
属性,而 offers
本身又是一个对象。
{
"@context": "https://schema.org",
"@type": "Product",
"name": "示例产品",
"description": "这是一个示例产品的描述。",
"offers": {
"@type": "Offer",
"price": "99.99",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
}
}
JSON-LD 支持数组,可以用于描述多个值或多个对象。例如,一个 FAQPage
可以包含多个问题和答案。
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "示例问题 1",
"acceptedAnswer": {
"@type": "Answer",
"text": "这是示例问题 1 的答案。"
}
},
{
"@type": "Question",
"name": "示例问题 2",
"acceptedAnswer": {
"@type": "Answer",
"text": "这是示例问题 2 的答案。"
}
}
]
}
通过 @language
关键字,可以为文本指定语言。
示例:多语言支持
{
"@context": "https://schema.org",
"@type": "Product",
"name": {
"@value": "示例产品",
"@language": "zh"
},
"description": {
"@value": "这是一个示例产品的描述。",
"@language": "zh"
}
}
关于在 JSON-LD 多语言的更多用法和细节详情请阅读文章:JSON-LD 多语言支持详解:如何同时描述多种语言
JSON-LD 可以帮助搜索引擎更好地理解网页内容,从而提升搜索排名和展示效果。例如:
JSON-LD 为语音助手(如 Google Assistant、Siri)提供了清晰的内容结构,使其更容易提取和回答用户问题。
JSON-LD 可以用于数据集成和共享,帮助不同系统之间更好地理解和交换数据。
是的,一个页面可以放置多个 JSON-LD 数据块。可以通过多个 <script>
标签或合并 JSON-LD 数据实现。
不一定。JSON-LD 可以放在任何包含相关内容的页面上,例如主页、产品页面、博客文章等。
可以使用以下工具验证 JSON-LD:
在 JSON-LD 中实现多语言支持时,可以通过多种方式同时描述多种语言的内容。详情可参考文章:如何在 JSON-LD 中使用多语言
JSON-LD 是一种强大的结构化数据标记语言,适用于 SEO 优化、语音搜索、数据集成等多种场景。通过合理使用 JSON-LD,可以显著提升网页的搜索可见性和用户体验。希望本文能帮助读者全面掌握 JSON-LD 的使用方法,解决实际应用中的问题。
附录: