mcpField
S
schema-markup

schema-markup

github.com/borghei营销与增长1.0k88 次安装1 周前更新
代码仓库

关于 schema-markup

用于审查、创建和修正网页结构化数据的技能,涵盖 Schema 选择、JSON-LD 实现、验证、富媒体搜索结果资格及 CMS 部署。

主要功能

  1. 01审查现有标记
  2. 02生成页面专属 JSON-LD
  3. 03修正验证错误
  4. 04选择 Schema 类型与组合
  5. 05指导 CMS 部署

适用场景

  1. 01审查网页结构化数据
  2. 02为产品页或文章页添加 Schema
  3. 03修复 Search Console 标记错误
  4. 04规划有助于 AI 理解内容的标记

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/borghei/claude-skills --skill schema-markup

安装后在 Claude Code 中输入/schema-markup确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

scripts/
schema_auditor.py
schema_generator.py
schema_validator.py

详细介绍

Schema 标记实施

涵盖 20 多种 Schema 类型、富媒体搜索结果资格规则、AI 搜索优化和针对特定 CMS 的部署模式的生产级结构化数据实施。可用于审核现有标记、实施新 Schema,以及修复验证错误。


目录


先确认信息

生成 Schema 前,请确认以下信息。如有任何一项未知或含糊,请先询问,不要自行假设:

  • 页面类型和运行模式 — 审核现有内容、实施新内容或修复错误;以及对应的页面类型(Article、Product、FAQPage、LocalBusiness……)——用于选择 Schema 类型和工作流
  • 目标富媒体搜索结果或 AI 搜索目标 — 希望获得哪种富媒体搜索结果或引用——用于确定必填字段清单和资格规则
  • CMS / 部署平台 — WordPress、Webflow、Shopify、Next.js 或静态网站——决定部署方式和已知警告(例如 GTM 注入)
  • 页面的源内容 — 用于填充的真实标题、作者、价格、问答等内容——Schema 必须与可见内容一致,否则 Google 会予以处罚

停止规则:只询问最可能影响输出的 2-3 项。如果用户说“直接起草”,就继续处理,并在产物顶部列出假设。

运行模式

模式 1:审核现有标记
  1. 从页面源代码中提取所有 JSON-LD 区块
  2. 根据 Schema 类型验证必填字段和推荐字段
  3. 对照 Google 当前的富媒体搜索结果要求
  4. 为每个 Schema 区块按完整度打分(0-100)
  5. 提供按优先级排序的修复清单和修正后的 JSON-LD
模式 2:实施新 Schema
  1. 确定页面类型和匹配的 Schema 类型
  2. 选择主要 Schema 和辅助 Schema 的组合
  3. 生成已填入页面内容、完整且可直接复制粘贴的 JSON-LD
  4. 建议放置方式(内联 head、CMS 插件、服务端渲染)
  5. 部署前进行测试
模式 3:修复验证错误
  1. 将 Google Search Console 错误映射到具体字段
  2. 找出根本原因(缺少字段、格式错误、内容不匹配)
  3. 提供修正后的 JSON-LD 和变更日志
  4. 说明修复方法,避免问题再次发生

Schema 类型选择矩阵

按页面类型划分的主要 Schema
页面类型主要 Schema辅助 Schema富媒体搜索结果类型
首页OrganizationWebSite(网站名称)网站名称、徽标/知识面板信号(站点链接搜索框已于 2024 年 11 月停用)
博客文章ArticleBreadcrumbList、Person(作者)、ImageObject文章卡片
操作指南ArticleBreadcrumbList、ImageObject(HowTo 可选)Article(HowTo 富媒体搜索结果已于 2023 年 9 月移除)
FAQ 页面WebPage / ArticleBreadcrumbList(FAQPage 可选)--(FAQ 富媒体搜索结果将于 2026 年 5 月移除)
产品页面ProductOffer、AggregateRating、Review、BreadcrumbList产品卡片
本地商家LocalBusinessOpeningHoursSpecification、GeoCoordinates、PostalAddress本地商家信息包
视频页面VideoObjectArticle(如果嵌入)视频卡片
分类页面CollectionPageBreadcrumbList、ItemList--
活动页面EventOrganization、Place、Offer活动列表
食谱RecipeNutritionInformation、AggregateRating食谱卡片
课程CourseOrganization、Offer课程列表
软件/应用SoftwareApplicationOffer、AggregateRating软件卡片
招聘信息JobPostingOrganization、Place招聘信息列表
评论页面ReviewProduct 或 LocalBusiness、Rating评论摘要
播客单集PodcastEpisodePodcastSeries、Person播客卡片
作者页面PersonsameAs 链接知识面板
公司页面OrganizationsameAs 链接、ContactPoint知识面板
面包屑导航BreadcrumbList--面包屑富媒体搜索结果
网站导航SiteNavigationElement----
数据集DatasetDataCatalog数据集搜索
叠加规则

始终添加:

  • 如果页面上存在面包屑导航,则为所有非首页添加 BreadcrumbList
  • 为首页添加 Organization(全站身份信息)

常见的有效组合:

  • Article + BreadcrumbList + Person + ImageObject(博客文章)
  • Product + Offer + AggregateRating + BreadcrumbList(产品页面)
  • LocalBusiness + OpeningHoursSpecification + GeoCoordinates + Review(本地页面)
  • Article + BreadcrumbList + ImageObject(指南;HowTo 标记可选,不会产生富媒体搜索结果)

切勿组合:

  • 在不销售产品的页面上使用 Product(Google 会惩罚滥用行为)
  • 为同一实体添加多个 Organization 区块(应合并为一个)
  • 在用户看不到问答内容的页面上使用 FAQPage

实现模式

JSON-LD 格式(始终使用)

JSON-LD 是唯一值得实现的格式。Google 推荐使用它;它位于 <head> 中,且不会影响 HTML 标记。Microdata 和 RDFa 已过时——不要在新实现中使用它们。

放置位置
<head>
  <script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "headline": "Your Article Title",
    "author": {
      "@type": "Person",
      "name": "Author Name",
      "url": "https://example.com/authors/name",
      "sameAs": ["https://linkedin.com/in/name", "https://twitter.com/name"]
    },
    "datePublished": "2026-01-15",
    "dateModified": "2026-03-01",
    "image": "https://example.com/images/article-hero.jpg",
    "publisher": {
      "@type": "Organization",
      "name": "Company Name",
      "logo": {
        "@type": "ImageObject",
        "url": "https://example.com/logo.png"
      }
    }
  }
  </script>
</head>

每个页面可以包含多个 <script type="application/ld+json"> 区块。对于互不相关的 Schema 类型,请使用单独的区块。将相关类型嵌套在同一个区块中。

作用范围规则
作用范围Schema放置位置
全站Organization、WebSite首页模板页眉
每个页面Article、Product、VideoObject、Event特定页面的 head 注入
每个元素BreadcrumbList每个非首页
有条件Event、JobPosting仅用于包含相应内容类型的页面

富媒体搜索结果资格规则

Google 并不会为所有有效的 schema 提供富媒体搜索结果。以下是截至 2026 年 9 月的当前要求。在承诺能获得富媒体搜索结果之前,请查看实时的 Search Gallery——有些类型会被停用。

已停用的 Google 富媒体搜索结果(标记仍是有效的 schema.org,但不会生成 Google 搜索功能):

功能状态来源
HowTo 富媒体搜索结果2023 年 8 月起受限;自 2023 年 9 月 13 日起不再在任何设备上显示Search Central 博客
FAQ 富媒体搜索结果2023 年 8 月起仅限权威政府/健康网站;2026 年 5 月 7 日从 Google Search 中移除FAQPage 文档更新日志
站点链接搜索框(WebSite + SearchAction)2024 年 11 月 21 日移除;保留该标记不会造成任何问题Search Central 博客
Article 富媒体搜索结果
字段必填说明
headline是必须与页面上显示的标题一致
image是必须可抓取,宽度至少为 1200px
datePublished是ISO 8601 格式
dateModified建议必须 >= datePublished
author.name是必须对应真实个人或组织
author.url建议链接到作者页面
publisher.name是
publisher.logo是最大 600x60px
Product 富媒体搜索结果
字段必填说明
name是产品名称
image是产品照片
offers.price是数值
offers.priceCurrency是ISO 4217 代码
offers.availability建议使用 schema.org/InStock 等值
aggregateRating.ratingValue建议数值
aggregateRating.reviewCount建议整数
review建议至少 1 条评论
FAQPage 和 HowTo(不提供 Google 富媒体搜索结果)

如果你仍为其他使用方输出 FAQPage 或 HowTo,请确保内容有效且真实:mainEntity 是包含 Question 项目的数组,且带有 acceptedAnswer.text(FAQPage);step 是包含 HowToStep 项目的数组(HowTo);并且每组问答或每个步骤都能在页面上看到。不要将它们报告为富媒体搜索结果方面的成果。


AI 搜索优化

AI 搜索系统(Google AI Overviews、Perplexity、ChatGPT Search、Bing Copilot)可能会使用结构化数据来理解内容并识别实体。Google 表示,要出现在 AI Overviews 或 AI Mode 中,无需使用特殊的 schema.org 标记(截至 2026 年 9 月,参见 AI 功能与您的网站)——schema 有助于理解内容,但它并不是切换 AI 引用的开关。

Schema 对 AI 搜索为何重要
  1. 内容类型分类——AI 系统使用 @type 判断内容是操作指南、产品列表、常见问题还是观点文章
  2. 可提取的结构应位于页面上——AI 系统会提取页面上可见的问答和分步内容;FAQPage/HowTo 标记是可选的,而且没有证据表明它能提升 Google 侧的引用率
  3. 新鲜度信号——datePublished 和 dateModified 有助于 AI 系统根据时效性筛选内容
  4. 权威性信号——带有指向已知个人资料的 sameAs 链接的 author,有助于提升实体识别能力
  5. 实体关联——带有指向 Wikidata、LinkedIn 和社交资料的 sameAs 链接的 Organization,有助于加强实体解析
AI 搜索架构标记实战指南
操作优先级影响
添加作者 Person 架构标记,并通过 sameAs 链接到 LinkedIn、Twitter、Google Scholar高作者实体识别
添加 Organization,并通过 sameAs 链接到 Wikidata、LinkedIn、Crunchbase高品牌实体识别
每次更新内容时,确保 dateModified 准确无误中新鲜度筛选
确保 Article、Product、BreadcrumbList 架构标记准确,并与可见内容一致中富媒体搜索结果 + 内容类型清晰度
在问答或教程内容中使用 FAQPage / HowTo 标记低可选;不会生成 Google 富媒体搜索结果,也不会获得特殊 AI 功能待遇
在工具/产品页面添加 SoftwareApplication 架构标记中在 AI 回答中识别产品

知识图谱策略

进入 Google 知识图谱,意味着你的实体(个人、公司、产品)已被识别,并会显示在信息面板、AI 回答和交叉引用搜索结果中。

知识图谱收录要求
  1. Wikidata 条目 -- 在 Wikidata.org 上创建或认领你的实体
  2. Wikipedia 页面 -- Wikipedia 条目会显著提高被知识图谱收录的概率
  3. NAP 信息一致 -- 所有引用来源中的名称、地址、电话必须完全一致
  4. sameAs 网络 -- Organization 架构标记必须链接到所有官方资料页
sameAs 最佳实践
{
  "@type": "Organization",
  "name": "Your Company",
  "url": "https://yourcompany.com",
  "sameAs": [
    "https://www.wikidata.org/wiki/Q12345678",
    "https://en.wikipedia.org/wiki/Your_Company",
    "https://www.linkedin.com/company/yourcompany",
    "https://twitter.com/yourcompany",
    "https://www.crunchbase.com/organization/yourcompany",
    "https://github.com/yourcompany"
  ]
}

sameAs 链接的重要性排序:

  1. Wikidata(最强的实体信号)
  2. Wikipedia
  3. LinkedIn
  4. 官方社交资料页
  5. 行业目录(Crunchbase、G2、Capterra)

CMS 部署指南

WordPress
  • Yoast SEO / Rank Math:自动生成 Article、Organization、BreadcrumbList。它们的 FAQ/HowTo 区块仍会输出标记,但不再生成 Google 富媒体搜索结果。
  • 自定义架构标记:通过 wp_head action hook 或自定义插件添加。
  • 避免:使用通过 JavaScript 注入架构标记的插件(Google 可能不会渲染这些标记)。
Webflow
  • 单页设置:在页面设置 > 自定义代码 > Head 中添加自定义代码
  • 由 CMS 驱动:使用 Webflow CMS,通过包含 CMS 字段引用的嵌入式代码块生成动态 JSON-LD
  • 全站设置:在 Project Settings > Custom Code > Head 中添加 Organization 架构标记
Shopify
  • Product 架构标记:大多数主题会自动生成。请确认其中包含 Offer 和 AggregateRating。
  • Article/Blog 架构标记:通常缺失——通过 theme.liquid 或架构标记应用手动添加。
  • Organization:添加到 theme.liquid 的 <head> 部分。
Next.js / 自定义 React
  • 服务器端渲染:在页面组件中生成 JSON-LD,并在 <Head> 中渲染。
  • next-seo 库:为常见类型提供架构标记组件。
  • 动态页面:从数据层生成架构标记,而不是硬编码。
静态站点(Hugo、Jekyll、Gatsby)
  • 模板级别:使用模板变量将 JSON-LD 添加到布局模板中。
  • 单页设置:使用 frontmatter 数据动态填充架构标记字段。
Google Tag Manager(GTM)
  • 警告:通过 GTM 注入的架构标记通常不会被 Google 编入索引,因为它们会在 JavaScript 执行后于客户端渲染。
  • 仅在以下情况下使用:没有其他方案可用(无法访问 CMS,也没有开发资源)。
  • 更好的替代方案:通过 CMS 或模板引擎在服务器端注入。

验证与测试

三层验证

部署前,使用以下三种工具测试每项架构标记实现:

工具URL检查内容
Google 富媒体搜索结果测试search.google.com/test/rich-resultsGoogle 的解析器、富媒体搜索结果资格
Schema.org 验证器validator.schema.org对完整规范的符合情况(范围比 Google 更广)
Google Search Console增强功能部分大规模环境下的实际错误、部署后检查
验证工作流
  1. 部署前:对渲染后的 HTML 使用 Rich Results Test 和 Schema.org Validator
  2. 部署后(第 1 天):通过 GSC 中的 URL Inspection 工具检查页面是否已被抓取
  3. 部署后(第 2-4 周):在 GSC 的 Enhancements 部分检查是否存在大范围错误
  4. 持续进行(每月):监控 GSC Enhancements,检查内容更新导致的新错误

常见错误和修复方法

错误根本原因修复方法
缺少 @contextSchema 块没有上下文声明添加 "@context": "https://schema.org"
缺少必填字段缺少必填属性添加来自页面实际内容的字段
image URL 是相对路径使用了 /image.jpg,而非绝对 URL使用 https://example.com/image.jpg
dateModified < datePublished日期关系不合理确保 dateModified >= datePublished
标记内容与页面内容不匹配Schema 声称的内容对用户不可见仅为页面上实际存在的内容添加 Schema
属性已弃用使用了旧版 schema.org 属性名称在 schema.org 查看当前规范
嵌套类型冲突Article 中错误地包含 Product保持类型扁平,或使用正确的 @graph 嵌套
日期格式错误不符合 ISO 8601使用 "2026-01-15" 或 "2026-01-15T10:30:00Z"
字符串值为空"name": "" 虽通过语法检查,但不符合语义要求使用真实值,切勿使用空字符串
预期为数组,却只提供了单个值FAQPage 的 mainEntity 需要数组用 [] 数组括号包裹
Logo 过大发布者 Logo 超过 600x60px调整尺寸或使用其他 Logo 格式
未索引 GTM 注入内容客户端渲染将注入移至服务端 <head>

审核框架

审核评分卡(0-100)
维度权重评分方式
必填字段齐全40%每缺少一个必填字段扣 10 分
推荐字段齐全15%每缺少一个推荐字段扣 3 分
是否符合富媒体搜索结果条件20%二元:符合或不符合
内容与标记匹配度15%Schema 与可见内容每有一处不匹配扣 5 分
sameAs 和实体信号10%每缺少一个主要平台链接扣 5 分
优先级分类
优先级标准操作
P0 紧急缺少必填字段,导致无法显示富媒体搜索结果立即修复
P1 高缺少推荐字段,降低符合条件的可能性本周修复
P2 中内容不匹配、属性已弃用本月修复
P3 低缺少 sameAs 链接、可选增强项方便时添加

输出产物

产物格式描述
Schema 审核报告评分表按页面整理的 Schema 清单、完整度评分和优先修复项
JSON-LD 实现可直接复制粘贴的代码块每种页面类型的完整 Schema,并清晰标注占位值
错误修复日志修复前后的 JSON-LD说明每项修复及其根本原因和预防方法
AI 搜索差距分析建议表缺失的实体标记、sameAs 差距、内容类型不匹配
CMS 实施指南分步说明特定平台的部署说明
富媒体搜索结果资格矩阵页面类型 x Schema x 资格哪些页面符合哪些富媒体搜索结果类型的条件

相关技能

  • seo-audit -- 用于涵盖结构化数据以外内容的全面技术和内容 SEO 审核。当问题范围超出 Schema 时使用。
  • site-architecture -- 用于 URL 结构和导航。当根本原因是网站架构而非 Schema 时使用。
  • programmatic-seo -- 用于需要大规模添加 Schema 的数千页面网站。Schema 模式可用于 pSEO 模板设计。
  • content-creator -- 用于内容创作。在实施 Article Schema 前使用,以确保内容质量。

故障排除

问题可能原因解决方法
架构通过验证,但未显示丰富结果缺少符合丰富结果资格要求的必填字段,或 Google 尚未重新抓取使用 Google Rich Results Test 验证(不只是使用 schema.org 验证器);通过 GSC 请求重新编入索引
FAQPage 架构未生成 FAQ 下拉项Google 搜索已于 2026 年 5 月移除 FAQ 丰富结果(HowTo 于 2023 年 9 月移除)这是预期行为——无需修复;保持标记有效或将其移除,并停止将其作为丰富结果 KPI 跟踪
GSC 中的 Product 架构显示“缺少字段”警告缺少或错误填写必填字段(价格、供货情况、评价)添加所有必需的 Product 和 Offer 字段;货币使用 ISO 4217,供货情况使用 schema.org/InStock
未编入索引由 GTM 注入的架构客户端渲染——Google 可能不会执行用于架构的 GTM JavaScript将架构从 GTM 移至服务器端 <head> 注入;GTM 架构无法可靠地用于编入索引
dateModified 早于 datePublished数据录入错误或 CMS 自动填充不正确确保 dateModified >= datePublished;审核 CMS 日期字段逻辑
存在多个相互冲突的 Organization 块不同插件或模板注入了独立的 Organization 架构在首页合并为一个 Organization 块;移除重复项
架构验证通过,但 Google 显示“内容不匹配”架构声称的内容实际上对页面用户不可见仅为页面上实际存在的内容添加架构——绝不要伪造或隐藏内容

成功标准

  • 丰富结果资格:根据 Google Rich Results Test,100% 适用的内容页面均具备相应架构类型的丰富结果资格
  • 验证通过率:Google Search Console 中所有架构类型的增强功能报告均无错误
  • 丰富结果点击率提升:结构化数据页面的点击率比非结构化页面高 20%–35%(SearchPilot 测试的 2026 年基准)
  • AI 就绪度:所有信息类页面均包含实体标记(Organization、带 sameAs 的 Person)和准确的 Article 日期;答案在 HTML 中可见,便于提取
  • 实体识别:全站部署带有 5 个以上 sameAs 链接的 Organization 架构;品牌出现在知识图谱中
  • 覆盖广度:95% 以上可编入索引的页面均已实现架构(至少使用 BreadcrumbList,并在相关页面使用特定内容类型)
  • 时效准确性:每次内容变更后 24 小时内更新所有 Article 架构中的 dateModified

范围与限制

范围内:

  • 20 种以上架构类型的选择与 JSON-LD 实现
  • 丰富结果资格验证与优化
  • 通过结构化数据提升 AI 搜索可见度
  • 知识图谱实体优化
  • 架构验证、测试与错误排查
  • 针对特定 CMS 的部署指南(WordPress、Webflow、Shopify、Next.js)

范围外:

  • 为符合架构条件的页面创建内容(使用 Content Production)
  • 结构化数据以外的技术 SEO(使用 SEO Audit)
  • Microdata 或 RDFa 实现(仅支持 JSON-LD——这是 Google 的建议)
  • 自定义 schema.org 扩展或词汇提案
  • 服务器端渲染实现
  • CMS 插件开发

已知限制:

  • 即使架构有效,Google 也不保证显示丰富结果——权威性和内容质量同样会影响结果
  • GTM 注入的架构经常无法被编入索引——为确保可靠性,必须采用服务器端部署
  • Schema.org 规范的更新速度快于 Google 的支持进度——并非所有有效类型都会生成丰富结果
  • 丰富结果类型可能在几乎不提前通知的情况下弃用(例如,HowTo 于 2023 年移除,站内链接搜索框于 2024 年移除,FAQ 于 2026 年移除)
  • 结构化数据对点击率的影响因行业和搜索结果页(SERP)功能而异

脚本

# Validate JSON-LD schema from a file or URL
python scripts/schema_validator.py --file schema.json --json

# Audit a page for schema coverage and completeness
python scripts/schema_validator.py --html page.html --verbose

# Generate JSON-LD templates for common page types
python scripts/schema_generator.py --type Article --title "My Post" --author "Jane" --json

评论

支持 Markdown