熊本ホームページ制作・Webマーケティング・SEO対策・MEO対策・GEO対策・Webデザイン・パンフレット・ロゴ・名刺・動画制作・広告運用・コーディング代行・オリジナルアパレル・グッズ制作は株式会社CREVIAへ

5F Shimotori Building
1-12-27 Shimotori Chuo-ku
Kumamoto-shi Kumamoto
860-0807 Japan

News

お知らせ

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)
  • よくある失敗・エラーの原因と対処法

1. FAQの構造化マークアップとは?リッチリザルトで何が変わるか

― 検索結果にQ&Aが展開表示されるようになる技術 ―

FAQの構造化マークアップとは、Webページ内のよくある質問(FAQ)のコンテンツに対して、「これはFAQの質問です」「これはその回答です」というラベルをコードで明示する技術です。JSON-LDという形式で記述し、`<script type=”application/ld+json”>` タグ内に記載します。

FAQの構造化マークアップを実装すると、GoogleはそのページをFAQPage(よくある質問ページ)として認識し、検索結果にQ&Aを展開表示する「FAQリッチリザルト」の表示候補となります。

FAQリッチリザルトの見え方(検索結果でのイメージ)

FAQの構造化マークアップ完全ガイド|JSON-LDサンプル・…

https://crevia-ts.com › archives › 1223

FAQの構造化マークアップ(FAQPage)の書き方・JSON-LDサンプルコード・WordPressでの設定方法をわかりやすく解説。

Q. FAQリッチリザルトが表示されない原因は何ですか?
Q. WordPressでFAQの構造化マークアップを実装する方法は?

▲ 検索結果でのFAQリッチリザルト表示イメージ(実際の表示はGoogleの判断による)

FAQの構造化マークアップで起きる変化

  • 検索結果にQ&Aが最大2〜3問展開表示される
  • 検索結果上で占めるスペースが大きくなりクリック率(CTR)が向上する
  • AI検索(ChatGPT・Gemini・AIオーバービュー)で回答として引用されやすくなる
  • ページへの信頼感が増し、問い合わせ・購入率の向上につながる

2. FAQリッチリザルトの効果|CTR向上・AI検索引用への影響

― 同じ順位でも「見え方」が変わるとクリック数が変わる ―

① CTR(クリック率)の向上

FAQリッチリザルトが表示されると、検索結果上でページが占めるスペースが大幅に拡大します。競合ページと並んでもひときわ目立つため、同じ検索順位でもクリック率が平均20〜30%向上するとされています。特に3位〜10位圏内のページで効果が出やすい傾向があります。

② 検索結果上での情報提供

FAQの質問・回答が検索結果上で読めるため、クリック前にページの内容・信頼性を伝えられます。「この会社はちゃんと答えてくれそう」という印象を与え、クリック後の直帰率低下・問い合わせ率向上につながります。

③ AI検索(GEO対策)への効果

ChatGPT・Gemini・GoogleのAIオーバービューなどのAI検索は、構造化された質問と回答のペアを「信頼できる情報源」として優先的に参照します。FAQの構造化マークアップを実装することで、AI検索の回答に自社の情報が引用される確率が高まります。

FAQの構造化マークアップが特に効果的な業種・ページ

サービス業・士業料金・サービス内容・手順に関するFAQが多く、検索意図と一致しやすい
クリニック・医療機関初診の流れ・保険適用・予約方法などの問い合わせが多い業種
EC・通販サイト送料・返品・支払い方法など購入前の不安を解消するFAQが成約率に直結
SEO記事・ブログ「〇〇とは」「〇〇の方法」など疑問形のキーワードを狙う記事全般

構造化マークアップの中でFAQが「最優先」な理由

FAQの構造化マークアップは、他のタイプ(Product・Eventなど)と比べて実装のハードルが低く、かつ効果が出やすいタイプです。業種を問わずほぼすべてのサイトに適用できるため、構造化マークアップの導入を検討している場合は最初にFAQから始めることをお勧めします。

3. 表示される条件とGoogleのガイドライン

― 守らないとペナルティになるルールを事前に確認する ―

FAQの構造化マークアップを実装しても、Googleのガイドラインを満たしていなければリッチリザルトは表示されません。また、ガイドライン違反が重大な場合はペナルティの対象となります。実装前に必ず確認しておきましょう。

FAQリッチリザルトが表示される主な条件

✅ ページ内にFAQコンテンツが実在する構造化データに記述した質問・回答が、ユーザーが見るページ内に実際に表示されていること。見えないコンテンツへの実装は違反。
✅ 質問と回答のペアが正しく対応している質問(Question)と回答(Answer)が正確に対応していること。回答が別ページへの誘導だけでは不十分。
✅ JSON-LDにエラーがないGoogleのリッチリザルトテストで警告・エラーが出ていないこと。文法ミスや必須プロパティの欠落があると表示対象外になる。
✅ ページがGoogleにインデックスされている検索結果に表示されていないページにはリッチリザルトも表示されない。noindexが設定されていないか確認。

Googleのガイドライン違反になる実装(ペナルティリスクあり)

  • ページに表示されていない質問・回答を記述する(隠しコンテンツへの実装)
  • 広告・プロモーション目的のFAQを記述する(「今すぐ購入」などの誘導文言のみ)
  • 同一ページに複数のFAQPageタイプを記述する(1ページに1つのFAQPageのみ有効)
  • 実際の内容と異なる情報を構造化データに記述する(スパム的な実装)
  • ユーザーの疑問に答えない「形式だけのFAQ」を大量に記述する
リッチリザルトの表示はGoogleが最終判断する

ガイドラインを満たした正しい実装をしても、Googleのアルゴリズムがそのページへの表示を適切でないと判断した場合はリッチリザルトが表示されないことがあります。特定のクエリやページの性質によっては表示されないケースがあることを理解した上で実装してください。

4. JSON-LDの書き方・サンプルコード(コピーして使える)

― 基本構造を理解してから用途に合わせてカスタマイズする ―

FAQPage JSON-LDの基本構造

以下がFAQPageの最もシンプルな構造です。`Question` と `Answer` のペアを `mainEntity` 配列の中に並べます。

<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)

実際のサービスページへの適用例です。このままコピーして質問・回答を書き換えてご利用ください。

<script type=”application/ld+json”>
{
“@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タグにまとめることができる

自社サイトへの実装を代行してほしい方へ

JSON-LDの記述・実装・Googleへの検証確認までCREVIAが一括対応します。WordPressサイトへの導入も承っております。

▶ 構造化マークアップサービスの料金・詳細を見る
▶ 無料相談・お問い合わせはこちら

5. WordPressでの設定方法|プラグイン vs 手動JSON-LD

― 目的と技術レベルに合わせて方法を選ぶ ―

WordPressでFAQの構造化マークアップを実装する方法は大きく3つあります。それぞれの特徴を理解して自社に合った方法を選んでください。

方法①Yoast SEO / RankMathのFAQブロックを使う(最も簡単)

難易度★☆☆ 簡単
対象コードが書けない方
必要なものYoast SEO or RankMath

  1. ブロックエディタ(Gutenberg)で投稿・固定ページを開く
  2. ブロック追加(+)から「よくある質問(FAQ)」ブロックを挿入
  3. 質問・回答を入力する
  4. Yoast SEO または RankMath が自動でFAQPageのJSON-LDを生成・出力する
  5. 保存・更新して完了
注意:クラシックエディタ(TinyMCE)を使用している場合はこの方法は使えません。方法②または③を選んでください。

方法②カスタムHTMLブロックにJSON-LDを直接記述する

難易度★★☆ 普通
対象HTMLを貼り付けられる方
必要なもの特になし

  1. ブロックエディタで「カスタムHTML」ブロックを追加
  2. セクション4のサンプルコードをコピーして貼り付ける
  3. 質問・回答テキストを自社のFAQに書き換える
  4. 保存・更新して完了
ポイント:ページ内のFAQコンテンツ(HTMLで書いたQ&A)と、カスタムHTMLブロックのJSON-LDの内容を必ず一致させてください。

方法③functions.phpにwp_head()フックで出力する

難易度★★★ 上級者向け
対象PHP・WordPress開発者
必要なもの子テーマ or プラグイン

特定のページIDや投稿タイプに対してのみJSON-LDを出力したい場合に適しています。子テーマの functions.php に以下のようなコードを追加します。

// 特定ページ(例:ページID=100)にのみFAQ構造化データを出力
add_action( ‘wp_head’, ‘crevia_faq_structured_data’ );
function crevia_faq_structured_data() {
if ( ! is_page( 100 ) ) return;
// ここにサービス固有のFAQを設定
$faqs = [
[ ‘q’ => ‘費用はいくらですか?’, ‘a’ => ‘33,000円〜対応しております。’ ],
[ ‘q’ => ‘対応エリアはどこですか?’, ‘a’ => ‘熊本を中心に全国対応しております。’ ],
];
$items = [];
foreach ( $faqs as $faq ) {
$items[] = [
‘@type’ => ‘Question’,
‘name’ => $faq[‘q’],
‘acceptedAnswer’ => [ ‘@type’ => ‘Answer’, ‘text’ => $faq[‘a’] ],
];
}
$schema = [ ‘@context’ => ‘https://schema.org’, ‘@type’ => ‘FAQPage’, ‘mainEntity’ => $items ];
echo ‘<script type=”application/ld+json”>’ . wp_json_encode( $schema, JSON_UNESCAPED_UNICODE ) . ‘</script>’;
}
注意:functions.phpの編集はサイトに影響を与えるため、必ず子テーマで行い、バックアップを取ってから作業してください。

どの方法を選べばいい?

コードが書けない・HTMLの知識がない場合は方法①が最も簡単です。プラグインなしで対応したい・既存のFAQセクションに後から構造化データを追加したい場合は方法②が適しています。サイト全体を管理・自動化したい開発者向けには方法③をお勧めします。

6. 実装後の確認方法|リッチリザルトテスト・Search Console

― 「実装した」で終わらず、必ず検証まで行う ―

STEP 1|Googleリッチリザルトテストでエラーを確認する

Googleが提供する無料ツール「リッチリザルトテスト」(search.google.com/test/rich-results)でページURLを入力して検証します。

  • 「FAQPage」として認識されているかを確認
  • エラー(赤)・警告(黄)が表示された場合は内容を確認して修正する
  • エラーなしで「FAQPage のリッチリザルトの資格があります」と表示されれば実装は正しい

STEP 2|Search ConsoleのURL検査でクロールをリクエストする

実装後はGoogleに再クロールを促すことで、リッチリザルト表示までの時間を短縮できます。

  1. Google Search Console にアクセス
  2. 上部の検索バーに対象ページのURLを入力
  3. 「URL検査」結果画面で「インデックス登録をリクエスト」をクリック
  4. 「リクエストを送信しました」と表示されれば完了

STEP 3|Search Consoleの「検索での見え方」でリッチリザルトの状況を確認する

数日〜数週間後に、Search Console の「拡張機能」→「よくある質問」レポートで状況を確認します。

  • 「有効」件数が増えていればリッチリザルトとして認識されている
  • 「エラー」が表示されている場合は詳細を確認して修正する
  • 「有効(警告あり)」の場合も表示されるが、警告内容を確認して改善する
検証まで含めて「実装完了」と判断する

JSON-LDをページに貼り付けただけでは実装完了ではありません。リッチリザルトテストでエラーなしを確認し、Search Consoleで「有効」として認識されるまでが実装の完了です。外注する場合もこの確認まで対応してくれる業者を選んでください。

7. よくある失敗とエラーの原因・対処法

― 「リッチリザルトが表示されない」ときに確認すること ―

① JSON-LDの構文エラー(カンマ・カッコの記述ミス)

症状:リッチリザルトテストで「解析エラー」が表示される

対処:末尾のカンマ(最後の要素の後ろに付けるのはNG)・括弧の対応・ダブルクォーテーションの閉じ忘れを確認。JSONバリデーターサイト(jsonlint.comなど)に貼り付けて構文チェックすると原因が特定しやすい。

② ページ内のFAQコンテンツと構造化データの内容が一致していない

症状:エラーはないがリッチリザルトが表示されない・Search Consoleで警告が出る

対処:JSON-LDのnameとtextの内容が、ページ上にユーザーが実際に見られる形で記載されているかを確認する。完全一致でなくても良いが、内容が大きく異なるとガイドライン違反とみなされる可能性がある。

③ WordPressのプラグインがscriptタグをエスケープしてしまう

症状:ページのソースを確認するとJSON-LDの山括弧が &lt; &gt; に変換されている

対処:カスタムHTMLブロックではなく「テキスト」モードで貼り付ける。またはwpautopフィルターが干渉している場合はfunctions.phpでremove_filter(‘the_content’, ‘wpautop’)を追加する。

④ 同一ページにFAQPageタイプを複数記述している

症状:リッチリザルトテストで警告が表示される・一部のFAQが認識されない

対処:1ページにFAQPageタイプのscriptタグは1つのみにする。Yoast SEOなどのプラグインが自動生成するFAQと手動で追加したJSONが重複していないか確認する。@graphを使って1つのscriptにまとめることを推奨。

⑤ 正しく実装しているが検索結果に表示されない

症状:リッチリザルトテストではエラーなし・Search Consoleでも「有効」だが実際の検索結果に表示されない

対処:Googleのアルゴリズムがそのページへの表示を適切でないと判断している可能性がある。対象ページの検索順位・コンテンツ品質・E-E-A-T評価の改善を合わせて行うことで表示されやすくなるケースがある。また、2023年以降GoogleはFAQリッチリザルトの表示対象を「信頼性の高いサイト」に絞り込んでいるため、ドメイン全体のSEO評価を高めることも重要。

8. よくある質問(FAQ)

Q&Aコンテンツが実際にページ内に存在するページに実装します。よくある質問ページ・サービス紹介ページ・料金ページなど、FAQ形式のコンテンツを含むページが対象です。ページ内に存在しない質問・回答を構造化データに記述するとGoogleのガイドライン違反になるため注意が必要です。

Yoast SEOまたはRankMathプラグインを使用する方法が最も簡単です。ブロックエディタ(Gutenberg)でFAQブロックを作成すると、プラグインが自動的に構造化データを生成します。より細かい制御が必要な場合は、カスタムHTMLブロックやfunctions.phpでJSON-LDを手動実装する方法が適しています。

主な原因は(1)JSON-LDのコードにエラーがある、(2)ページ内の実際のFAQコンテンツと構造化データの内容が一致していない、(3)Googleがまだページを再クロールしていない、(4)Googleのアルゴリズムがそのページへの表示を適切でないと判断している、の4点です。まずGoogleのリッチリザルトテストでエラーを確認することをお勧めします。

Googleの公式ガイドラインに上限の明記はありませんが、検索結果に表示されるのは通常2〜3問です。数を増やすより、ユーザーが実際に知りたい内容に絞り込んで質の高い回答を記述する方が効果的です。

はい、非常に効果的です。ChatGPT・Gemini・GoogleのAIオーバービューなどのAI検索は、構造化された質問と回答のペアを「信頼できる情報源」として優先的に参照します。FAQの構造化マークアップはGEO対策(AI検索最適化)の中でも費用対効果の高い施策の一つです。

FAQの構造化マークアップ実装をご検討の方へ

「自社サイトにFAQの構造化マークアップを実装したい」「JSON-LDの記述・検証まで任せたい」「他のタイプと合わせてSEO・GEO対策を進めたい」など、どのような段階でもご相談ください。CREVIAでは構造化マークアップの実装をSEO対策・GEO対策(AI検索最適化)と一気通貫でご支援します。

▶ 構造化マークアップサービスの料金・詳細を見る
▶ 無料相談・お問い合わせはこちら

熊本・全国対応|SEO対策・GEO対策・ホームページ制作と一気通貫で対応

株式会社CREVIA|構造化マークアップ実装・SEO対策・GEO対策・ホームページ制作|熊本・全国対応

熊本から全国へ。SEO・GEO・ホームページ制作を一気通貫でご支援します。