搜索引擎很擅长阅读文字,但它们仍然需要猜测事物是什么。“苹果”是水果还是公司?“¥399”是价格吗?是哪个产品的价格?那个日期是活动开始的时间,还是文章发布的时间?
结构化数据消除了这种猜测。它是一种用共享词汇表 schema.org 为页面内容加上标签的代码,让搜索引擎和 AI 系统能够准确地理解内容。
结构化数据能为你做什么
- 获得富媒体搜索结果的资格:增强型的搜索结果展示,比如产品价格和评分、面包屑导航、活动日期、食谱详情和视频缩略图
- 更好的理解:帮助搜索引擎把你的组织、产品、作者和内容作为实体关联起来
- 为阅读页面来生成答案的 AI 系统提供更清晰的信号
结构化数据不是直接的排名因素。但富媒体搜索结果在结果页面上很醒目,往往能获得更多点击,而清晰的实体信息能帮助机器准确地呈现你的业务。
JSON-LD:推荐的格式
结构化数据有三种格式:JSON-LD、Microdata 和 RDFa。Google 推荐使用 JSON-LD,它是一段放在页面中的脚本,不会和你的 HTML 纠缠在一起:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Acme Coffee Roasters",
"url": "https://acmecoffee.example",
"logo": "https://acmecoffee.example/logo.png",
"sameAs": [
"https://www.instagram.com/acmecoffee",
"https://www.linkedin.com/company/acmecoffee"
]
}
</script>
@context说明使用的是哪个词汇表(schema.org)@type说明这个东西是什么- 其他属性对它进行描述
为文章、常见问题、产品、商家、活动等创建 JSON-LD 结构化数据。
大多数网站需要的 schema 类型
Organization(或 LocalBusiness):用于首页
描述你是谁:名称、URL、logo、社交媒体主页和联系方式。本地商家应使用 LocalBusiness(或更具体的子类型,如 Restaurant 或 Dentist),并写明地址、电话和营业时间。
WebSite:用于首页
声明你的网站名称,Google 可能会把它用作搜索结果中显示的网站名称。
BreadcrumbList:用于大多数页面
描述页面在网站层级中的位置。Google 经常在搜索结果中显示面包屑导航,而不是原始 URL。
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "首页", "item": "https://example.com/" },
{ "@type": "ListItem", "position": 2, "name": "指南", "item": "https://example.com/guides/" },
{ "@type": "ListItem", "position": 3, "name": "在家堆肥" }
]
}
Article / BlogPosting:用于文章
标题、作者、发布和更新日期以及图片。作者和日期信息也有助于建立信任信号。
Product:用于产品页面
名称、图片、描述、品牌,以及包含价格、币种和库存状态的 Offer。添加真实的评价评分可以让产品有资格显示评价星级。商家信息功能还会使用配送和退货政策信息。
其他有用的类型
- Event:名称、日期、地点和门票
- Recipe:配料、烹饪时间、评分
- VideoObject:标题、缩略图、上传日期和时长
- JobPosting:用于 Google 招聘搜索中的职位信息
- FAQPage:问题和答案
关于 FAQ 和 HowTo 的说明:自 2023 年起,Google 主要只为知名、权威的政府和健康类网站显示 FAQ 富媒体结果,并已停止显示 HowTo 富媒体结果。这些标记仍然有效,可以帮助机器理解问答内容,但大多数网站不应指望获得这些富媒体结果。
需要遵守的规则
- 只标记页面上可见的内容。 描述用户看不到的内容违反 Google 的指南。
- 保持准确。 价格、库存状态和评分必须与页面一致。
- 不要虚假评价。 自我推销式的评价标记(商家在自己的网站上标记关于自己的评价)在 Google 中没有资格显示评价星级。
- 使用最具体的适用类型(用 Restaurant,而不只是 LocalBusiness)。
- 为你想获得的富媒体结果包含必需属性和推荐属性。
违反这些规则可能会导致人工处置措施,使你的网站失去富媒体搜索结果。
如何添加结构化数据
- WordPress:SEO 插件(Yoast、Rank Math、All in One SEO)会自动添加 Organization、WebSite、Article 和 Breadcrumb 标记;WooCommerce 会添加 Product 标记
- Shopify:大多数主题都包含 Product 标记;应用可以对其进行扩展
- 自定义网站:在页面模板中添加 JSON-LD,并由填充页面的同一份数据生成
- Google 跟踪代码管理器可以注入 JSON-LD,但服务器端输出的标记更可靠
如何测试你的标记
- 验证语法:少一个逗号就会让整个代码块无效
- 检查是否缺少推荐属性
- 使用 Google 的富媒体搜索结果测试,确认是否有资格获得特定的富媒体结果
- 监控 Search Console 的增强功能报告,了解全站的错误
提取并检查页面的 JSON-LD 和 microdata 结构化数据,或粘贴代码进行测试。
用 @graph 组合多种类型
页面往往需要多种类型。你可以使用多个脚本块,也可以把它们组合在一个 @graph 中,并用 @id 引用把它们关联起来。例如,一篇 Article 的发布者是同一页面上定义的 Organization。两种做法都有效。
一个完整的本地商家示例
下面是一家虚构咖啡馆的首页标记,它把多种类型组合在一个 @graph 中:
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "CafeOrCoffeeShop",
"@id": "https://douye.example/#business",
"name": "豆叶咖啡",
"url": "https://douye.example/",
"image": "https://douye.example/images/storefront.jpg",
"telephone": "+86 21 5555 0123",
"priceRange": "¥¥",
"address": {
"@type": "PostalAddress",
"streetAddress": "武康路 100 号",
"addressLocality": "徐汇区",
"addressRegion": "上海市",
"postalCode": "200031",
"addressCountry": "CN"
},
"openingHours": ["Mo-Fr 07:30-17:00", "Sa 09:00-16:00"],
"sameAs": ["https://www.instagram.com/douyecoffee"]
},
{
"@type": "WebSite",
"@id": "https://douye.example/#website",
"name": "豆叶咖啡",
"url": "https://douye.example/",
"publisher": { "@id": "https://douye.example/#business" }
}
]
}
@id 值让 WebSite 可以引用这家商家,而无需重复其详细信息。标记中的每一项事实(地址、电话、营业时间)都必须与访客在页面上和你的 Google 商家资料中看到的一致。
详解产品的结构化数据
产品页面是结构化数据最常产生可见效果的地方。一个完善的 Product 代码块包括:
name、image(尽可能提供多张图片)和descriptionbrand、sku,以及可用时的全球标识符,如gtin- 包含
price、priceCurrency、availability和产品url的offers aggregateRating和review:仅限页面上展示的、来自顾客的真实评价- 配送详情和退货政策信息,它们会用于 Google 的商家信息功能
保持价格同步。如果标记写的是 ¥399,而页面上写的是 ¥459,Google 可能会忽略这个标记,或在 Search Console 中发出警告。
结构化数据与 AI 系统
搜索引擎和 AI 系统越来越多地以实体(人物、组织、产品、地点)及其相互关系来思考。结构化数据是陈述这些事实最清晰的方式之一:谁发布了这篇文章、哪个组织在销售这款产品、这家商家位于哪里。在你的网站、结构化数据、社交媒体主页和商家信息中保持一致的实体信息,能让任何机器都更容易正确地描述你的业务。
长期维护结构化数据
模板变化时,标记会悄无声息地失效。养成几个习惯:
- 用渲染页面的同一份数据生成 JSON-LD,让两者不会出现偏差
- 每次更新模板或主题后都验证标记
- 每月查看 Search Console 的增强功能报告,看是否有新的错误或警告
- 每年查阅一次 schema.org 和 Google 的文档,了解新增的属性和已弃用的功能
要点总结
- 结构化数据用 schema.org 词汇表为你的内容加上标签,让机器准确地理解它。
- 使用 Google 推荐的格式 JSON-LD。
- 大多数网站需要 Organization 或 LocalBusiness、WebSite、BreadcrumbList,以及 Article 或 Product 标记。
- 只标记页面上可见的信息,并保持准确。
- 有效的标记让页面有资格获得富媒体结果,但并不保证一定能获得。
- 模板变更后验证标记,并关注 Search Console 的增强功能报告。
常见问题
Schema 标记能提升排名吗?
不能直接提升。它帮助搜索引擎理解你的内容,并可能带来富媒体搜索结果,而富媒体结果往往能提高点击率。
为什么我的 schema 有效,却没有出现富媒体结果?
有效的标记只是让页面有资格获得富媒体结果,并不保证一定出现。Google 还会考虑内容质量、是否遵守政策,以及富媒体结果是否适合该查询。
一个页面上可以使用多种 schema 类型吗?
可以。一个产品页面可以同时使用 Product、BreadcrumbList 和 Organization。
应该使用 Microdata 还是 JSON-LD?
JSON-LD。它是 Google 推荐的格式,也是最容易维护的。
检测你自己的网站
免费运行 55+ 项检查,每个问题都有修复方法。