关于 seo-schema
seo-schema 是用于检测、验证和生成网页结构化数据的技能。它帮助 SEO 从业者发现 Schema 问题,并根据页面内容生成 JSON-LD,同时提示受支持和已弃用的类型。
主要功能
- 01检测 JSON-LD、Microdata 和 RDFa
- 02验证 Schema 属性与语法
- 03按页面类型生成 JSON-LD
- 04标记已弃用的 Schema 类型
- 05生成报告与实现代码片段
适用场景
- 01审核网页结构化数据
- 02修复无效或不完整的 Schema
- 03为页面内容生成 JSON-LD
- 04检查 Schema 类型是否仍受支持
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ infrasity-labs/ dev-gtm-claude-skills --skill seo-schema安装后在 Claude Code 中输入/seo-schema确认已加载。
附带文件references/deprecated-types-2024-2026.md
详细介绍
Schema 标记分析与生成
检测
- 扫描页面源代码,查找 JSON-LD
<script type="application/ld+json"> - 检查 Microdata(
itemscope、itemprop) - 检查 RDFa(
typeof、property) - 始终优先推荐 JSON-LD 格式(这是 Google 明确表示的偏好)
验证
- 检查各 Schema 类型所需的属性
- 根据 Google 支持的富媒体搜索结果类型进行验证
- 检查常见错误:
- 缺少 @context
- @type 无效
- 数据类型错误
- 占位文本
- 相对 URL(应为绝对 URL)
- 日期格式无效
- 标记已弃用的类型(见下文)
Schema 类型状态(截至 2026 年 2 月)
完整列表请阅读 references/schema-types.md。主要规则如下:
ACTIVE(可自由推荐):
Organization、LocalBusiness、SoftwareApplication、WebApplication、Product(自 2025 年 4 月起支持 Certification 标记)、ProductGroup、Offer、Service、Article、BlogPosting、NewsArticle、Review、AggregateRating、BreadcrumbList、WebSite、WebPage、Person、ProfilePage、ContactPage、VideoObject、ImageObject、Event、JobPosting、Course、DiscussionForumPosting
VIDEO 与专业类型(可自由推荐):
BroadcastEvent、Clip、SeekToAction、SoftwareSourceCode
这些类型的即用型 JSON-LD 模板请参见 schema/templates.json。
**JSON-LD 与 JavaScript 渲染:**根据 Google 于 2025 年 12 月发布的 JS SEO 指南,通过 JavaScript 注入的结构化数据可能会延迟处理。对于有时效性的标记(尤其是 Product、Offer),应在初始服务器渲染的 HTML 中包含 JSON-LD。
RESTRICTED(仅适用于特定网站):
- FAQ:仅限政府和医疗卫生主管机构网站(自 2023 年 8 月起受限)
DEPRECATED(切勿推荐):
- HowTo:富媒体搜索结果已于 2023 年 9 月移除
- SpecialAnnouncement:已于 2025 年 7 月 31 日弃用
- CourseInfo、EstimatedSalary、LearningVideo:已于 2025 年 6 月退役
- ClaimReview:已于 2025 年 6 月从富媒体搜索结果中退役
- VehicleListing:已于 2025 年 6 月从富媒体搜索结果中退役
- Practice Problem:已于 2025 年底从富媒体搜索结果中退役
- Dataset:已于 2025 年底从富媒体搜索结果中退役
- Book Actions:弃用后又恢复,截至 2026 年 2 月仍可正常使用(历史说明)
生成
为页面生成 Schema 时:
- 根据内容分析确定页面类型
- 选择适当的 Schema 类型
- 生成有效的 JSON-LD,包含所有必需和推荐的属性
- 仅包含真实且可验证的数据。使用明确标注、供用户填写的占位符
- 在展示前验证输出
常见 Schema 模板
Organization
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "[Company Name]",
"url": "[Website URL]",
"logo": "[Logo URL]",
"contactPoint": {
"@type": "ContactPoint",
"telephone": "[Phone]",
"contactType": "customer service"
},
"sameAs": [
"[Facebook URL]",
"[LinkedIn URL]",
"[Twitter URL]"
]
}
LocalBusiness
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "[Business Name]",
"address": {
"@type": "PostalAddress",
"streetAddress": "[Street]",
"addressLocality": "[City]",
"addressRegion": "[State]",
"postalCode": "[ZIP]",
"addressCountry": "US"
},
"telephone": "[Phone]",
"openingHours": "Mo-Fr 09:00-17:00",
"geo": {
"@type": "GeoCoordinates",
"latitude": "[Lat]",
"longitude": "[Long]"
}
}
Article/BlogPosting
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "[Title]",
"author": {
"@type": "Person",
"name": "[Author Name]"
},
"datePublished": "[YYYY-MM-DD]",
"dateModified": "[YYYY-MM-DD]",
"image": "[Image URL]",
"publisher": {
"@type": "Organization",
"name": "[Publisher]",
"logo": {
"@type": "ImageObject",
"url": "[Logo URL]"
}
}
}
输出
SCHEMA-REPORT.md:检测和验证结果generated-schema.json:可直接使用的 JSON-LD 片段
验证结果
| Schema | 类型 | 状态 | 问题 |
|---|---|---|---|
| ... | ... | ✅/⚠️/❌ | ... |
建议
- 发现缺失的 Schema 应用机会
- 指出需要修复的验证问题
- 提供可用于实现的生成代码
错误处理
| 情况 | 操作 |
|---|---|
| URL 无法访问 | 报告连接错误及状态码。建议检查 URL,并确认页面是否需要身份验证。 |
| 未发现 Schema 标记 | 报告未检测到 JSON-LD、Microdata 或 RDFa。根据页面内容分析推荐适当的 Schema 类型。 |
| JSON-LD 语法无效 | 解析并报告具体语法错误(缺少括号、尾随逗号、键未加引号)。提供修正后的 JSON-LD 输出。 |
| 检测到已弃用的 Schema 类型 | 标记已弃用类型及其退役日期。推荐当前的替代类型;若没有替代类型,则建议移除。 |