mcpField
S
structured-data

structured-data

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

structured-data について

structured-data は、IsAgentReady.com の AI Search Signals の検査項目を修正するスキルです。チェックポイント別の手順に沿って JSON-LD を追加・検証し、再スキャンできます。

主な機能

  1. 01JSON-LD の確認と追加
  2. 02Organization と WebSite のマークアップ設定
  3. 03ページ種別と著者情報の追加
  4. 04@id によるエンティティの関連付け
  5. 05構造化データの検証と再スキャン

活用シーン

  1. 01AI Search Signals のスキャン失敗への対応
  2. 02商品ページや記事への Schema.org マークアップ追加
  3. 03サイトへの FAQ と著者情報の追加

インストール

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

$npx skills add https://github.com/bartwaardenburg/isagentready-skills --skill structured-data

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
checkpoints.md
gotchas.md
json-ld-patterns.md
schema-types.md

詳細

構造化データ

IsAgentReady.com の AI Search Signals カテゴリーを改善します。これらのチェックポイントでは、AI 検索製品が利用・引用できる、機械可読なコンテキストをサイトが提供しているかをテストします。

スキャナーは最初の HTML レスポンスを読み取ります。JavaScript は実行しません。JavaScript によってのみ追加される JSON-LD はカウントされません。

使用するタイミング

  • スキャンで AI Search Signals に失敗が表示される場合(旧 ID 2.x)。
  • JSON-LD、構造化データ、またはスキーママークアップの追加や修正を依頼された場合。
  • サイトに Organization、WebSite、Product、Article、FAQPage、または著者のマークアップが必要な場合。
  • サイトに概要、連絡先、またはプライバシーのページがない場合。

使用しないタイミング

  • Microdata または RDFa:このスキルの対象は JSON-LD のみです。
  • Open Graph または Twitter Card タグ:ソーシャルメディアのプレビュー用です。
  • robots.txt、サイトマップ、または AI クローラーへのアクセス:ai-content-discovery を使用してください。
  • セマンティック HTML または見出し:content-semantics を使用してください。
  • セキュリティヘッダー:security-trust を使用してください。

手順

  1. スキャンから失敗したチェックポイントを取得します。各結果には旧 ID(2.2)と安定 ID(ia.organization-schema)があります。
  2. 安定 ID と同じアンカーを指定して、修正ワークフローに移動します。
  3. 例をサイトに合わせて調整します。example.com をサイトのドメインに置き換えてください。
  4. Schema.org Validator で検証し、検証コマンドを実行します。
  5. isagentready results <domain> --checkpoint <stable-id> を実行するか、isagentready.com で再スキャンします。

$ARGUMENTS が指定されている場合は、修正する URL またはチェックポイントとして使用してください。

チェックポイント

Strength は agentready.org の仕様レベル(MUST、SHOULD、MAY)です。Strength によってスコアが変わることはありません。

LegacyStable IDNameAR IDsStrength
2.1ia.json-ldJSON-LD の存在AR-READ-08SHOULD
2.2ia.organization-schemaOrganization / WebSite スキーマAR-READ-08SHOULD
2.3ia.high-value-schema価値の高いスキーマタイプAR-READ-08SHOULD
2.4ia.entity-linking@id によるエンティティのリンクAR-READ-08SHOULD
2.6ia.schema-validationスキーマの検証AR-READ-08SHOULD
2.7ia.faq-schemaFAQPage スキーマAR-READ-08SHOULD
2.8ia.author-attribution著者の明記AR-READ-08SHOULD
2.9ia.trust-pages信頼性の基盤となるページnoneSHOULD

クイックパス

構造化データがないサイトには、Organization、WebSite、メインのコンテンツタイプを含む @graph ブロックを 1 つ追加します。各エンティティに @id と著者を指定します。このブロックで 2.1、2.2、2.3、2.4、2.8 をまとめて修正できます。テンプレート全体は references/json-ld-patterns.md にあります。

修正ワークフロー

2.1 JSON-LD の存在

HTML に、有効な JSON と https://schema.org の @context を含む <script type="application/ld+json"> ブロックが 1 つ以上あると合格します。

  1. サーバー HTML の <head> に JSON-LD ブロックを追加します:
    <script type="application/ld+json">
    { "@context": "https://schema.org", "@type": "Organization",
      "name": "Example Inc", "url": "https://example.com" }
    </script>
    
  2. JSON が有効であることを確認します。末尾のカンマがあるとブロックが壊れます。

検証:curl -sf https://example.com/ | grep -q 'application/ld+json'

2.2 Organization / WebSite スキーマ

JSON-LD に Organization または WebSite があり、name と url が設定されていれば合格です。logo、sameAs、contactPoint を追加すると、より詳しい情報を提供できます。

  1. Organization エンティティを追加します:
    {
      "@context": "https://schema.org",
      "@type": "Organization",
      "name": "Example Inc",
      "url": "https://example.com",
      "logo": "https://example.com/logo.png",
      "sameAs": ["https://www.linkedin.com/company/example", "https://github.com/example"],
      "contactPoint": { "@type": "ContactPoint", "email": "[email protected]", "contactType": "customer service" }
    }
    
  2. サイトに検索機能がある場合は、SearchAction を含む WebSite エンティティを追加します。references/json-ld-patterns.md を参照してください。

確認方法:curl -sf https://example.com/ | grep -qE '"@type": *"(Organization|WebSite)"'

2.3 価値の高いスキーマタイプ

ページに必須プロパティを備えた価値の高いタイプが1つあれば合格です。対象となるタイプは、Article、NewsArticle、BlogPosting、Product、SoftwareApplication、WebApplication、MobileApplication、LocalBusiness、Service、FAQPage、QAPage、HowTo、Course、JobPosting、VideoObject、Event、Recipe です。

  1. ページの内容に合ったタイプを選択します。たとえば、商品ページの場合:
    {
      "@context": "https://schema.org",
      "@type": "Product",
      "name": "Planner Pro",
      "description": "Project planning software for small teams",
      "offers": { "@type": "Offer", "price": "12.00", "priceCurrency": "USD" }
    }
    
  2. すべての必須プロパティを設定します。各タイプのテンプレートは references/schema-types.md にあります。

確認方法:curl -sf https://example.com/ | grep -oE '"@type": *"[A-Za-z]+"' | sort -u

2.4 @id によるエンティティのリンク

エンティティに @id があり、相互に @id で参照していれば合格です。参照のない @id は部分点になります。

  1. <url>#<type> の形式で各エンティティに @id を付け、他のエンティティから参照します:
    {
      "@context": "https://schema.org",
      "@graph": [
        { "@type": "Organization", "@id": "https://example.com/#organization", "name": "Example Inc", "url": "https://example.com" },
        { "@type": "WebSite", "@id": "https://example.com/#website", "url": "https://example.com",
          "publisher": { "@id": "https://example.com/#organization" } }
      ]
    }
    

確認方法:curl -sf https://example.com/ | grep -c '"@id"'(2件以上が目安です)

2.6 スキーマの検証

1つのブロック内に同じ @type が重複せず、必須プロパティの欠落や必須値の空欄がなければ合格です。

  1. 1つの @graph から同じタイプの2つ目のエンティティを削除するか、2つのエンティティを統合します。
  2. "name": "" のような空の値を実際の値に置き換えます。
  3. PascalCase のタイプ名を使用します。organization ではなく Organization を使用してください。
  4. Schema.org Validator でページを検証します。

確認方法:読み取り専用のシェルチェックはありません。バリデーターと再スキャンコマンドを使用してください。

2.7 FAQPage スキーマ

ページに FAQ のコンテンツが表示されている場合、または FAQPage JSON-LD がある場合に適用されます。各 Question に acceptedAnswer があり、質問がページにも表示されていれば合格です。

  1. 表示されている質問と回答にマークアップを追加します:
    {
      "@context": "https://schema.org",
      "@type": "FAQPage",
      "mainEntity": [{
        "@type": "Question",
        "name": "Can I cancel at any time?",
        "acceptedAnswer": { "@type": "Answer", "text": "Yes. You can cancel in the billing settings." }
      }]
    }
    
  2. ページに表示されていない質問にはマークアップを追加しないでください。

確認方法:curl -sf https://example.com/ | grep -q '"FAQPage"'(FAQ が表示されているページで実行)

2.8 著者の明記

JSON-LD に @type が Person または Organization で、name を含む author があれば合格です。<meta name="author"> または rel="author" は部分点になります。

  1. コンテンツのエンティティに著者を追加します:
    { "@context": "https://schema.org", "@type": "Article", "headline": "Plan a sprint",
      "author": { "@type": "Person", "name": "Jane Smith", "url": "https://example.com/authors/jane" } }
    
  2. 企業のコンテンツには "@type": "Organization" を使用します。著者を単なる文字列として指定しないでください。

確認方法:curl -sf https://example.com/ | grep -qE '"author"|name="author"|rel="author"'

2.9 信頼性を示すページ

概要、問い合わせ、プライバシーの各ページが、表示テキストを500文字以上含み、2xx を返せば合格です。スキャナーは同一オリジンのホームページリンクをたどり、/over-ons のようなローカルパスも確認します。その後、/about、/contact、/privacy を試します。

  1. 実際のコンテンツを含む3つのページを、サーバー HTML として公開します。
  2. たとえばフッターから、ホームページにリンクします:
    <footer>
      <nav aria-label="Company">
        <a href="/about">About Example Inc</a>
        <a href="/contact">Contact</a>
        <a href="/privacy">Privacy policy</a>
      </nav>
    </footer>
    

確認方法:curl -sI https://example.com/about https://example.com/contact https://example.com/privacy | grep -i '^HTTP/'

よくある落とし穴

  1. "@context": "https://schema.org" のない JSON は対象になりません。
  2. 末尾にカンマがあると、ブロック全体が無効になります。
  3. 1つの @graph に Organization エンティティが2つあると、検証エラーになります。
  4. "author": "Jane Smith"(文字列)は不合格です。@type と name を含むオブジェクトを使用してください。
  5. ページに表示されていない質問への FAQPage マークアップは部分点になります。

正しい例と誤った例については、references/gotchas.md を参照してください。

参考資料

コメント