什么是结构化数据(Schema)?

定义
结构化数据(Structured Data)或模式标记(Schema Markup)是以标准化格式显示网页内容的代码,以便搜索引擎能够更好地理解它。虽然普通HTML是为人类读者设计的,但结构化数据是为机器(搜索引擎)设计的,以便精确理解。例如,当有文本"詹姆斯·邦德"时,结构化数据会添加元数据,以便搜索引擎可以清楚地知道它是电影标题还是人名。
结构化数据主要使用Schema.org的词汇表,并以JSON-LD、Microdata、RDFa等格式实现。其中,JSON-LD(JavaScript Object Notation for Linked Data)最为广泛使用,也是Google推荐的。JSON-LD与HTML分离,便于管理,并以JSON格式写在脚本标签内,因此不需要修改现有的HTML结构。
当结构化数据正确实现时,您可以获得增强的搜索结果,如富片段(Rich Snippet)、富卡片(Rich Card)和知识图谱(Knowledge Graph)。例如,为食谱页面添加结构化数据可以在搜索结果中直接显示烹饪时间、卡路里和评分,大大提高点击率。
特点
- 增强搜索结果:使用结构化数据可以在搜索结果中直接显示评分、价格、库存状态、活动日期等,显著提高点击率(CTR)。
- 语音搜索优化:Google助手、Siri、Alexa等语音助手可以更好地理解网页信息并用于语音回答。
- 知识面板曝光:适当的结构化数据可以让您出现在Google的知识面板或搜索结果顶部的卡片格式中。
- 支持各种内容类型:存在用于各种内容类型的模式,包括产品、食谱、活动、文章、评论、视频、常见问题和招聘信息。
- 提高搜索引擎理解度:清晰地传达页面的上下文和关系,帮助搜索引擎更准确地分类内容并与相关搜索查询匹配。
使用方法
以下是有效实施和管理结构化数据的方法。
第1步:识别内容类型 首先,确定您的网页具有什么类型的内容。从Schema.org提供的数百种模式中选择合适的模式。常用类型包括Article(文章)、Product(产品)、Recipe(食谱)、Event(活动)、Organization(组织)、Person(人物)、LocalBusiness(本地企业)和Review(评论)。
第2步:编写JSON-LD代码 根据所选模式类型以JSON-LD格式编写结构化数据。参考Schema.org文档包含必需和推荐属性。使用Google的结构化数据标记助手可以更轻松地完成此操作。
第3步:插入HTML
将编写的JSON-LD代码用<script type="application/ld+json">标签包装后插入网页的<head>或<body>标签内。通常建议将其放置在<head>部分。
第4步:测试和验证 使用Google的富结果测试(Rich Results Test)或模式标记验证器(Schema Markup Validator)验证结构化数据是否正确实现。立即修复任何错误或警告。
第5步:使用Google Search Console监控 在Google Search Console的"增强功能"部分监控结构化数据的状态。发现错误时会收到通知,并可以查看哪些页面有问题。
第6步:持续更新 每当内容更改时,结构化数据也需要一起更新。特别是价格、库存状态、活动日期等经常变化的信息必须保持准确。使用自动化工具或CMS插件可以使管理更容易。
示例
示例1:博客文章(Article)模式
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "什么是反向链接?SEO初学者完整指南",
"image": [
"https://zero-coke.com/img/backlink-guide.jpg"
],
"datePublished": "2024-03-23T09:00:00+09:00",
"dateModified": "2024-03-23T14:30:00+09:00",
"author": {
"@type": "Person",
"name": "张三",
"url": "https://zero-coke.com/author/zhang"
},
"publisher": {
"@type": "Organization",
"name": "Zero-Coke",
"logo": {
"@type": "ImageObject",
"url": "https://zero-coke.com/logo.png"
}
},
"description": "以初学者也能理解的方式解释反向链接的定义、特点和使用方法。",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://zero-coke.com/blog/what-is-backlink"
}
}
</script>
示例2:产品(Product)模式
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "无线蓝牙耳机 XYZ-2000",
"image": [
"https://example.com/photos/earphone-front.jpg",
"https://example.com/photos/earphone-side.jpg"
],
"description": "配备噪音消除功能的高级无线耳机",
"brand": {
"@type": "Brand",
"name": "TechSound"
},
"sku": "XYZ2000-BLK",
"mpn": "925872",
"offers": {
"@type": "Offer",
"url": "https://example.com/product/xyz2000",
"priceCurrency": "CNY",
"price": "899",
"priceValidUntil": "2024-12-31",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.7",
"reviewCount": "342"
}
}
</script>
示例3:食谱(Recipe)模式
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Recipe",
"name": "简单泡菜汤食谱",
"image": "https://example.com/photos/kimchi-jjigae.jpg",
"author": {
"@type": "Person",
"name": "厨师朴英姬"
},
"datePublished": "2024-03-20",
"description": "20分钟完成的美味泡菜汤",
"prepTime": "PT10M",
"cookTime": "PT10M",
"totalTime": "PT20M",
"recipeYield": "4人份",
"recipeCategory": "主菜",
"recipeCuisine": "韩国料理",
"keywords": "泡菜汤、韩国料理、简单食谱",
"nutrition": {
"@type": "NutritionInformation",
"calories": "250卡路里"
},
"recipeIngredient": [
"陈泡菜 300克",
"猪肉 200克",
"豆腐 1/2块",
"大葱 1根",
"辣椒粉 1汤匙"
],
"recipeInstructions": [
{
"@type": "HowToStep",
"text": "将泡菜和猪肉切成一口大小。"
},
{
"@type": "HowToStep",
"text": "在锅中炒泡菜和肉。"
},
{
"@type": "HowToStep",
"text": "加水煮沸,然后加入豆腐和大葱。"
}
],
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"ratingCount": "127"
}
}
</script>
示例4:常见问题(FAQ)模式
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "有多少反向链接才有效?",
"acceptedAnswer": {
"@type": "Answer",
"text": "质量比数量重要得多。来自权威网站的一个反向链接可能比来自低质量网站的100个反向链接更有价值。"
}
},
{
"@type": "Question",
"name": "购买反向链接怎么样?",
"acceptedAnswer": {
"@type": "Answer",
"text": "购买反向链接明确违反了Google的指南。如果被发现,您可能会受到严重的惩罚,最坏的情况下,您可能会从搜索结果中完全删除。"
}
}
]
}
</script>
示例5:活动(Event)模式
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Event",
"name": "2024年网络开发大会",
"description": "学习最新网络开发趋势和技术的年度会议",
"image": "https://example.com/conference-2024.jpg",
"startDate": "2024-09-15T09:00:00+09:00",
"endDate": "2024-09-15T18:00:00+09:00",
"eventStatus": "https://schema.org/EventScheduled",
"eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
"location": {
"@type": "Place",
"name": "首尔COEX会展中心",
"address": {
"@type": "PostalAddress",
"streetAddress": "永东大路513号",
"addressLocality": "首尔",
"addressRegion": "江南区",
"postalCode": "06164",
"addressCountry": "KR"
}
},
"organizer": {
"@type": "Organization",
"name": "韩国网络开发者协会",
"url": "https://example.com"
},
"offers": {
"@type": "Offer",
"url": "https://example.com/tickets",
"price": "50000",
"priceCurrency": "KRW",
"availability": "https://schema.org/InStock",
"validFrom": "2024-06-01T00:00:00+09:00"
}
}
</script>