关于 seo-aeo-schema-generator
seo-aeo-schema-generator 是根据页面内容生成或检查结构化数据标记的技能,面向 SEO 与内容团队。它涵盖多种 Schema 类型、字段核查、JSON-LD 输出和实施说明。
主要功能
- 01生成受支持类型的 JSON-LD
- 02检查必填及建议字段
- 03标记缺失数据和未替换占位符
- 04校验 URL、日期和价格
- 05提供实施与测试指导
适用场景
- 01为落地页添加结构化数据
- 02准备 Article 或 Product 标记
- 03检查 FAQ 与面包屑 Schema
- 04发布前核对标记
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill seo-aeo-schema-generator安装后在 Claude Code 中输入/seo-aeo-schema-generator确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/aggregate-rating-schema.jsonbreadcrumb-schema.jsonarticle-schema.jsonhowto-schema.jsonreview-schema.jsonfaq-schema.jsonorganization-schema.jsonproduct-schema.jsonwebpage-schema.jsonwebsite-schema.json详细介绍
Schema Generator 技能
描述
当用户希望为任意页面生成、编写或验证结构化数据标记时,启用此技能。 触发短语包括:“generate schema”“create JSON-LD”“schema markup for”“structured data for”“FAQ schema”“product schema”“article schema”“help Google understand my page”“rich results schema”“schema generator: [type]”“add schema to [page]”。
输入格式
{
"page_type": "landing-page",
"schema_types": ["Article"],
"page_data": {
"url": "string — canonical URL of the page",
"title": "string — page title",
"description": "string — page description",
"primary_keyword": "string",
"date_published": "string — ISO format: YYYY-MM-DD",
"date_modified": "string — ISO format: YYYY-MM-DD",
"author_name": "string — for Article schema",
"brand_name": "string",
"brand_url": "string — homepage URL",
"logo_url": "string — absolute URL to brand logo",
"product": {
"name": "string",
"description": "string",
"image_url": "string",
"price": "decimal",
"currency": "string — ISO 4217, e.g. USD, GBP",
"availability": "InStock | OutOfStock | PreOrder",
"sku": "string — optional"
},
"reviews": [
{
"author": "string",
"rating": "integer — 1 to 5",
"review_body": "string",
"date": "string — YYYY-MM-DD"
}
],
"aggregate_rating": {
"rating_value": "decimal — e.g. 4.7",
"review_count": "integer",
"best_rating": "integer — usually 5",
"worst_rating": "integer — usually 1"
},
"faqs": [
{
"question": "string",
"answer": "string"
}
],
"how_to": {
"name": "string — title of the how-to",
"description": "string",
"total_time": "string — ISO 8601 duration, e.g. PT30M",
"steps": [
{
"name": "string — step title",
"text": "string — step instructions"
}
]
},
"breadcrumbs": [
{
"position": "integer — 1, 2, 3...",
"name": "string — label",
"url": "string — absolute URL"
}
]
}
}
Schema 类型菜单
此技能支持以下 Schema 类型。 单个页面可请求多个类型:
| Schema 类型 | 适用场景 | 可能的搜索用途(不保证) |
|---|---|---|
Article | 博客文章、支柱页面、新闻 | Article 富媒体搜索结果、头条新闻 |
FAQPage | 任意页面上的常见问题解答部分 | Google 目前已不提供 FAQ 富媒体搜索结果 |
HowTo | 分步指南 | Google HowTo 富媒体搜索结果已停用 |
Product | 产品或定价页面 | SERP 中的价格、供货情况、评分 |
Review | 单个产品或服务的评价 | SERP 中的星级评分 |
AggregateRating | 有多条评价的页面 | 带评价数量的星级评分 |
BreadcrumbList | 任何具有导航层级的页面 | SERP URL 中显示的面包屑路径 |
Organization | 首页或“关于”页面 | 品牌知识面板信号 |
WebPage | 需要基本结构化身份信息的任何页面 | 帮助爬虫更好地理解页面 |
WebSite | 仅限首页 | 网站身份信息;站内搜索框已停用 |
仅使用页面可见内容支持的类型。没有确凿保证表明 FAQPage 或 HowTo 会促使 AI 提取信息。Google 于 2023 年停用了 HowTo 富媒体搜索结果,于 2024 年停用了站内链接搜索框,并于 2026 年 5 月停用了 FAQ 富媒体搜索结果。Schema.org 有效性与 Google 功能资格是两回事。
富媒体搜索结果资格规则
Google 要求每种 Schema 类型都包含特定字段,才能获得富媒体搜索结果资格。 缺少必需字段会影响相应功能,但不会影响整个页面的索引。请查看 Google 当前的功能指南;下表是内容检查清单,并非完整的资格验证器。
FAQPage
| 字段 | 状态 | 备注 |
|---|---|---|
@type | 必需 | 必须为 FAQPage |
mainEntity | 必需 | Question 对象数组 |
name | 必需 | 问题文本 |
acceptedAnswer | 必需 | 包含 text 的 Answer 对象 |
| 最少问题数 | 内容检查 | 至少有一个真实的问题和答案;不要凭空规定必须有两个问题 |
| 答案长度 | 建议 | 每个答案少于 300 个单词 |
Article
Google 目前将以下 Article 属性列为建议项,而非必需项:标题、代表性图片、发布日期/修改日期和作者身份。请填写可获得且真实的信息;不要虚构发布商徽标或日期。头条新闻不要求 Article 标记。
产品
| 字段 | 状态 | 说明 |
|---|---|---|
name | 必需 | 产品名称 |
image | 必需 | 绝对 URL |
description | 建议 | |
offers | 有条件 | 产品摘要需要包含名称,以及 offers、review 或 aggregateRating;商品列表有单独的规则 |
price | 有条件 | 对选定的定价 Offer 路径而言必需 |
priceCurrency | 有条件 | 对有定价的 offers 使用 ISO 4217;请核实特定功能的规则 |
availability | 建议 | Schema.org 可用性 URL |
aggregateRating | 建议 | 解锁星级评分显示 |
HowTo
| 字段 | 状态 | 说明 |
|---|---|---|
name | 必需 | 操作指南的标题 |
step | 必需 | HowToStep 对象数组 |
text | 必需 | 每个步骤的说明 |
totalTime | 建议 | ISO 8601 时长 |
image | 建议 | 如有,每个步骤对应的图片 |
BreadcrumbList
| 字段 | 状态 | 说明 |
|---|---|---|
itemListElement | 必需 | ListItem 对象数组 |
position | 必需 | 整数,从 1 开始 |
name | 必需 | 面包屑标签 |
item | 必需 | 每个面包屑对应的绝对 URL |
输出结构
技能必须始终按以下确切格式输出:
# Schema Markup Output
**Page:** [page title]
**URL:** [url]
**Schema Types Generated:** [list all types]
**Potential Rich Results (eligibility unverified until tested):** [list eligible rich results]
**Structured Content Types Added:** [list AEO-relevant schema types]
---
## Validation Summary
| Schema Type | Required Fields Complete | Rich Result Eligible | Issues Found |
|-------------------|--------------------------|----------------------|--------------|
| [type] | ✅ / ❌ | ✅ / ❌ | [n or none] |
| [type] | ✅ / ❌ | ✅ / ❌ | [n or none] |
---
## Issues Found
[If no issues: ✅ All schema types passed validation.]
**Issue:** [Specific field missing or incorrect]
**Schema Type:** [type]
**Severity:** Required / Recommended
**Fix:** [Exact instruction — what to add or change]
---
## JSON-LD Output
Place all script blocks inside the `<head>` of your HTML.
Use one `<script>` block per schema type.
### [Schema Type 1]
```html
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "[type]",
[all populated fields from references/ template]
}
</script>
```
### [Schema Type 2]
```html
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "[type]",
[all populated fields]
}
</script>
```
---
## Implementation Instructions
1. Copy each `<script>` block above
2. Paste inside the `<head>` tag of your HTML —
after the `<title>` tag, before `</head>`
3. One script block per schema type —
multiple types may also be combined in an @graph with stable @id links
4. Test immediately using Google's Rich Results
Test: https://search.google.com/test/rich-results
5. Test using Schema.org Validator:
https://validator.schema.org
6. After deploying, request re-indexing in
Google Search Console
---
## Testing Checklist
- [ ] All required fields populated for each schema type
- [ ] No placeholder text left in any field
- [ ] All URLs are absolute (https://...) not relative (/page)
- [ ] Date fields use ISO 8601 format (YYYY-MM-DD)
- [ ] Price uses decimal format (e.g. 49.00 not $49)
- [ ] Currency uses ISO 4217 code (USD not $)
- [ ] FAQPage reflects real visible questions and answers
- [ ] Serialize JSON safely and escape < as \u003c when embedding to prevent a closing script tag from ending the block
- [ ] Every script block or @graph parses correctly
- [ ] Tested in Google Rich Results Test ✅
- [ ] Tested in Schema.org Validator ✅
References 文件夹
references/ 文件夹包含所有受支持架构类型的示例性、未经验证的
JSON-LD 模板。
脚本会将这些模板用作基础结构,并
使用页面数据填充其中的内容。
references/
├── faq-schema.json
├── article-schema.json
├── product-schema.json
├── review-schema.json
├── aggregate-rating-schema.json
├── howto-schema.json
├── breadcrumb-schema.json
├── organization-schema.json
├── webpage-schema.json
└── website-schema.json
每个模板都包含所有必需和建议字段,其占位值采用以下格式:
"{{field_name}}"。项目中不包含 schema_builder.py。请构建类型化对象并将其序列化;不要使用文本替换。数组/对象字段必须保持为数组/对象,不能转换为带引号的 JSON 字符串。
执行步骤
- 读取
page_type和schema_types— 如果schema_types为空,请使用 Schema Type Menu,根据page_type推荐合适的类型,然后再继续 - 对每个请求的架构类型,从
references/加载 对应模板 - 将
page_data中的所有字段映射到 模板占位符 - 根据 Rich Result Eligibility Rules 检查每个必需字段 — 输出前将所有缺失的必需字段 标记为问题
- 检查每个建议字段 — 如果缺失则标记为警告,但不阻止输出
- 验证所有 URL 均为绝对 URL、 所有日期均为 ISO 8601 格式、 所有价格均为十进制格式
- 为每种架构类型生成一个简洁的
<script>块 - 构建 Validation Summary 表
- 列出所有问题,注明严重程度和准确的修复说明
- 编写 Implementation Instructions 和 Testing Checklist
- 使用提供的页面数据填充选定的参考模板,验证必需字段,并将未解决的占位符显示为阻止性问题。仅将项目提供的架构辅助工具用作补充检查;切勿编造评价、评分或产品声明。
已连接技能
- 接收以下内容的输出:
seo-aeo-landing-page-writer、seo-aeo-blog-writer、seo-aeo-content-quality-auditor、seo-aeo-internal-linking - 输出提供给:编排工作流 — 发布检查清单前的最后一步
适用场景
在为页面添加或验证 JSON-LD 结构化数据,且提供的可见内容支持所选架构类型时使用。
限制
- 结构化数据必须与页面上可见且真实的内容相符;JSON-LD 有效并不保证会显示富媒体搜索结果、被编入索引或展示。