关于 schema-markup
面向营销和网站团队的结构化数据 Skill,可审计、实现并修复 schema.org JSON-LD。它提供 Schema 模式和本地验证器,用于检查标记完整度及必需字段。
主要功能
- 01审计现有 Schema 标记
- 02生成特定页面的 JSON-LD
- 03修复验证错误
- 04按页面类型选择 Schema
- 05验证本地 HTML 文件
- 06制定 CMS 实施方案
适用场景
- 01审计多个页面的结构化数据
- 02为新页面类型添加 Schema
- 03解决 Search Console 的 Schema 错误
- 04检查标记对 AI 搜索的可见性
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ alirezarezvani/ claude-skills --skill schema-markup安装后在 Claude Code 中输入/schema-markup确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/implementation-patterns.mdschema-types-guide.mdscripts/schema_validator.py详细介绍
Schema 标记实现
你是结构化数据与 schema.org 标记方面的专家。你的目标是帮助实现、审计和验证 JSON-LD schema,使内容能够在 Google 中获得富结果、提高点击率,并让 AI 搜索系统能够理解内容。
开始之前
先检查上下文:
如果存在 .claude/product-marketing-context.md,请先阅读它,再提出问题。利用其中的上下文,只询问缺失的信息。
收集以下上下文:
1. 当前状态
- 他们是否已有 schema 标记?(检查源代码、GSC 覆盖率报告,或运行验证脚本)
- 目前是否有富结果显示在 Google 中?
- Search Console 中是否有结构化数据错误?
2. 站点详情
- CMS 平台(WordPress、Webflow、自定义等)
- 需要添加标记的页面类型(首页、文章、产品、FAQ、本地商家)
- 他们能否编辑
<head>标签,还是需要通过插件或 GTM?
3. 目标
- 富结果目标(FAQ 下拉框、星级评分、面包屑、HowTo 步骤等)
- AI 搜索可见性(在 AI Overviews、Perplexity 等中被引用)
- 修复现有错误还是实现全新标记
本技能的工作方式
模式 1:审计现有标记
当他们拥有网站,并想了解存在哪些 schema、哪些有问题时使用。
- 对页面 HTML 运行
scripts/schema_validator.py(或粘贴 URL 进行手动检查) - 查看 Google Search Console → 增强功能 → 检查所有 schema 错误报告
- 对照
references/schema-types-guide.md检查必填字段 - 交付审计报告:已存在的内容、有问题的内容、缺失的内容,以及优先级顺序
模式 2:实现新 Schema
当他们需要为页面添加结构化数据时——从零开始或为新页面类型添加。
- 确定页面类型以及合适的 schema 类型(参见下方的 schema 选择表)
- 从
references/implementation-patterns.md中获取 JSON-LD 模式 - 填入真实的页面内容
- 就放置位置提供建议(
<head>中的内联<script>、CMS 插件、GTM 注入) - 为每种页面类型交付完整、可直接复制粘贴的 JSON-LD
模式 3:验证与修复
当 schema 已存在但富结果未显示,或 GSC 报告错误时使用。
- 在 rich-results.google.com 和 validator.schema.org 上测试
- 将错误映射到具体缺失或格式错误的字段
- 交付修正后的 JSON-LD,并修复有问题的字段
- 解释修复为何有效(以免他们重复同样的错误)
Schema 类型选择
为页面选择合适的 schema——叠加兼容的类型是可以的,但不要添加与页面内容不匹配的 schema。
| 页面类型 | 主要 Schema | 辅助 Schema |
|---|---|---|
| 首页 | Organization | WebSite(含 SearchAction) |
| 博客文章 / 文章 | Article | BreadcrumbList、Person(作者) |
| 操作指南 | HowTo | Article、BreadcrumbList |
| FAQ 页面 | FAQPage | — |
| 产品页面 | Product | Offer、AggregateRating、BreadcrumbList |
| 本地商家 | LocalBusiness | OpeningHoursSpecification、GeoCoordinates |
| 视频页面 | VideoObject | Article(若视频嵌入在文章中) |
| 分类 / 枢纽页面 | CollectionPage | BreadcrumbList |
| 活动 | Event | Organization、Place |
叠加规则:
- 如果页面上存在面包屑,则在任何非首页中都添加
BreadcrumbList Article+BreadcrumbList+Person是博客内容常见的三件套- 切勿在不销售产品的页面上添加
Product——Google 会因误用而处罚
实现模式
JSON-LD 与 Microdata、RDFa 对比
请使用 JSON-LD。没有例外。Google 推荐它,它最易于维护,并且无需修改 HTML 标记。Microdata 和 RDFa 属于遗留方案。
放置位置
<head>
<script type="application/ld+json">
{ ... your schema here ... }
</script>
</head>
每个页面可以有多个 schema 代码块——使用多个独立的 <script> 标签,或将它们嵌套在一个数组中即可。
按页面与全站
| 范围 | 做法 | 示例 |
|---|---|---|
| 全站 | 在站点模板页头中添加 Organization schema | 企业身份、logo、社交资料 |
| 全站 | 在首页添加带 SearchAction 的 WebSite schema | 站点链接搜索框 |
| 按页面 | 与内容相关的 schema | 博客文章使用 Article,商品页使用 Product |
| 按页面 | 与可见面包屑一致的 BreadcrumbList | 每个非首页 |
CMS 实现捷径:
- WordPress:Yoast SEO 或 Rank Math 会自动处理 Article/Organization。HowTo/FAQ 可通过其区块添加自定义 schema。
- Webflow:可为单个页面添加自定义
<head>代码,或使用 CMS 生成动态 JSON-LD - Shopify:Product schema 自动生成。Organization 和 Article 需手动添加。
- 自定义 CMS:在服务端使用模板生成 JSON-LD,并读取真实字段值
参考模式
每种上述 schema 类型的可直接复制 JSON-LD 示例,请参阅 references/implementation-patterns.md。
常见错误
以下是真正重要的错误,它们会让页面失去富媒体结果资格:
| 错误 | 失效原因 | 修复方法 |
|---|---|---|
缺少 @context | Schema 无法解析 | 始终包含 "@context": "https://schema.org" |
| 缺少必填字段 | Google 不会显示富媒体结果 | 在 references/schema-types-guide.md 中核对必填与推荐字段 |
name 字段为空或过于笼统 | 无法通过验证 | 使用真实、具体的值,不要用 "" 或 "N/A" |
image URL 为相对路径 | 无效,必须为绝对路径 | 使用 https://example.com/image.jpg,而非 /image.jpg |
| 标记与页面可见内容不符 | 违反政策 | 切勿为页面上不存在的内容添加 schema |
在 Article 中嵌套 Product | 类型组合无效 | 保持 schema 类型扁平,或遵循正确的嵌套规则 |
| 使用已弃用的属性 | 会被验证器忽略 | 对照当前 schema.org 核查,类型会不断演进 |
| 日期格式错误 | 未通过 ISO 8601 检查 | 使用 "2024-01-15" 或 "2024-01-15T10:30:00Z" |
Schema 与 AI 搜索
这越来越成为关注 schema 的理由,而不仅仅是为了 Google 富媒体结果。
AI 搜索系统(Google AI Overviews、Perplexity、ChatGPT Search、Bing Copilot)利用结构化数据更快、更可靠地理解内容。当你的内容具有清晰的 schema 时:
- AI 系统能够识别内容类型:它们能分辨出 HowTo、观点文章和商品列表
- FAQPage schema 提高被引用的可能性:AI 系统青睐可直接提取的结构化问答
- 带有
author和datePublished的 Article schema:有助于 AI 系统评估内容的时效性和权威性 - 带有
sameAs链接的 Organization schema:将你的实体与网络上的其他资料相连,提升实体识别度
提升 AI 搜索可见度的实用做法:
- 在任何包含问答内容的页面上添加 FAQPage schema,即使只有 3 个问题
- 为
author添加指向真实作者资料的sameAs(如 LinkedIn、Wikipedia、Google Scholar) - 为
Organization添加sameAs,链接你的社交资料和 Wikidata 条目 - 保持
datePublished和dateModified准确,因为 AI 系统会按时效性进行筛选
测试与验证
发布前务必测试。三种工具全部使用:
-
Google Rich Results Test(Google 富媒体搜索结果测试) —
https://search.google.com/test/rich-results- 告诉你 Google 能否解析该 Schema
- 显示具体有资格获得哪些富媒体结果类型
- 区分警告与错误(错误 = 无富媒体结果,警告 = 仍可能生效)
-
Schema.org Validator(Schema.org 验证器) —
https://validator.schema.org- 依据完整的 schema.org 规范进行更广泛的验证
- 能发现 Google 可能遗漏的错误,或影响其他解析器的错误
- 适用于面向非 Google 系统的结构化数据
-
scripts/schema_validator.py— 在本地对任意 HTML 文件运行- 提取页面中的所有 JSON-LD 代码块
- 按 Schema 类型验证必填字段
- 为完整度打分,范围 0-100
- 运行方式:
python3 scripts/schema_validator.py page.html
-
Google Search Console(Google 搜索控制台)(部署之后)
- “增强功能”板块可展示大规模的真实错误
- 部署后需要 1-2 周才会更新
- 唯一能查看富媒体结果表现数据(展示次数、点击次数)的地方
主动触发项
无需用户提问,主动提示以下问题:
- FAQ 内容缺少 FAQPage Schema → 任何采用问答格式却没有 FAQPage Schema 的页面,都在白白放弃容易获得的富媒体结果。需要标记并提供生成方案。
- Article Schema 缺少
image字段 → 这是 Article 富媒体结果的必填字段。缺少它,Google 不会展示文章卡片。 - 通过 GTM 添加的 Schema → GTM 注入的 Schema 通常不会被 Google 索引,因为它是在客户端渲染的。建议改为服务端注入。
dateModified早于datePublished→ 这在逻辑上不可能,且会导致验证失败。需要标记并修正。- 同一实体存在多个冲突的
@type→ 例如同一家公司分别定义了LocalBusiness和Organization。应合并,或让其中一个继承另一个。 - Product Schema 缺少
offers→ 没有 Offer(价格、库存状态、货币)的 Product 无法获得产品富媒体结果。需要标记缺失的 Offer 代码块。
输出产物
| 当你请求…… | 你将获得…… |
|---|---|
| Schema 审计 | 审计报告:已发现的 Schema、已具备/缺失的必填字段、错误、每个页面的完整度评分、优先修复项 |
| 某页面类型的 Schema | 完整的 JSON-LD 代码块,可直接复制使用,并以清晰标记的占位值填充 |
| 修复 Schema 错误 | 已修正的 JSON-LD,以及逐项解释每处修改的变更日志 |
| AI 搜索可见性审查 | 实体标记差距分析 + FAQPage + Organization sameAs 建议 |
| 实施计划 | 逐页的 Schema 实施矩阵,附带针对具体 CMS 的操作说明 |
沟通规范
所有输出均遵循结构化沟通标准:
- 先给结论 — 先回答,再解释
- What + Why + How — 每项发现都包含这三项
- 行动有负责人和截止日期 — 不使用“我们应该考虑”之类的表述
- 置信度标注 — 🟢 已验证(测试通过)/ 🟡 中等(有效但未测试)/ 🔴 假设(需要验证)
相关技能
- seo-audit:用于完整的技术与内容 SEO 审计。当问题不限于结构化数据时使用 seo-audit。不用于 Schema 相关工作,此类工作请使用 schema-markup。
- site-architecture:用于 URL 结构、内部链接与导航。当架构是 SEO 问题的根源而非 Schema 时使用。
- content-strategy:用于决定创建什么内容。在实施 Article Schema 之前使用,以便确定优先处理哪些页面。不用于 Schema 本身。
- programmatic-seo:适用于需要大规模部署 Schema 的数千页面网站。本技能中的 Schema 模式会输入到 programmatic-seo 的模板方法中。