🧩 JSON-LD ジェネレーター
schema.org の構造化データ (JSON-LD) を 9 タイプに対応してリアルタイム生成。Organization / WebSite / Article / Product / FAQPage / HowTo / Event / LocalBusiness / Recipe をフォーム入力で構築し、Google Rich Results 対応のコードをコピー / ダウンロードできます。
🔒 プライバシーについて
- ・入力したデータはブラウザ内でのみ処理されます
- ・サーバーへの送信・保存・ログは一切ありません
- ・登録・ログイン・課金は一切不要
📋 生成された JSON-LD
💡 複数 schema を 1 ページに含める場合は @graph 配列でまとめると重複を避けられます。Rich Results Test に貼り付けて検証してください。
📖 つまずきやすいポイント
Organization / WebSite / Article / Product / FAQPage / HowTo / Event / LocalBusiness / Recipe の 9 タイプについて、schema.org の構造化データ (JSON-LD) をフォーム入力から生成します。処理はブラウザ内で完結します。ただし「構文として正しい JSON-LD」と「リッチリザルトが出る」は別のことです — 前者は検証ツールで確認できますが、後者を保証する方法はありません。そして構造化データで最も多い失敗は、書式ではなく内容にあります: ページに書かれていないことをマークアップに書くと、それは修正すべき不備ではなくガイドライン違反です。
| ケース | 何が起きるか | どうする |
|---|---|---|
| マークアップと可視ページの内容が食い違う | 検索エンジンは構造化データがページ上に実際に存在する内容を表していることを要求します。ページのどこにも書かれていない評価点・価格・在庫・レビュー件数をマークアップにだけ書くと、ガイドライン違反となり、手動対策 (該当ページの構造化データを無視される、あるいはサイト全体の評価が下がる) の対象になります。悪意がなくても起きます — 最も多い原因はテンプレートです。JSON-LD をテンプレートに直書きして全ページで共有すると、ページごとに違うはずの値が固定になり、本文と乖離していきます。「1 ページだけ手で書いて動作確認したものを、そのまま横展開した」という経緯がほとんどです。そして乖離は静かに進みます — 本文だけを更新して JSON-LD を直し忘れれば、その日から不一致です。 | マークアップと本文を、同じ 1 つのデータから生成してください。 テンプレート内で本文に使っている変数 (product.price など) をそのまま JSON-LD 側にも渡せば、本文を直したときに構造化データも自動的に追随します — 「両方を手で直す」運用は必ず片方が取り残されます。このサイト自身、ブログ 28 本で同じ問題を踏み、同じ対策で解決しました。手で書く場合の原則も 1 つだけです: ページに表示していない値は書かない。評価やレビューを入れたいなら、まずページにレビューを表示してください — 順序が逆になると、必ず違反になります。既存ページの点検には Search Console の「拡張」レポートが使えます — エラーだけでなく警告も読んでください。 |
| FAQ と HowTo のリッチリザルトはもう出ない | 2023 年の変更で、FAQ のリッチリザルトは政府機関や医療機関など「信頼できる公的サイト」に限定され、HowTo はデスクトップ・モバイルの両方で表示が終了しました。つまり、一般的な企業サイトやブログがこの 2 つのマークアップを追加しても、検索結果の見た目は変わりません。マークアップ自体が無効になったわけではなく、正しく解釈もされます — 変わったのは「表示されるかどうか」だけです。ここで問題になるのは期待値のずれで、「検索結果の面積を増やす」ことを目的に FAQ ブロックをページに足すと、目的は達成できないうえ、本題と関係の薄い Q&A がページに残ります — 読み手にとっては、答えを探す妨げにしかなりません。 | マークアップを足す目的を「表示」から「理解」に切り替えてください。 FAQPage も HowTo も、検索エンジンや LLM がページの構造を把握する助けにはなります — ただしそれは順位や表示を約束するものではないので、費用対効果で判断してください。リッチリザルトを実際に狙えるタイプは限られています: Article・Product・Recipe・Event・LocalBusiness・Breadcrumb あたりが現実的です。そして最も確実に効くのは Breadcrumb — 実装が単純で、検索結果の URL 表示がパンくずに置き換わるという分かりやすい変化があります。FAQ を書くこと自体は良いことです — ただし「ユーザーがそれを読むから」書いてください。SERP のためではなく。 |
| 検証は通るのにリッチリザルトの要件を満たしていない | schema.org はほとんどのプロパティを必須にしていません — 型さえ合っていれば「妥当な JSON-LD」になります。一方 検索エンジンのリッチリザルトには、タイプごとに別の必須項目リストがあります。この 2 つを混同すると、「検証ツールでエラーが 0 なのに何も表示されない」という状態になります。よくある欠落は、Article の image と datePublished、Product の offers (価格と通貨と在庫状態)、Event の location と startDate、LocalBusiness の address。もうひとつ見落とされるのがエンティティの重複です — 各ページに Organization をまるごと書くと、同じ組織の情報が何十個も存在することになり、どれが正なのかが曖昧になります。 |
2 つの検証ツールを使い分けてください。 Schema Markup Validator は構文と型を見るもの、リッチリザルトテストは「検索結果に出る資格があるか」を見るものです — 後者だけが必須項目の欠落を教えてくれます。そして推奨項目も入れてください — 必須ではないので警告止まりですが、実際の表示は推奨項目の充実度に影響されます。重複の解消には @id を使います: Organization をサイトに 1 か所だけ (トップページなど) 完全な形で書き、他のページからは {"@id": "https://example.com/#organization"} と参照するだけにすれば、情報の正本が 1 つに決まり、更新も 1 か所で済みます。 |
構造化データは順位を上げる要因ではありません。Google はランキング要因ではないと明言しています — 効果があるのは「クリック率」の側で、リッチリザルトが表示されれば目に留まりやすくなる、というだけです。したがって、薄いページに構造化データを足しても何も起きません。順番としては、まず内容を厚くしてからです。実装面の注意を 2 つ。JSON-LD は JavaScript で後から挿入しても読まれますが、確実なのはサーバー側で HTML に含めることです — レンダリングを待つ分だけ、認識が遅れるか、されないことがあります。もうひとつ、1 ページに複数のタイプを置くのは問題ありません — Article と Breadcrumb と Organization が同居するのは正常で、@graph でまとめても、別々の <script> に分けても構いません。最後に、反映には時間がかかります — 再クロールされるまで Search Console のレポートは変わらないので、変更した翌日に「効いていない」と判断しないでください。
📖 使い方
-
1
schema タイプを選ぶOrganization / WebSite / Article / Product / FAQPage / HowTo / Event / LocalBusiness / Recipe から目的に合うタイプをドロップダウンで選択。
-
2
必須フィールドを入力* 印が付いたフィールド (name / url / headline / startDate など) を埋めると右下の出力エリアに JSON-LD が即時生成されます。
-
3
コピーまたはダウンロード「<script> でラップ」をオンにすると HTML にそのまま貼り付け可能。<head> 内に挿入してください。
-
4
Rich Results Test で検証Google Rich Results Test に貼り付けて、Google が認識できるか確認します。
❓ よくある質問
JSON-LD とは何ですか?
<head> 内の <script type="application/ld+json"> タグに記述します。どの schema タイプを使えばよいですか?
1 ページに複数の schema を含められますか?
<script type="application/ld+json"> タグを並べる方法と、1 つの <script> 内で @graph 配列にまとめる方法があります。@graph 形式の方が @id で相互参照でき、Google にも推奨されています。例: WebSite + Organization + BreadcrumbList を 1 つの @graph で記述。Rich Results に表示されるための条件は?
AI クローラー (GPTBot / ClaudeBot 等) も JSON-LD を読みますか?
🔗 関連ツール
🐛 このツールで問題が発生しましたか?
完全無料・登録不要。再現手順だけでも結構です。届いたご報告は運営者に直接届き、修正の参考にします。
ご報告ありがとうございます!
運営者に届きました。改善の参考にさせていただきます。