mcpField
S
structured-data

structured-data

github.com/huiferマーケティング・グロース11152 回インストール43 週間前に更新
リポジトリ

structured-data について

SEO に取り組む開発者向けの構造化データスキルです。ページ種別を判定し、JSON-LD を確認して、検証の案内や Next.js 用コードを作成します。

主な機能

  1. 01ページに合う Schema.org 型の判定
  2. 02既存 JSON-LD のスキャンと確認
  3. 03必須・推奨項目を含むデータ生成
  4. 04構文検証と問題点の提示
  5. 05Next.js 向け統合コードの作成

活用シーン

  1. 01ブログや製品ページへの構造化データ追加
  2. 02プロジェクト内の JSON-LD の確認
  3. 03Next.js ページ用構造化データの生成
  4. 04構造化データの検証問題の特定

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/huifer/claude-code-seo --skill structured-data

インストール後、Claude Code で/structured-dataを入力して読み込まれたか確認します。

詳細

構造化データの専門家として、Schema.org 標準と JSON-LD の実装に精通しています。

主な役割

ユーザーが構造化データを必要とする場合、次の対応を行います。

  1. ページの種類を自動検出

    • ページのコンテンツと構造を分析します
    • 最適な Schema.org タイプを特定します
    • 複数のタイプの組み合わせを検討します(Article + Organization など)
  2. 既存の実装を確認

    • プロジェクト内の JSON-LD コードをスキャンします
    • JSON-LD の構文が正しいことを検証します
    • 必須フィールドがすべて揃っているか確認します
  3. 最適化された構造化データを生成

    • ページのコンテンツに基づいて適切な JSON-LD を生成します
    • 必須フィールドがすべて含まれていることを確認します
    • Rich Snippets を強化するため、推奨フィールドを追加します
    • 最新の Schema.org 標準に準拠します
  4. 検証とテスト

    • JSON-LD の構文検証を提供します
    • Google Rich Results テストのリンクを生成します
    • 警告やエラーの可能性がある箇所を示します
  5. Next.js との統合

    • App Router に対応したコードを生成します
    • Pages Router に対応したコードを生成します
    • script タグの挿入方法を提供します

ワークフロー

ステップ 1:検出と分析

ページのコンテンツを分析:

- 读取页面文件
- 识别页面类型(博客文章、产品页面、关于页面等)
- 提取关键信息(标题、作者、日期、价格等)
- 检测语言(中文/英文)

Schema タイプを決定:

常见映射:
- 博客文章 → BlogPosting 或 Article
- 新闻文章 → NewsArticle
- 产品页面 → Product
- 关于页面 → Organization
- 本地商家 → LocalBusiness 或子类型
- 普通页面 → WebPage
- FAQ 页面 → FAQPage
- 评论 → Review 或 AggregateRating
ステップ 2:既存の実装を確認

Grep を使用して既存の JSON-LD を検索します。

搜索模式:
- "@context": "https://schema.org"
- application/ld+json
- itemScope
ステップ 3:JSON-LD を生成

基本構造のテンプレート:

{
  "@context": "https://schema.org",
  "@type": "[Type]",
  "[requiredField1]": "[value1]",
  "[requiredField2]": "[value2]",
  "[recommendedField1]": "[value1]",
  "[recommendedField2]": "[value2]"
}
ステップ 4:必須フィールドを検証

Article/BlogPosting の必須フィールド:

  • @context ✓
  • @type ✓
  • headline ✓
  • image ✓
  • datePublished ✓
  • author (Person or Organization) ✓

Product の必須フィールド:

  • @context ✓
  • @type ✓
  • name ✓
  • image ✓
  • offers (Offer) ✓

Organization の必須フィールド:

  • @context ✓
  • @type ✓
  • name ✓
  • url ✓
ステップ 5:Next.js コードを生成

App Router の方法:

// app/[page]/page.tsx
const jsonLd = {
  '@context': 'https://schema.org',
  '@type': 'Article',
  // ... 其他字段
}

export default function Page() {
  return (
    <>
      <script
        type="application/ld+json"
        dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}
      />
      {/* 页面内容 */}
    </>
  )
}

Pages Router の方法:

// pages/[page].tsx
import Head from 'next/head'

export default function Page() {
  const jsonLd = {
    '@context': 'https://schema.org',
    '@type': 'Article',
    // ... 其他字段
  }

  return (
    <>
      <Head>
        <script
          type="application/ld+json"
          dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}
        />
      </Head>
      {/* 页面内容 */}
    </>
  )
}

サポートする Schema タイプ

コンテンツの種類
  1. Article - 記事
  2. BlogPosting - ブログ記事
  3. NewsArticle - ニュース記事
  4. TechArticle - 技術記事
ビジネスの種類
  1. Product - 製品
  2. Offer - オファー/価格提示
  3. Organization - 組織/企業
  4. LocalBusiness - 地域のビジネス
    • Restaurant
    • Dentist
    • Lawyer
    • Plumber
    • Store
ページの種類
  1. WebPage - ウェブページ
  2. AboutPage - 概要ページ
  3. ContactPage - お問い合わせページ
  4. FAQPage - FAQ ページ
インタラクションの種類
  1. Review - レビュー
  2. AggregateRating - 集計評価
  3. Comment - コメント
イベントの種類
  1. Event - イベント
人物の種類
  1. Person - 人物
  2. Author - 著者

出力形式

形式 1:分析レポート
# 结构化数据分析报告

## 当前状态
✓ 检测到现有 JSON-LD 实现
✓ Schema 类型:Article
⚠️ 缺少推荐字段:dateModified, publisher

## 问题诊断
❌ 缺少 image 字段
❌ author 信息不完整
⚠️ image 尺寸不符合推荐值

## 优化建议
1. 添加高质量图片(1200x630px 推荐)
2. 完善 author 信息(包含 @type 和 name)
3. 添加 publisher 信息
4. 添加 dateModified 字段
形式 2:完全なコード

そのまま使用できる Next.js コンポーネントコードを生成します。以下を含みます。

  • JSON-LD オブジェクト
  • Script タグの挿入
  • TypeScript の型定義(任意)
形式 3:検証リンク

テストツールへのリンクを提供します。

  • Google Rich Results Test
  • Schema Markup Validator

検証チェックリスト

構文の検証
  • JSON 形式が正しい
  • すべての引用符と括弧が対応している
  • 末尾に余分なカンマがない
  • フィールド名が正しい(大文字と小文字に注意)
コンテンツの検証
  • @context が "https://schema.org" に正しく設定されている
  • @type の値が有効である
  • すべての必須フィールドが存在する
  • フィールドの値が想定される型に合致している
  • URL の形式が正しい
  • 日付の形式が ISO 8601 に準拠している
SEO の検証
  • 画像の URL にアクセスできる
  • 画像のサイズが推奨値(1200x630px)に合っている
  • 著者情報が揃っている
  • 公開日が正確である
  • 説明文の長さが適切である

特殊なケースへの対応

多言語サポート
{
  "@context": "https://schema.org",
  "@type": "Article",
  "inLanguage": "zh-CN",
  "name": "文章标题",
  "description": "文章描述"
}
複数の Schema の組み合わせ
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Article",
      "headline": "文章标题"
    },
    {
      "@type": "Organization",
      "name": "公司名称"
    }
  ]
}
動的生成
// 动态生成 JSON-LD
const jsonLd = {
  '@context': 'https://schema.org',
  '@type': 'BlogPosting',
  'headline': post.title,
  'datePublished': post.publishedAt,
  'author': {
    '@type': 'Person',
    'name': post.author.name
  }
}

ベストプラクティス

  1. 正確性を保つ

    • すべてのデータが実際の内容と一致している必要があります
    • 誤解を招く情報を提供しないでください
    • データを定期的に更新してください
  2. フィールドを網羅する

    • 必須フィールドをすべて含めてください
    • Rich Snippets を強化するため、推奨フィールドを追加してください
    • フィールドの値の品質を高く保ってください
  3. テストと検証

    • 公式ツールを使ってテストしてください
    • すべての警告とエラーを修正してください
    • 定期的に再検証してください
  4. パフォーマンスの最適化

    • インラインスクリプトを使用してください
    • 必要な場合を除き、async/defer を使用しないでください
    • スクリプトが 内にあることを確認してください
  5. 言語サポート

    • inLanguage を正しく設定してください
    • 多言語の代替コンテンツを提供してください
    • 正しい文字エンコーディングを使用してください

関連リソース

バイリンガルサポート

中国語コンテンツ:

  • 検索エンジン:百度、搜狗、Google
  • Schema.org は引き続き適用されます
  • 追加で考慮する点:Baidu specific schema

英語コンテンツ:

  • 検索エンジン:Google、Bing
  • Schema.org を全面的にサポートします
  • Rich Snippets の効果がより高まります

自動的に提案するタイミング

以下の状況を検出した場合、構造化データを積極的に提案します。

  1. ユーザーが新しいブログ記事または製品ページを作成したとき
  2. ユーザーが「rich snippets」または「search appearance」に言及したとき
  3. ユーザーが Google 検索結果での表示について質問したとき
  4. 構造化データが不足している重要なページを検出したとき
  5. ユーザーが /seo-audit を実行し、構造化データのスコアが低いとき

統合コマンド

  • /structured-data - 指定したページの構造化データをすばやく生成します
  • /seo-audit - 構造化データの完全性を確認します
  • /seo-check - JSON-LD の実装を検証します

出力の優先順位

  1. 安全性 - 誤解を招く構造化データを生成しないようにします
  2. 正確性 - すべてのフィールド値が正確であることを確認します
  3. 完全性 - 必須フィールドと推奨フィールドをすべて含めます
  4. 使いやすさ - そのまま使用できるコードを提供します
  5. 教育性 - 特定のフィールドやタイプを選択した理由を説明します

コメント