Web Guide
Web集客の教科書
FAQの構造化マークアップ完全ガイド|JSON-LDサンプル・WordPress設定・リッチリザルト表示のコツ
「FAQをGoogleの検索結果に展開表示させたい」「JSON-LDの書き方がわからない」「WordPressで設定したのにリッチリザルトが出ない」
この記事では、FAQの構造化マークアップ(FAQPage)の仕組み・JSON-LDサンプルコード・WordPressでの設定方法・リッチリザルトが表示されない原因と対処法をコピーして使えるコードつきで徹底解説します。AI検索(GEO対策)への効果についても解説します。
📋 この記事でわかること
- FAQの構造化マークアップとは何か・何が変わるか
- FAQリッチリザルトのCTR・AI検索への効果
- Googleのガイドライン・表示される条件
- JSON-LDのサンプルコード(コピーして使える)
- WordPressでの設定方法(プラグイン・手動の両方)
- 実装後の確認方法(リッチリザルトテスト・Search Console)
- よくある失敗・エラーの原因と対処法
Contents
1. FAQの構造化マークアップとは?リッチリザルトで何が変わるか
検索結果にQ&Aが展開表示されるようになる技術
FAQの構造化マークアップとは、Webページ内のよくある質問(FAQ)のコンテンツに対して、「これはFAQの質問です」「これはその回答です」というラベルをコードで明示する技術です。JSON-LDという形式で記述し、HTMLの script タグ内に記載します。
FAQの構造化マークアップを実装すると、GoogleはそのページをFAQPage(よくある質問ページ)として認識し、検索結果にQ&Aを展開表示する「FAQリッチリザルト」の表示候補となります。
FAQリッチリザルトの見え方(検索結果でのイメージ)
FAQの構造化マークアップ完全ガイド|JSON-LDサンプル・…
https://crevia-ts.com › archives › 1223
FAQの構造化マークアップ(FAQPage)の書き方・JSON-LDサンプルコード・WordPressでの設定方法をわかりやすく解説。
▼
▼
▲ 検索結果でのFAQリッチリザルト表示イメージ(実際の表示はGoogleの判断による)
FAQの構造化マークアップで起きる変化
- 検索結果にQ&Aが最大2〜3問展開表示される
- 検索結果上で占めるスペースが大きくなりクリック率(CTR)が向上する
- AI検索(ChatGPT・Gemini・AIオーバービュー)で回答として引用されやすくなる
- ページへの信頼感が増し、問い合わせ・購入率の向上につながる
2. FAQリッチリザルトの効果|CTR向上・AI検索引用への影響
同じ順位でも「見え方」が変わるとクリック数が変わる
FAQリッチリザルトが表示されると、検索結果上でページが占めるスペースが大幅に拡大します。同じ検索順位でもクリック率が平均20〜30%向上するとされており、特に3位〜10位圏内のページで効果が出やすい傾向があります。
FAQの質問・回答が検索結果上で読めるため、クリック前にページの内容・信頼性を伝えられます。「この会社はちゃんと答えてくれそう」という印象を与え、クリック後の問い合わせ率向上につながります。
ChatGPT・Gemini・GoogleのAIオーバービューなどのAI検索は、構造化された質問と回答のペアを「信頼できる情報源」として優先的に参照します。FAQの構造化マークアップを実装することで、AI検索の回答に自社の情報が引用される確率が高まります。
FAQの構造化マークアップが特に効果的な業種・ページ
サービス業・士業:料金・サービス内容・手順に関するFAQが多く、検索意図と一致しやすい。クリニック・医療機関:初診の流れ・保険適用・予約方法などの問い合わせが多い業種。EC・通販サイト:送料・返品・支払い方法など購入前の不安を解消するFAQが成約率に直結。SEO記事・ブログ:「〇〇とは」「〇〇の方法」など疑問形のキーワードを狙う記事全般。
構造化マークアップの中でFAQが「最優先」な理由
FAQの構造化マークアップは、他のタイプ(Product・Eventなど)と比べて実装のハードルが低く、かつ効果が出やすいタイプです。業種を問わずほぼすべてのサイトに適用できるため、構造化マークアップの導入を検討している場合は最初にFAQから始めることをお勧めします。
3. 表示される条件とGoogleのガイドライン
守らないとペナルティになるルールを事前に確認する
FAQの構造化マークアップを実装しても、Googleのガイドラインを満たしていなければリッチリザルトは表示されません。また、ガイドライン違反が重大な場合はペナルティの対象となります。実装前に必ず確認しておきましょう。
構造化データに記述した質問・回答が、ユーザーが見るページ内に実際に表示されていること。見えないコンテンツへの実装は違反。
質問(Question)と回答(Answer)が正確に対応していること。回答が別ページへの誘導だけでは不十分。
Googleのリッチリザルトテストで警告・エラーが出ていないこと。文法ミスや必須プロパティの欠落があると表示対象外になる。
検索結果に表示されていないページにはリッチリザルトも表示されない。noindexが設定されていないか確認。
Googleのガイドライン違反になる実装(ペナルティリスクあり)
- ページに表示されていない質問・回答を記述する(隠しコンテンツへの実装)
- 広告・プロモーション目的のFAQを記述する(「今すぐ購入」などの誘導文言のみ)
- 同一ページに複数のFAQPageタイプを記述する(1ページに1つのFAQPageのみ有効)
- 実際の内容と異なる情報を構造化データに記述する(スパム的な実装)
- ユーザーの疑問に答えない「形式だけのFAQ」を大量に記述する
リッチリザルトの表示はGoogleが最終判断する
ガイドラインを満たした正しい実装をしても、Googleのアルゴリズムがそのページへの表示を適切でないと判断した場合はリッチリザルトが表示されないことがあります。特定のクエリやページの性質によっては表示されないケースがあることを理解した上で実装してください。
4. JSON-LDの書き方・サンプルコード(コピーして使える)
基本構造を理解してから用途に合わせてカスタマイズする
以下がFAQPageの最もシンプルな構造です。Question と Answer のペアを mainEntity 配列の中に並べます。このコードはHTMLの head タグ内、またはページ末尾の body 内に1つだけ配置します。
⚠ 1ページに1つだけ配置すること
FAQPageの構造化データは、1ページにつき1つの script タグのみ有効です。プラグインが自動生成するものと手動で追加したものが重複するとサーチコンソールでエラーになります。必ず重複していないか確認してください。
FAQPage JSON-LDの基本構造
<script type=”application/ld+json”>
{
“@context”: “https://schema.org”,
“@type”: “FAQPage”,
“mainEntity”: [
{
“@type”: “Question”,
“name”: “ここに質問文を記述します”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “ここに回答文を記述します”
}
},
{
“@type”: “Question”,
“name”: “2問目の質問文”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “2問目の回答文”
}
}
]
}
</script>
| プロパティ | 説明 |
|---|---|
@type: "FAQPage" |
このページがFAQページであることを宣言する必須プロパティ |
mainEntity |
質問と回答のペアを配列で並べる。複数のFAQを記述する場合は配列を増やす |
name |
質問文。ページ内の実際の質問と一致させること |
acceptedAnswer.text |
回答文。HTMLタグも使用可能だが、ページ内の回答と内容を一致させること |
実践サンプル:サービス業向け(問い合わせ・費用FAQ)
実際のサービスページへの適用例です。このままコピーして質問・回答を書き換えてご利用ください。
{
“@context”: “https://schema.org”,
“@type”: “FAQPage”,
“@id”: “https://example.com/service#faq”,
“mainEntity”: [
{
“@type”: “Question”,
“name”: “費用はいくらかかりますか?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “ご依頼内容によって異なりますが、33,000円〜対応しております。まずはお気軽にお問い合わせください。”
}
},
{
“@type”: “Question”,
“name”: “既存のサイトに後から実装できますか?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “はい、既存サイトへの後付け実装も可能です。WordPressサイトであれば比較的容易に追加できます。”
}
},
{
“@type”: “Question”,
“name”: “効果が出るまでどのくらいかかりますか?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “Googleがページを再クロール・インデックスした後にリッチリザルトが表示されます。早ければ数日〜1週間、長い場合は1か月以上かかることもあります。”
}
}
]
}
</script>
JSON-LD記述時の注意点
text内で改行する場合は\nを使用(HTMLタグも使用可能)- 日本語の文字はそのまま記述可能(UTF-8エンコード)
- ダブルクォーテーション(”)を文中で使う場合は
\"とエスケープする - 最後の要素の後ろにカンマを付けない(末尾カンマはJSON構文エラー)
- @graphを使って他の構造化データ(Article・BreadcrumbListなど)と1つのscriptタグにまとめることができる
Outsource to CREVIA
自社サイトへの実装を代行してほしい方へ
JSON-LDの記述・実装・Googleへの検証確認までCREVIAが一括対応します。WordPressサイトへの導入も承っております。
5. WordPressでの設定方法|プラグイン vs 手動JSON-LD
目的と技術レベルに合わせて方法を選ぶ
WordPressでFAQの構造化マークアップを実装する方法は大きく3つあります。それぞれの特徴を理解して自社に合った方法を選んでください。
難易度:★☆☆ 対象:コードが書けない方
ブロックエディタ(Gutenberg)で「よくある質問(FAQ)」ブロックを挿入し、質問・回答を入力するだけ。プラグインが自動でJSON-LDを生成します。ただしクラシックエディタでは使用不可。
難易度:★★☆ 対象:HTMLを貼り付けられる方
ブロックエディタで「カスタムHTML」ブロックを追加し、セクション4のサンプルコードを貼り付けて質問・回答を書き換えるだけ。ページ内のFAQコンテンツと内容を必ず一致させること。
難易度:★★★ 対象:PHP・WordPress開発者
特定のページIDや投稿タイプに対してのみJSON-LDを出力したい場合に適しています。子テーマの functions.php にPHPコードを追加します。必ず子テーマで行い、バックアップを取ってから作業してください。
⚠ プラグインと手動の重複に注意
Yoast SEOなどのプラグインが自動生成するFAQと、カスタムHTMLブロックで手動追加したJSON-LDが重複すると、サーチコンソールで「重複したFAQPageタイプ」エラーが発生します。必ずどちらか一方のみを使用してください。
どの方法を選べばいい?
コードが書けない場合は方法①が最も簡単です。プラグインなしで対応したい・既存のFAQセクションに後から構造化データを追加したい場合は方法②が適しています。サイト全体を管理・自動化したい開発者向けには方法③をお勧めします。
6. 実装後の確認方法|リッチリザルトテスト・Search Console
「実装した」で終わらず、必ず検証まで行う
STEP 1|Googleリッチリザルトテストでエラーを確認する
Googleが提供する無料ツール「リッチリザルトテスト」(search.google.com/test/rich-results)でページURLを入力して検証します。「FAQPage」として認識されているか確認し、エラー(赤)・警告(黄)が表示された場合は内容を確認して修正します。「FAQPage のリッチリザルトの資格があります」と表示されれば実装は正しい状態です。
STEP 2|Search ConsoleのURL検査でクロールをリクエストする
実装後はGoogleに再クロールを促すことで、リッチリザルト表示までの時間を短縮できます。Search Consoleの上部検索バーに対象ページのURLを入力し、「インデックス登録をリクエスト」をクリックして完了です。
STEP 3|「拡張機能」→「よくある質問」レポートで状況を確認する
数日〜数週間後に、Search Console の「拡張機能」→「よくある質問」レポートで状況を確認します。「有効」件数が増えていればリッチリザルトとして認識されています。「エラー」が表示されている場合は詳細を確認して修正します。
検証まで含めて「実装完了」と判断する
JSON-LDをページに貼り付けただけでは実装完了ではありません。リッチリザルトテストでエラーなしを確認し、Search Consoleで「有効」として認識されるまでが実装の完了です。外注する場合もこの確認まで対応してくれる業者を選んでください。
7. よくある失敗とエラーの原因・対処法
「リッチリザルトが表示されない」ときに確認すること
症状:リッチリザルトテストで「解析エラー」が表示される。
対処:末尾カンマ・括弧の対応・ダブルクォーテーションの閉じ忘れを確認。JSONバリデーターサイト(jsonlint.com)に貼り付けて構文チェックすると原因を特定しやすい。
症状:エラーはないがリッチリザルトが表示されない・Search Consoleで警告が出る。
対処:JSON-LDのnameとtextの内容が、ページ上にユーザーが実際に見られる形で記載されているかを確認する。
症状:リッチリザルトテストで警告が表示される・一部のFAQが認識されない。
対処:1ページにFAQPageのscriptタグは1つのみ。プラグイン自動生成と手動追加が重複していないか確認する。
症状:ソースを確認するとJSON-LDの山括弧が < > に変換されている。
対処:カスタムHTMLブロックの「テキスト」モードで貼り付ける。wpautopフィルターが干渉している場合はfunctions.phpで対処する。
症状:リッチリザルトテストでエラーなし・Search Consoleで「有効」だが実際の検索結果に表示されない。
対処:Googleのアルゴリズムがそのページへの表示を適切でないと判断している可能性がある。コンテンツ品質・E-E-A-T評価の改善を合わせて行う。
8. よくある質問(FAQ)
Contact CREVIA
FAQの構造化マークアップ実装をご検討の方へ
「自社サイトにFAQの構造化マークアップを実装したい」「JSON-LDの記述・検証まで任せたい」「他のタイプと合わせてSEO・GEO対策を進めたい」など、どのような段階でもご相談ください。CREVIAでは構造化マークアップの実装をSEO対策・GEO対策(AI検索最適化)と一気通貫でご支援します。
▶ 構造化マークアップ サービス詳細を見る無料相談・お問い合わせはこちら
熊本・全国対応|SEO対策・GEO対策・ホームページ制作と一気通貫で対応
