「FAQを設定したのにリッチリザルトが表示されない」「構造化データって何を書けばいいの?」そんな疑問を持っているWordPressユーザーに向けて、FAQ構造化データの書き方を基礎から解説しましょう。
本記事では、JSON-LDの基本コードから、WordPressでの実装方法、Search Consoleでの確認手順まで、ステップ別に解説します。
FAQ構造化データとは何か:SEOとGEOに与える効果
FAQ構造化データはGoogleが開発した「構造化データマークアップ」の一種です。Googleにページ内の質問と回答情報を機械的に伝えることで、検索結果の見え方が変わります。
| 実装方式 | 記述場所 | 学習コスト | メンテナンス性 | 推奨度 |
|---|---|---|---|---|
| JSON-LD | headまたはbody内の<script>タグ | 低 | 高(HTMLと分離) | ★★★ Googleが推奨 |
| Microdata | HTML要素の属性として記述 | 中 | 低(HTMLと混在) | ★★☆ 旧形式 |
| RDFa | HTML属性として記述 | 高 | 低(複雑な構造) | ★☆☆ 非推奨 |

FAQ構造化データの定義と仕組み:JSON-LDとは何か
JSON-LDとは「JSON for Linked Data」の略で、JavaScriptのオブジェクト記法を使って構造化データを記述する形式です。GoogleはHTML内に埋め込む3つの方式(JSON-LD / Microdata / RDFa)のうち、JSON-LDを最も推奨しています。
FAQ構造化データでは、@type: "FAQPage" と "mainEntity" プロパティを使ってQ&Aの組み合わせを定義しましょう。Googleがこの情報を認識すると、検索結果の下部に質問と回答が展開表示されることになります。
リッチリザルト・AIサマリー・音声検索への影響
FAQ構造化データを実装することで期待できる効果は3つです。
1つ目はリッチリザルト表示です。検索結果にFAQが展開表示され、ページへの視認性が向上します。
2つ目はGoogleのAI Overview(旧SGE)への引用です。FAQの回答がAIサマリーに採用されやすくなり、検索流入以外の接触機会が増えます。
3つ目は音声検索対応です。「〇〇とは何ですか」という質問形式のクエリに、FAQの回答が直接読み上げられるケースが生まれます。
「未対応は時代遅れ 構造化データマークアップとは?」(YouTube 2022年公開)では、構造化データ未対応のサイトはGoogleの理解が遅くなり、競合より不利な立場になると解説されています。
FAQ構造化データが必要なページの見分け方
すべてのページにFAQ構造化データが必要なわけではないため、優先すべきページを選ぶ基準を知っておきましょう。
FAQ構造化データが効果的なのは、「ページ内にQ&A形式のコンテンツがある記事」「サービス・商品の特徴を質問形式で説明しているページ」「ハウツー系の記事でよくある疑問をまとめているページ」の3種類です。
FAQ機能自体がない単純な紹介ページや採用ページへの実装は、Googleのガイドライン違反となる可能性があるため避けましょう。
FAQ構造化データの書き方:JSON-LDの実装手順
JSON-LDの記述は、基本パターンを1つ覚えてしまえば応用が可能です。まずコピーして使えるテンプレートを確認してください。
FAQ構造化データ 実装3ステップ
⚠ JSON-LDの内容はページ本文のFAQと必ず一致させること
基本のJSON-LDコード:コピーして使えるテンプレート
以下が1つのFAQを含む最もシンプルなJSON-LDです。
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "ここに質問を入力",
"acceptedAnswer": {
"@type": "Answer",
"text": "ここに回答を入力。HTMLタグも使用可能です。"
}
}
]
}
</script>
@context は必ず "https://schema.org" と記述してください。@type: "FAQPage" でページ種別を宣言し、mainEntity に質問と回答の配列を格納します。
必須プロパティと任意プロパティの違い
FAQ構造化データで必須となるプロパティは次の通りです。
mainEntity → 質問と回答のグループ(必須)。@type: "Question" → 質問であることの宣言(必須)。name → 質問文(必須)。acceptedAnswer → 受け入れ回答(必須)。@type: "Answer" → 回答であることの宣言(必須)。text → 回答テキスト(必須)。
任意プロパティとして url(回答への直リンク)や dateCreated(作成日)も追加できますが、Googleは現状これらを積極的に活用していないため、省略してもかまいません。
複数のFAQを追加する際の記述ルール
複数のFAQを追加するには、mainEntity の配列に { "@type": "Question", ... } オブジェクトをカンマで区切って並べていきましょう。
注意点が2つあります。1つ目は「ページ本文に存在しない質問と回答を書いてはいけない」というルールです。Googleのガイドラインでは、構造化データの内容はページ本文と一致している必要があります。2つ目は回答テキストのHTMLタグです。<a> タグ・<br> タグは使用可能ですが、<script> や <style> タグは禁止となっています。
WordPressでのFAQ構造化データ実装:プラグインあり・なし両対応
WordPressでは、プラグインを使う方法と手動で記述する方法があります。それぞれの特徴を把握してから選んでください。
Yoast SEO・All in One SEOプラグインでの設定手順
Yoast SEOを使う場合、投稿編集画面の「Yoastブロック」からFAQブロックを追加するだけでJSON-LDが自動生成されます。コードを書く必要がなく、初心者でも安全に実装できる手段といえるでしょう。
All in One SEO(AIOSEO)は、コンテンツ欄の下部に「スキーマ」設定パネルが表示されます。「FAQ」スキーマを選択し、質問と回答を入力すれば自動的にJSON-LDが出力されます。
functions.phpに直接追記する方法(プラグイン不要)
プラグインなしで実装したい場合は、functions.phpに次のコードを追記しましょう。
function add_faq_structured_data {
if ( is_single ) {
echo '<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "質問1",
"acceptedAnswer": { "@type": "Answer", "text": "回答1" }
}
]
}
</script>';
}
}
add_action( 'wp_head', 'add_faq_structured_data' );
is_single 条件を適宜変更することで、特定の投稿タイプやカテゴリだけに絞り込んで出力できます。
テーマ別の実装注意点:Cocoon・SWELL・Divi
CocoonにはFAQブロック機能が標準搭載されています。「よく読まれる」ウィジェットの「FAQ」を使うと自動で構造化データが生成されるため、追加の実装は不要となります。
SWELLは投稿内に「FAQブロック」を配置すると構造化データが自動出力されます。SWELLのFAQブロックは見た目も整っており、そのまま利用できるでしょう。
DiviはデフォルトでFAQ構造化データを出力しないため、「FAQ Schema for Divi」などのサードパーティプラグインか、functions.phpへの手動追記が必要となります。
SEO記事の書き方と構成設計(ハッシンラボ Premium)
FAQ構造化データのよくある失敗例と対処法
実装後にリッチリザルトが表示されないケースの多くは、いくつかの典型的な失敗パターンに原因があります。
FAQ構造化データ 実装後の確認チェックリスト
すべて確認できたらリッチリザルト表示の準備が整っています
リッチリザルト表示の準備が整っています ✓
Googleが警告を出す主なエラーパターン
Search Consoleで「FAQ構造化データ」のエラーが表示される主な原因として以下が挙げられます。
必須フィールドの欠落:name(質問)または text(回答)プロパティが欠けている場合です。コードを再確認しましょう。
コンテンツの不一致:JSON-LDに記述した質問・回答がページ本文に存在しない場合にGoogleはポリシー違反と判断します。FAQ本文をページに追加するか、構造化データを削除してください。
JSON構文エラー:カンマの欠落・引用符の不一致・波括弧の閉じ忘れなどです。リッチリザルトテストツールで必ず確認しましょう。
FAQの回答がページ本文にない場合のペナルティリスク
Googleは2023年のアップデートから、構造化データとページ本文が一致しない場合に「スパム行為」として検索順位を下げるリスクが高まっています。
よくある誤解として「JSON-LDだけ記述してページ本文にFAQを表示しなくてもいい」という認識がありますが、これは現在のガイドラインに反します。必ずページ本文にFAQを可視的に記述したうえで、同内容を構造化データにも含めてください。
更新・削除時の構造化データ修正手順
FAQの内容を変更した場合は、ページ本文と構造化データの両方を同時に更新しましょう。
FAQページ自体を削除する場合は、構造化データも同時に削除が必要となります。削除後はSearch ConsoleのURL検査ツールから「再クロールをリクエスト」を実行することで、Googleが速やかに変更を認識するでしょう。
WordPressの表示速度を改善するEWWW Image Optimizer設定(ハッシンラボ Premium)
Google Search Consoleでリッチリザルトを確認する手順
実装後の確認はSearch Consoleを使うのが最も確実な方法といえます。
リッチリザルトテストツールの使い方
Googleが提供する「リッチリザルトテスト(Rich Results Test)」は、URLまたはHTMLコードを入力するだけで構造化データの有効性を確認できます。
テスト結果で「有効なアイテムを検出しました」と表示されれば、コードの記述が正しい状態といえるでしょう。「警告」が表示された場合でも、リッチリザルト自体は表示される場合があります。「エラー」表示の場合は、リッチリザルトに表示されないため修正が必要です。
Search Consoleの「ウェブ検索」レポートで表示を確認
Search Consoleの左メニューから「検索結果」→「検索タイプ:ウェブ」を選択し、フィルタで「検索機能:リッチリザルト – FAQ」を追加しましょう。
このレポートでFAQリッチリザルトが表示されたクリック数とインプレッション数が確認できます。実装から2〜4週間経過した時点で数値がゼロの場合は、インデックス状況やエラーを再確認することをおすすめします。
リッチリザルトが表示されない場合のチェックリスト
リッチリザルトが表示されないときに確認すべきポイントを整理しておきます。
「Googleにページがインデックスされているか」「ページ本文にFAQが表示されているか」「JSON-LDの構文が正しいか(リッチリザルトテストで確認)」「Search Consoleでエラーレポートが出ていないか」「実装から2週間以上経過しているか」の5点を確認してください。
すべてクリアしているにもかかわらず表示されない場合は、Google側の判断でリッチリザルトの表示対象外と判定されている可能性があります。その場合はFAQの内容の充実や被リンク強化を優先するとよいでしょう。
SNSが資産にならない理由と代替戦略(ハッシンラボ Premium)
よくある質問
FAQ構造化データを設定するとリッチリザルトが必ず表示されますか?
必ず表示されるわけではありません。Googleの審査基準を満たした場合のみ、検索結果のリッチリザルトとして表示されます。実装後はGoogle Search Consoleのリッチリザルトテストで問題がないか確認し、数週間待つことが必要となります。
WordPressのプラグインなしでFAQ構造化データを実装できますか?
はい、可能です。functions.phpや各記事のカスタムHTMLブロックにJSON-LDコードを直接記述することで実装できます。ただし、Yoast SEOやAll in One SEOなどのプラグインを使うと、設定ミスを防ぎやすく管理が楽になるでしょう。
FAQ構造化データはいくつまで設定できますか?
技術上の上限はありませんが、Googleは一般的に2〜3個程度をリッチリザルトに表示する傾向があります。多すぎると表示されにくくなる可能性があるため、最も重要な質問を優先して5〜10個に絞るのがおすすめです。
AI OverviewやGEO(生成AIの回答)にもFAQ構造化データは効果的ですか?
はい、効果が期待できます。構造化データはGoogleのAI Overviewや各種AIチャットボットが情報を解釈しやすくする役割を果たしているでしょう。FAQの回答を明確に記述することで、AI生成の回答に引用される確率が高まります。
FAQ構造化データの実装後、Search Consoleで確認できるまでどのくらいかかりますか?
通常、Googleのクロールとインデックス登録に数日〜2週間程度かかります。実装直後はURL検査ツールで「インデックス登録をリクエスト」を実行し、リッチリザルトテストで構文エラーがないか確認してから待つのが効率的といえます。
FAQ構造化データの実装はシンプルです。JSON-LDのテンプレートをコピーして、ページ本文のFAQと内容を一致させたうえで貼り付けるだけで始められます。まずはリッチリザルトテストで構文エラーがないことを確認してから公開してみてください。