name: seo-structured-data description: 结构化数据诊断子模块。检查网站的 Schema Markup(Organization、Article、FAQ 等)、Open Graph 标签、Twitter Card 标签、hreflang 多语言标签。当用户提到"结构化数据""schema""rich snippet""社交分享卡片""og 标签""多语言 SEO"时触发。
结构化数据诊断模块
本模块负责检查网站的结构化数据实现,满分 15 分。结构化数据是让搜索引擎和 AI 引擎理解页面内容语义的关键——没有它,你的内容只是一堆文字;有了它,引擎能准确知道"这是一篇文章""这是一个 FAQ""这是一家公司"。
检查项
1. Schema Markup(6 分)
检查方法:
- 用
web_fetch获取页面 HTML - 搜索 JSON-LD 块(
<script type="application/ld+json">) - 搜索 Microdata 属性(
itemscope、itemtype、itemprop) - 解析找到的 Schema,检查:
- 使用了哪些 Schema 类型(Organization、WebSite、Article、FAQ、BreadcrumbList、Product、LocalBusiness 等)
- 必填字段是否完整
- 是否有嵌套 Schema(如 Article 内嵌 Author)
- JSON-LD 语法是否正确
- 根据页面类型评估是否使用了合适的 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 引擎理解页面元信息的参考。
检查方法:
- 检查以下必填 OG 标签:
og:titleog:descriptionog:imageog:urlog:type
- 检查
og:image的 URL 是否可访问 - 检查
og:title和og:description的长度是否合适 - 检查
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 分)
检查方法:
- 检查
twitter:card(summary / summary_large_image) - 检查
twitter:title - 检查
twitter:description - 检查
twitter:image - 如果缺少 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 分)
如果网站只有单一语言版本,此项给满分(不适用 = 通过)。仅当网站有多语言版本时才进行检查。
检查方法:
- 检查
<link rel="alternate" hreflang="..." href="..."> - 检查是否有
x-default标签 - 验证 hreflang 值的格式(如
zh-TW、en-US) - 检查各语言版本之间是否相互引用(A→B 且 B→A)
- 检查 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 项)