必须使用 schema.org/course 类型,name 和 provider(含 @type: "organization"、name、sameas)为强制必填字段,provider.sameas 域名须与当前页一致且为 https,部署后用 rich results test 验证。

Course课程结构化数据该用哪个Schema类型
必须用 Course 类型,不是 Event 或 Organization。Google 搜索文档明确要求课程类信息使用 https://schema.org/Course,否则无法触发课程富媒体搜索结果(如课程时长、提供方、学分等字段展示)。
常见错误是套用 WebPage 或 Article,这类标记不会被 Google 课程索引识别。注意:该类型不支持嵌套在 ItemList 中作为子项——必须作为顶层 @type 出现。
关键必填字段有哪些
name 和 provider 是 Google 强制要求的两个字段,缺一不可。其中 provider 必须是 Organization 类型对象,不能只写字符串。
-
name:课程全称,建议与页面<h1></h1>内容一致,避免营销话术(如“?爆款实战课!”) -
provider:需包含@type: "Organization"、name(机构名)、sameAs(官网 URL) -
description:纯文本,长度建议 50–200 字,不能含 HTML 标签或换行符 -
educationalLevel:如"BachelorDegree"、"ProfessionalTraining",值必须来自 Schema 官方枚举
时间、学分、授课方式怎么标才有效
Google 目前仅解析 courseWorkload(总学习时长)和 timeRequired(单次课时长),其他如 startDate 或 endDate 不影响课程富结果,但可保留供其他工具使用。
学分字段必须用 educationalCreditValue,且值为数字(如 3.0),不能带单位(如 “3学分”)。授课方式用 teaches 关联 DefinedTerm,例如标注“Python编程”“机器学习基础”等具体技能点,而非宽泛分类(如“IT培训”)。
示例片段:
{
"@type": "Course",
"name": "数据结构与算法(Python实现)",
"description": "涵盖链表、树、图、动态规划等核心内容,配套LeetCode真题训练。",
"courseWorkload": "PT40H",
"educationalCreditValue": 4.0,
"teaches": [
{"@type": "DefinedTerm", "name": "二叉树遍历"},
{"@type": "DefinedTerm", "name": "Dijkstra算法"}
]
}
部署后怎么验证是否生效
直接用 Google 的 Rich Results Test 工具(非 Structured Data Testing Tool 旧版),输入页面 URL 或粘贴 HTML 片段。重点看两点:
- 是否出现 “Course” 类型识别成功提示
- 错误栏里有没有
Missing field: provider或Invalid value for educationalLevel
上线后通常 3–7 天才能出现在课程搜索结果中,期间若修改了 name 或 provider.name,需重新提交 URL 检查。注意:如果页面同时存在多个 Course 标记,Google 只取第一个,其余忽略。
最常被忽略的是 provider.sameAs 域名与当前页面域名不一致,或用了 HTTP 而非 HTTPS,这会导致验证通过但实际不展示富结果。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











