
关于
SEO Schema 结构化数据标记
name: seo-schema description: > 检测、验证和生成 Schema.org 结构化数据。首选 JSON-LD 格式。 当用户提到"schema"、"结构化数据"、"富媒体搜索结果"、"JSON-LD"或"标记"时使用。 risk: unknown source: "https://github.com/AgriciDaniel/claude-seo" date_added: "2026-03-21" user-invokable: true argument-hint: "[url]" allowed-tools:
- Read
- Grep
- Glob
- Bash
- WebFetch
- Write
Schema 标记分析与生成
使用场景
- 用于检测、验证或生成 Schema.org 结构化数据。
- 用于用户询问 JSON-LD、富媒体搜索结果或标记机会时。
- 用于 schema 验证是主要任务而非更广泛的 SEO 审计时。
检测
- 扫描页面源代码中的 JSON-LD
<script type="application/ld+json"> - 检查 Microdata(
itemscope、itemprop) - 检查 RDFa(
typeof、property) - 始终推荐 JSON-LD 作为主要格式(Google 明确偏好)
验证
- 检查每种 schema 类型的必需属性
- 根据 Google 支持的富媒体搜索结果类型进行验证
- 测试常见错误:
- 缺少 @context
- 无效的 @type
- 错误的数据类型
- 占位符文本
- 相对 URL(应为绝对路径)
- 无效的日期格式
- 标记已弃用的类型(见下文)
Schema 类型状态(截至 2026 年 2 月)
阅读 references/schema-types.md 获取完整列表。关键规则:
活跃(可自由推荐):
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
视频和专业类型(可自由推荐):
BroadcastEvent, Clip, SeekToAction, SoftwareSourceCode
参见 schema/templates.json 获取这些类型的即用 JSON-LD 模板。
JSON-LD 和 JavaScript 渲染: 根据 Google 2025 年 12 月的 JS SEO 指南,通过 JavaScript 注入的结构化数据可能面临延迟处理。对于时效性标记(尤其是 Product、Offer),请将 JSON-LD 包含在初始服务器渲染的 HTML 中。
受限(仅适用于特定网站):
- FAQ:仅适用于政府和医疗权威网站(2023 年 8 月限制)
已弃用(切勿推荐):
- 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 无法访问 | 报告