# SEO Structured Data

> 结构化数据诊断子模块。检查网站的 Schema Markup（Organization、Article、FAQ 等）、Open Graph 标签、Twitter Card 标签、hreflang 多语言标签。当用户提到"结构化数据""schema""rich snippet""社交分享卡片""og 标签""多语言 SEO"时触发。

- Skill: `jrr996shujin-png/seo-structured-data` (Agent Skill)
- Install (CLI): `npx skillmds@latest add jrr996shujin-png/seo-structured-data`
- Raw SKILL.md: https://api.skillmd.com/api/skills/jrr996shujin-png/seo-structured-data/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Marketing & Growth
- Author: jrr996shujin-png (https://skillmd.com/u/jrr996shujin-png)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/jrr996shujin-png/seo-structured-data

---


# 结构化数据诊断模块

本模块负责检查网站的结构化数据实现，满分 15 分。结构化数据是让搜索引擎和 AI 引擎理解页面内容语义的关键——没有它，你的内容只是一堆文字；有了它，引擎能准确知道"这是一篇文章""这是一个 FAQ""这是一家公司"。

## 检查项

### 1. Schema Markup（6 分）

**检查方法：**
1. 用 `web_fetch` 获取页面 HTML
2. 搜索 JSON-LD 块（`<script type="application/ld+json">`）
3. 搜索 Microdata 属性（`itemscope`、`itemtype`、`itemprop`）
4. 解析找到的 Schema，检查：
   - 使用了哪些 Schema 类型（Organization、WebSite、Article、FAQ、BreadcrumbList、Product、LocalBusiness 等）
   - 必填字段是否完整
   - 是否有嵌套 Schema（如 Article 内嵌 Author）
   - JSON-LD 语法是否正确
5. 根据页面类型评估是否使用了合适的 Schema：
   - 首页：Organization + WebSite
   - 文章页：Article + Author + BreadcrumbList
   - FAQ 页：FAQPage
   - 产品页：Product
   - 本地商家：LocalBusiness

**评分：**
- 6 分：有 JSON-LD + 使用了与页面类型匹配的 Schema + 必填字段完整
- 4 分：有 Schema 但类型不够完整或缺少部分推荐字段
- 2 分：有 Schema 但类型不匹配或语法有错误
- 0 分：无任何 Schema Markup

**输出格式：**
```
状态：✅/⚠️/❌
Schema 格式：JSON-LD / Microdata / 无
检测到的 Schema 类型：
- Organization ✅（字段完整度 X%）
- Article ⚠️（缺少 datePublished）
- ...

推荐但缺失的 Schema：
- FAQPage（页面有 FAQ 内容但未标记）
- BreadcrumbList（有面包屑导航但未加结构化标记）

修复建议：（具体 JSON-LD 代码示例）
```

### 2. Open Graph 标签（4 分）

Open Graph 决定了你的页面在社交平台（Facebook、LinkedIn、微信等）分享时的展示效果，同时也是 AI 引擎理解页面元信息的参考。

**检查方法：**
1. 检查以下必填 OG 标签：
   - `og:title`
   - `og:description`
   - `og:image`
   - `og:url`
   - `og:type`
2. 检查 `og:image` 的 URL 是否可访问
3. 检查 `og:title` 和 `og:description` 的长度是否合适
4. 检查 `og:locale` 是否与页面语言一致

**评分：**
- 4 分：5 个核心标签齐全 + 图片可访问 + 长度合适
- 3 分：核心标签齐全但有小问题（如图片不可访问）
- 1 分：有部分 OG 标签但不完整
- 0 分：无任何 OG 标签

**输出格式：**
```
状态：✅/⚠️/❌
OG 标签检查：
| 标签 | 状态 | 值 |
|------|------|-----|
| og:title | ✅/❌ | "..." |
| og:description | ✅/❌ | "..." |
| og:image | ✅/❌ | URL（可访问/不可访问）|
| og:url | ✅/❌ | "..." |
| og:type | ✅/❌ | "..." |

修复建议：（具体建议）
```

### 3. Twitter Card 标签（2 分）

**检查方法：**
1. 检查 `twitter:card`（summary / summary_large_image）
2. 检查 `twitter:title`
3. 检查 `twitter:description`
4. 检查 `twitter:image`
5. 如果缺少 twitter 专用标签，检查是否有 OG 标签可作为 fallback

**评分：**
- 2 分：twitter:card 存在 + 核心标签齐全（或 OG fallback 充分）
- 1 分：有部分标签但不完整
- 0 分：无任何 Twitter Card 标签且 OG 标签也无法作为 fallback

**输出格式：**
```
状态：✅/⚠️/❌
Twitter Card 类型：summary / summary_large_image / 无
标签完整度：X/4
OG Fallback：充分/不充分
修复建议：（具体建议）
```

### 4. hreflang 多语言标签（3 分）

如果网站只有单一语言版本，此项给满分（不适用 = 通过）。仅当网站有多语言版本时才进行检查。

**检查方法：**
1. 检查 `<link rel="alternate" hreflang="..." href="...">`
2. 检查是否有 `x-default` 标签
3. 验证 hreflang 值的格式（如 `zh-TW`、`en-US`）
4. 检查各语言版本之间是否相互引用（A→B 且 B→A）
5. 检查 URL 是否为绝对路径

**评分：**
- 3 分：单语言网站（不适用）或多语言标签完整且相互引用
- 2 分：有 hreflang 但缺少 x-default 或不完全相互引用
- 1 分：有 hreflang 但格式错误
- 0 分：多语言网站但无 hreflang 标签

**输出格式：**
```
状态：✅/⚠️/❌（或 N/A 单语言网站）
检测到的语言版本：zh-TW, en-US, ...
x-default：有/无
相互引用：完整/不完整
修复建议：（具体建议）
```

## 汇总输出

```
## 结构化数据 — 得分 X/15

| 检查项 | 得分 | 状态 |
|--------|------|------|
| Schema Markup | X/6 | ✅/⚠️/❌ |
| Open Graph | X/4 | ✅/⚠️/❌ |
| Twitter Card | X/2 | ✅/⚠️/❌ |
| hreflang | X/3 | ✅/⚠️/❌/N/A |

关键发现：（1-2 句总结）
优先修复：（最重要的 1-2 项）
```

