本文档是
gsc-structured-data-overview.md的纯中文版,内容由原版生成。原版是 single source of truth,改动请改原版,本版本随原版重生。保留原文:schema.org 类型名(Article / Product 等)、JSON-LD 字段名(headline/image等)、Google 工具名(Search Console / Rich Results Test 等)、技术缩写(JSON-LD / GTM / URL 等)。一句话:结构化数据(Structured Data,简称 SD)= 在网页里加上 schema.org 标签,明确告诉 Google 这页内容是什么(食谱里的食材 / 文章作者 / 商品价格 等等)→ 触发 rich result(富搜索结果)。Google 共支持 34 种类型,本 wiki 是入口 + 每个类型的关键坑。具体的字段表见 search-gallery 官方文档。
TL;DR(一分钟看完)— 7 个核心决策
| 决策 | 答案 |
|---|---|
| 用什么格式? | JSON-LD(推荐),放在 <script type="application/ld+json"> 里,放 <head> 或 <body> 都行 |
| Microdata / RDFa 还能用吗? | 能用,但容易出错,JSON-LD 最容易维护 |
data-vocabulary.org 还能用吗? |
不能,2020 年已废弃 |
| 标了就一定显 rich result 吗? | 不一定,标只是"允许参选",最终由 Google 算法决定是否显示 |
| 字段越多越好吗? | 不是,"少而准" > "多而错"。完整 + 准确 > 全列但残破 |
| 测试用什么? | Rich Results Test(Google 专用)/ Schema Markup Validator(通用 schema.org 校验) |
| 不可见的内容能标吗? | ❌ 不能 — 必须与页面可见内容一致,否则视为作弊 |
第 1 部分 — 框架:怎么用结构化数据
1.1 为什么用
来自一些案例研究的数据:
- Rotten Tomatoes:10 万页加上 SD → 点击率(CTR)+25%
- Food Network:80% 的页加 SD → 访问量 +35%
- Rakuten:加 SD 的页用户停留时间是 1.5 倍,AMP+SD 比仅 AMP 3.6 倍互动
- Nestlé:出 rich result 的页 CTR 比普通页 +82%
1.2 3 种格式怎么选
| 格式 | 优点 | 缺点 | 何时用 |
|---|---|---|---|
| JSON-LD ⭐ | <script> 独立块,不跟可见 HTML 混在一起 / 支持 JS 动态注入 / 嵌套深也好写 |
跟可见 HTML 解耦,容易脱节 | 首选 |
| Microdata | 跟可见 HTML 紧耦合 | 工程繁琐 / 出错率高 | 老站维护用 |
| RDFa | HTML5 扩展 / 支持 linked data(关联数据) | 复杂 | 经验丰富的用户 |
1.3 5 条质量准则 ⭐⭐⭐
A. 内容(Content)
- 遵守 spam policy(垃圾内容政策)
- 保持最新(过期信息 Google 不显)
- 原创内容(你自己写的或用户产生的)
- ❌ 不要标不可见的内容(JSON-LD 里说有 performer 字段,HTML 正文里就必须有)
- ❌ 不要标不相关 / 误导性的内容(假的评价 / 跟页面主题无关的内容)
- ❌ 不要冒充 / 误导身份 / 隶属关系 / 主要目的
B. 相关性(Relevance)
SD 必须真实代表页面:
- ❌ 体育直播站把广播(broadcast)标成 local event(本地活动)
- ❌ 木工站把教程标成 recipe(食谱)
C. 完整性(Completeness)
- 必须填必填字段才能"够格"(eligible)显 rich result
- 推荐字段填得越多 → 质量越高 → rich result 排名加分(应聘者更喜欢标了薪资的招聘;食谱有真实用户评价加分)
D. 位置(Location)
- SD 要放在它所描述的那个页面上
- 重复的页面(http 和 https / www 和 非 www)两个版本都要标同样的 SD
E. 具体性(Specificity)
- 用 schema.org 里最具体的 type / property(用
NewsArticle而不是CreativeWork) - 看具体 feature 文档里的额外指导
F. 图片(Images)
- 图必须跟页面相关(
NewsArticle.image要配新闻内容) - 图的 URL 必须可以被爬取和索引
1.4 一个页面有多个 item 的 2 种模式
模式一:嵌套(Nesting) — 主 item 嵌套子 item,适合关联紧密的场景:
{
"@type": "Recipe",
"name": "Banana Bread",
"aggregateRating": { "@type": "AggregateRating", "ratingValue": 4.7, "ratingCount": 123 },
"video": { "@type": "VideoObject", "name": "How To...", "contentUrl": "..." }
}
模式二:用 @id 链接独立 item — 适合多个独立 item 的场景:
[
{ "@type": "Recipe", "@id": "https://example.com/banana-bread", "name": "..." },
{ "@type": "BreadcrumbList", "itemListElement": [...] }
]
⚠️ 如果不用 @id 链接,Google 可能不知道视频是关于食谱的。
1.5 用主类型 + 辅助类型解锁多种 rich result
例:一个食谱页:
- 主:
Recipe - 辅:
Video+Review+BreadcrumbList
→ 可以同时"够格"显食谱 rich result / 视频搜索 / 评价 snippet(摘要)。
1.6 测试 + 部署 5 步
1. 加上必填的属性
2. 遵守指南
3. 用 Rich Results Test 验证语法
4. 部署后用 URL Inspection 工具看 Google 渲染后的版本
5. 提交 sitemap;在 Search Console 的 Rich Results status report 里跟进
1.7 监控
Search Console → Rich result status reports(富结果状态报告,每个 type 一份)。出问题修完 → 提交 review(复审)。
1.8 SD 作弊会被人工处罚(manual action)
出现问题 → 失去 rich result 资格,但不影响普通网页搜索的排名。在 Search Console 的 Manual Actions report(人工处罚报告)里查。
第 2 部分 — 34 种类型完整概览 ⭐⭐⭐
每条标注 必填(最核心的字段)+ gotcha(常见坑)+ search appearance(在搜索结果里的展现形式)。 完整字段表 → 点 type 名链接到 Google 官方文档。
2.1 新闻 / 文章类
Article / NewsArticle / BlogPosting
- 必填:
headline(标题) +image(1x1 / 4x3 / 16x9 三个比例)+datePublished(发布日期)+dateModified(修改日期)+author(Person或Organization,必须包含url字段,不能只有 name) - gotcha:
author.name要跟页面可见署名一致;作者是组织时也可以 - 展现形式:title link / 大图 / byline(署名)日期 / Top stories(头条)候选
Speakable(新闻朗读)
- 必填:
cssSelector或xPath,指向页面里可朗读的段落 - 适用:仅限新闻 + en-US / en-CA / en-AU / en-IE / en-NZ / en-UK 6 个区域
- gotcha:短段 ≤ 30 秒,只标题和导言
Subscription / Paywalled Content(订阅 / 付费墙内容)
- 必填:在
NewsArticle上加isAccessibleForFree: false+hasPart: { @type: "WebPageElement", isAccessibleForFree: false, cssSelector: "#paywall" } - gotcha:必须用 SD 标,否则 Googlebot 看到完整内容、用户看不到 = cloaking(掩饰)作弊
FactCheck(事实核查)
- 必填:
ClaimReview包含claimReviewed+reviewRating - gotcha:站点必须明显是事实核查专业站(独立第三方)
2.2 电商类
Product + ProductGroup
- 2 大类:
- Product snippet — 评测页(不能直接买)
- Merchant listing — 可以买的商品页(支持 size / shipping / return)
- 重叠:Merchant listing 必填的 product 信息通常自动也"够格"显 Product snippet
- 变体 → 用
ProductGroup+ 子Product
Product Snippet(评测 / 对比页)
- 强调
pros(优点) +cons(缺点) - review 信息丰富
Merchant Listing(可买)
- size(尺寸) / shipping(运费) / return(退货) / availability(库存) 等
Product Variants(商品变体)
ProductGroup父 + 多个Product子(每个变体一个独立 URL)- 帮 Google 理解哪些是"同款不同尺寸/颜色"
Review Snippet(评价摘要)
- 适用对象:
Book/Recipe/Movie/Product/SoftwareApp/LocalBusiness - 必填:
reviewRating+author+itemReviewed - ⚠️ 评分必须是真实用户的,假 5 星 → 人工处罚
Return Policy(退货政策,挂在 Organization 上)
- 嵌套在
Organization里 - 解锁 result enhancement(结果增强),在搜索结果里显退货政策
Shipping Policy(运费政策,挂在 Organization 上)
- 嵌套在
Organization里 - 显示运费 / 免运 / 时长
Loyalty Program(会员积分政策,挂在 Organization 上)
- 嵌套在
Organization里 - 显示积分 / 会员制
2.3 组织类
Organization
- 必填:
name(组织名) +url+logo(图) - 可选:
contactPoint/sameAs/legalName/taxID/iso6523Code/address - 展现形式:Knowledge Panel(右侧知识面板)
LocalBusiness(本地商家)
- 子类:
Restaurant(餐厅) /Hotel(酒店) /Store(商店) 等 - 必填:
name+image+address(PostalAddress) +priceRange(价格区间) + 通常还要openingHoursSpecification(营业时间) - 展现形式:Knowledge Panel 里显营业时间 / 评分 / 路线 / 预定/点单按钮
2.4 招聘类
JobPosting(招聘信息)
- 必填:
title(职位名) +description(完整 HTML 描述) +datePosted+hiringOrganization+jobLocation或applicantLocationRequirements - 强烈推荐:
baseSalary(标了薪资的招聘排名加分) - gotcha:
validThrough(有效期)必须设,过期后会自动从招聘搜索里移除;过期没删会触发人工处罚;站点必须有真实可申请的岗位,不能 spam
Employer Aggregate Rating(雇主总评分)
- 嵌套在
Organization下,表达雇主评分 - 数据需要多个用户的评价
2.5 娱乐类
Movie(电影)
- 必填:
name+image+dateCreated(发布日期) - 单页 / carousel(轮播)
- 嵌套
aggregateRating/director/actor
Event(活动,enriched search 富搜索!)
- 必填:
name+startDate+location - 线下活动:
location.@type = Place+address - 线上活动:
location.@type = VirtualLocation+url - 混合型:用数组
- eventStatus(活动状态):
EventScheduled(已排期) /EventRescheduled(改期) /EventCancelled(取消) /EventPostponed(延期) /EventMovedOnline(改为线上) - gotcha:必须是 leaf page(叶子页,单个活动的页),listing page(列表页)无效
Carousel(轮播,组合用)
- 不是独立的 type,必须组合:Recipe / Course / Restaurant / Movie 4 类
- 用
ItemList+itemListElement - 同一站点的多个 item 显成一个 carousel
Carousels Beta(新功能轮播)
- 多站轮播(单站之外的)
- 还在 beta(测试)阶段
Vacation Rental(度假租赁)
- 必填:
name+image+address+containsPlace+latitude/longitude+numberOfRooms等 - gotcha:进入有 application(申请)要求,必须先申请加入项目
2.6 餐饮类
Recipe(食谱,enriched search 富搜索!)
- 必填:
name+image+recipeIngredient(食材) +recipeInstructions(逐步做法) - 强烈推荐:
nutrition(营养) +aggregateRating+video+prepTime/cookTime/totalTime(用 ISO 8601 格式,如PT1H30M) - 单页 / 同站 carousel
- enriched(富化):用户可以按热量/时间搜索
2.7 教育和科学类
Course + Course List
- 单门课用
Course - 多门课的轮播用
ItemList包含Course子 - 必填:
name+description+provider
Education Q&A(教育问答)
- 教育卡片格式(学生学习用)
- 必填:
QAPage或Quiz+ 完整的问答内容
Math Solvers(数学解题器)
- 帮学生找数学问题的 step-by-step(逐步)解
- 必填:
MathSolver包含mathExpression+subjectOf(题解走查)
Dataset(数据集)
- 在 Google Dataset Search 里被发现
- 必填:
name+description+creator+distribution
2.8 问答 / 论坛 / 通用类
FAQPage ⚠️ 重大变更
⚠️ 从 2026-05-07 起 FAQ rich result 不再显示。 2026-06 工具下架。 2026-08 Search Console API 移除支持。 新站不必加,旧站可以留着。
- 历史:仅政府 / 医疗权威站可享 rich result(2023 起就已经缩限)
- 替代:用
QAPage(单个问题对应多用户答)
QAPage(问答页)
- 1 个问题 + 多个用户回答(论坛 / Stack Overflow / Quora 风格)
- 必填:
Question+ 至少 1 个Answer(可以是acceptedAnswer被采纳的 或suggestedAnswer推荐的) - gotcha:必须有真实的用户提问 + 真实的答案,自动生成的 FAQ 不行
Discussion Forum(论坛讨论)
- UGC(用户生成内容)短形式(论坛帖) + 树形或非树形讨论
- 必填:
DiscussionForumPosting包含headline+text+author+datePublished - gotcha:评论用
Comment嵌套
Profile Page(个人 / 组织主页)
- 关于单一 person / organization 的页(与该站相关联)
- 必填:
ProfilePage+ 含mainEntity是Person或Organization - gotcha:用于 Perspectives(多角度视图)等 filter
2.9 通用 / 跨域类
Breadcrumb(面包屑,BreadcrumbList)
- 必填:
itemListElement数组,每个ListItem包含position+name+item(URL,最后一项可以省 item) - 展现形式:在搜索结果里用面包屑替代 URL 显示
- 多条面包屑路径:同一个页面可以有多个
BreadcrumbList(当展示路径不止一条时)
Video(视频,VideoObject)
- 完整解析见 富功能 / Discover / Images / Video / Page Experience / Web Stories / SXG / Paywall 完全指南 第 3 部分
- 必填:
name+description+thumbnailUrl(缩略图) +uploadDate - 可加
contentUrl/embedUrl/duration/Clip子(Key Moments 关键时刻) /SeekToAction/BroadcastEvent(直播标识)
Book(图书)
- 单本书用
Book或系列用BookSeries - 必填:
name+author+workExample(每个版本 / 格式对应一个Book) - 适合书评站 / 出版社
Software App(软件应用)
- 必填:
name+applicationCategory+operatingSystem+offers或aggregateRating
Image License Metadata(图片版权元数据)
- 加
image元数据帮 Google Images 显示作者 / 使用许可 / 信息 - 必填(加在
ImageObject上):creator+creditText+copyrightNotice+license(URL 指向许可页) +acquireLicensePage(URL 指向购买/获取许可页)
2.10 Carousel 详细组合规则
只有 4 类可以做单站 carousel(用 ItemList 包):
- Recipe(食谱)carousel
- Course(课程)carousel
- Restaurant(
LocalBusiness的子类,餐厅)carousel - Movie(电影)carousel
格式:
{
"@context": "https://schema.org",
"@type": "ItemList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "url": "https://example.com/recipe-1" },
{ "@type": "ListItem", "position": 2, "url": "https://example.com/recipe-2" }
]
}
每个 listItem 的 URL 必须指向一个独立的叶子页(leaf page)(完整的 SD 在那个页上)。
第 3 部分 — 用 JavaScript 生成 SD
3.1 两种路径
A. Google Tag Manager(GTM):
- 装 GTM
- 加一个 Custom HTML tag(自定义 HTML 标签)→ 粘上 JSON-LD
- 发布 container
- 用 GTM 变量从页面里提取数据(防止 SD 跟页面内容脱节)
function() { return document.title; }
B. 自定义 JS:
- 服务端渲染(SSR)SD + JS 补充
- 或纯 JS 生成 SD
- Google 渲染时能处理 DOM 里的 SD(WRS,Web Rendering Service,见 JavaScript SEO 全套(基础 + 诊断 + Dynamic Rendering + Lazy Loading))
3.2 ⚠️ Product 类 SD + JS 的特殊坑
Shopping crawl(购物抓取)频率会降低 + 可靠性变差,对快速变化的内容(库存 / 价格)是个问题。
修复方法:
- 优先服务端渲染(server-side render)Product 类 SD
- 服务器要有足够的容量应付 Google 增加的 crawl
3.3 测试
用 URL Inspection 工具看渲染后的 HTML 里是否真有 SD。
第 4 部分 — 图片版权元数据(Image License Metadata)详解
4.1 用途
让 Google Images 显示:
- 图片作者
- 许可信息
- 如何使用(免费 / 付费)
- 致谢(credit)
- 获取许可的页 URL
4.2 5 个必填 / 推荐字段(加在 ImageObject 上)
| 字段 | 含义 |
|---|---|
creator |
Person 或 Organization,带 name |
creditText |
显示的署名(可能跟 creator 不同) |
copyrightNotice |
© Brand Name 2024 形式的版权声明 |
license |
URL,指向许可页 |
acquireLicensePage |
URL,指向购买 / 获取许可页 |
4.3 实现示例
{
"@context": "https://schema.org/",
"@type": "ImageObject",
"contentUrl": "https://example.com/image.jpg",
"license": "https://example.com/license",
"acquireLicensePage": "https://example.com/how-to-license",
"creditText": "Labrador by Andy Wong",
"creator": { "@type": "Person", "name": "Andy Wong" },
"copyrightNotice": "© 2024 Andy Wong"
}
第 5 部分 — 反模式(常见错误)集锦
| # | 反模式 | 后果 |
|---|---|---|
| 1 | 标了不可见的内容(JSON 里说有 performer / HTML 里没) | 触发人工处罚,失去 rich result 资格 |
| 2 | 标了 misleading(误导) / irrelevant(不相关) 的内容(假评价) | 同上 |
| 3 | 用 data-vocabulary.org |
完全无效(2020 已废弃) |
| 4 | Microdata / RDFa / JSON-LD 混用同一个 type | Google 困惑,只选最完整那个 |
| 5 | 只填必填字段,推荐字段全空 | rich result 排名低 |
| 6 | 填全了推荐字段但不准确 / 不完整 | 比少填还糟 |
| 7 | SD 放在不相关的页(比如 BreadcrumbList 描述的是别的页) | 无效 |
| 8 | 重复内容只在 canonical(规范)页加 SD,duplicate(重复)页不加 | 两个版本都要加同样的 SD |
| 9 | 用宽泛的 CreativeWork 而不用具体的 NewsArticle |
specificity(具体性)损失 |
| 10 | 多条 review / FAQ 但只标其中一部分 | 误导,触发人工处罚 |
| 11 | 还期望 FAQ rich result(2026-05-07 已停) | 浪费工作量 — 用 QAPage / 改成 Article 替代 |
| 12 | 期望 Speakable 支持全部语言 | 仅限 6 个英语区域(en-US/CA/AU/IE/NZ/UK) |
| 13 | JobPosting 没设 validThrough |
过期岗位还显示 → 人工处罚 |
| 14 | Product 类 SD 用 JS 生成但不 SSR | shopping crawl 频率降,库存 / 价格不准 |
| 15 | Paywalled 内容没用 SD 标 | 被视为 cloaking 作弊 |
| 16 | Vacation Rental 没申请加入项目就加 SD | 无效 |
| 17 | 标了 Image License 但没有真实的许可 | 触发人工处罚 |
第 6 部分 — 完整类型索引(34 个)
| 类型 | 链接 | 类目 |
|---|---|---|
| Article / NewsArticle / BlogPosting | docs | 新闻 / 体育 |
| Book | docs | 娱乐 |
| Breadcrumb | docs | 通用 |
| Carousel | docs | 跟 Recipe / Course / Movie / Restaurant 组合用 |
| Carousels Beta | docs | Beta |
| Course / Course List | docs | 教育 |
| Dataset | docs | 教育 |
| Discussion Forum | docs | UGC |
| Education Q&A | docs | 教育 |
| Employer Aggregate Rating | docs | 招聘 |
| Event | docs | 娱乐 |
| FactCheck | docs | 新闻 |
| FAQPage ⚠️ 已废(2026-05-07) | docs | (废) |
| Image License Metadata | docs | 通用 |
| Job Posting | docs | 招聘 |
| Local Business | docs | 组织 |
| Loyalty Program | docs | 电商 |
| Math Solvers | docs | 教育 |
| Merchant Listing | docs | 电商 |
| Movie | docs | 娱乐 |
| Organization | docs | 组织 |
| Paywalled Content | docs | 新闻 |
| Product | docs | 电商 |
| Product Snippet | docs | 电商 |
| Product Variants | docs | 电商 |
| Profile Page | docs | 通用 |
| Q&A Page | docs | UGC |
| Recipe | docs | 餐饮 |
| Return Policy | docs | 电商 |
| Review Snippet | docs | 电商 / 评价 |
| Shipping Policy | docs | 电商 |
| Software App | docs | 通用 |
| Speakable | docs | 新闻(限 6 个英语区域) |
| Vacation Rental | docs | 需申请 |
| Video | docs | 通用 |
第 7 部分 — 工具
| 工具 | 用途 |
|---|---|
| Rich Results Test | Google 专用校验 + 预览 |
| Schema Markup Validator | 通用 schema.org 校验(不含 Google 特有 warning) |
| Search Console Rich result status reports | 部署后监控某 type 的错误 |
| Search Console URL Inspection | 单 URL 看 Google 实际收到了什么 |
⚠️ Structured Data Testing Tool 已迁移到 Schema Markup Validator(2020-12 迁移)。
第 8 部分 — 相关 wiki
- AI Overviews / AI Mode:不需要特殊的 schema,普通 SEO 就适用 搜索结果视觉元素全景 (Visual Gallery / Title / Snippet / Favicon / Sitelinks / Featured / AI / Translated / Preferred)
- 电商 6 大类 SD(BreadcrumbList / LocalBusiness / Organization / Product+ProductGroup / Review / VideoObject)详见: Ecommerce SEO 完全指南 (6 Surface / 4 Launch 策略 / Merchant Center / 6 SD 类型 / Pagination 3 模式 / Review 13 准则) 第 4 部分
- Article 配 publication-dates(发布日期):富功能 / Discover / Images / Video / Page Experience / Web Stories / SXG / Paywall 完全指南 第 11 部分
- 图片 SD 配 preferred image(首选图):富功能 / Discover / Images / Video / Page Experience / Web Stories / SXG / Paywall 完全指南 第 2 部分
- 视频 SD 详(Key Moments / Live Badge / Clip / SeekToAction):富功能 / Discover / Images / Video / Page Experience / Web Stories / SXG / Paywall 完全指南 第 3 部分
- Paywalled SD 配 flexible-sampling(灵活采样)6-10 篇/月:富功能 / Discover / Images / Video / Page Experience / Web Stories / SXG / Paywall 完全指南 第 9 部分
- SD 不可见内容 = cloaking 作弊:Google SEO 入门 + Search 工作原理 + Search Essentials 24 条 spam policy
- robots meta 跟 SD 的关系(
max-snippet不影响 SD 提供的内容):抓取与索引控制完全指南 (robots.txt / noindex / X-Robots-Tag / data-nosnippet / rel) 第 3.5 部分 - SD 必须 Googlebot 可爬(不能用 robots.txt block 或 noindex):Canonical / 重定向 / 网站迁移完全指南 (含 HTTP 状态码全表 + 503 临时停业 playbook)
- 每个 type 的详细字段:看 search-gallery 链接到官方文档
最后更新
2026-05-17 — 基于 Google Search Central 40 篇 appearance/structured-data 系列(2024-10 ~ 2026-05 最新)整理。重大变更:FAQ 从 2026-05-07 起 rich result 停。