FAQを構造化データを使用して検索結果に表示する方法
2021.03.31
検索をしていて、検索結果にFAQのようなものが表示されているのを見た方もいると思います。これは構造化データを使用して、FAQを検索結果に表示されるように最適化しているのです。
今回は、構造化データを使用して、このFAQを検索結果に表示する方法を紹介します。
構造化データとは?
構造化データのメリットとデメリット
そもそも構造化データとは、わかりやすく言うとHTMLで書かれている情報をgoogle検索エンジンが理解しやすいようにタグ付けし構造化したものです。この構造化データをすることによって検索結果にリッチリザルトとして検索結果に表示されます。
構造化データを設定することで、ユーザーの情報収集に役立ち、検索結果画面に大きく表示されるのでユーザーにクリックされやすくなったりします。
反対にデメリットとしては、HTMLやJavascriptなど技術的な知見が必要ですし、実装するためには工数が必要となります。
構造化データは直接的にSEOに影響はあるのか?
構造化データは直接的に検索結果のランキングに影響するかですが、単純に構造化データを設定しただけでは、ランキングが上昇するということはないようです。このことは、GoogleのJohn Mueller(ジョン・ミューラー)氏が2017年のオフィスアワーで言及しています。
ただ、前述したように構造化データを設定することで検索結果で注目度を上げ、クリック率を増加させることによって、間接的に影響することはあるようです。
FAQの構造化データとは?
FAQの構造化データは質問と回答がセットになっています。検索結果にはアコーディオン形式で表示され、見出しやリンクなどが表示されます。なお300文字以上は省略されるようなので、なるべく短いものにしたほうが良さそうです。
なおFAQの構造化データは、スクリプトで指定する「JSON-LD」形式と、htmlの中にitemprop 属性などを指定するmicrodata形式があります。
リッチリザルトでFAQが表示されないときのチェックポイント
リッチリザルトでFAQが表示されないときのチェックポイントは以下です。
- FAQの構造化データエラー
- まだインデックスされていない
- FAQの数が多いまたは少ない
- 構造化データで指定したFAQが実際のHTMLにない
FAQの構造化データエラーの対応方法
よくあるのが構造化データの構文が間違っていたり、指定が誤っていたりすることがあります。
Googleサーチコンソールを導入している場合、Googleサーチコンソールで確認することができますが、Googleサーチコンソールを導入していない場合は、「リッチリザルトテスト」https://search.google.com/test/rich-results?hl=jaというサイトがあり、無料でテストすることができます。
リッチリザルトテストで構造化データをチェックする方法
リッチリザルトテストで構造化データをチェックする手順は以下です
- テストするURLを入力するかコードを入力する
- 「URLをテスト」をクリックする
以下の場合は、エラーとなっています。

エラー詳細が書かれているので、クリックしてみましょう。そうすると、具体的にどのあたりが怪しいのか示してくれます。

以下の場合、375行目の直前の「弊社では掲載されていない物件も取り扱い可能です」の最後に「”」がないので、エラーとなっているようです。
解析エラーの場合こういった、「”」が指定されていなかったり、「,」がなかったり(またJSONでは{}ブロック内の最後に「,」は記述しません)良く凝らしてみないとわかりにくいこともあるので、しっかりチェックしましょう。また//などのコメントも記述できないので注意しましょう。

修正してリッチリザルトテストして問題ない場合は、以下のように表示されます。

Googleサーチコンソールで構造化データをチェックする方法
Googleサーチコンソールで構造化データをチェックする手順は以下です。なおチェック結果はリッチリザルトテストとほぼ同じなので、同様の手順で修正します。
- 一番上の、URLの検索窓でURLを入力して、エンターキーを押す
- URL 検査画面で [公開URLをテスト]ボタンをクリックする

Googleにまだインデックスされていない
FAQの構造化データ化した後、まだGoogleのクローラーが該当ページをクローリングしていない可能性があります。Googleサーチコンソールを導入している場合は、サーチコンソールからインデックス登録してみましょう。
もし、何日も経ってもインデックス登録されていない場合は、以下に対応方法が記載されていますので、参考にしてみて下さい。
FAQの数が多いまたは少ない
FAQの項目は2個以下の場合、いくら構造化しても表示されません。そのため最低でもFAQの項目は3個以上にする必要があります。反対に、リッチリザルトで表示されるのは10個までと決まっています。仕様上は11個以上も指定できますが、リッチリザルトには表示されないので、優先度が高いものから先頭に配置するようにしましょう。
FAQ構造化データで指定したものが実際のHTMLに表示されていない
Googleの構造データガイドラインではページに表示されている内容と構造化データは一致させるように記載されています。
その他にもFAQを構造化するための規則が以下に記載されていますので、チェックしてみて下さい。
構造化データタイプの定義(Google検索セントラルより)
FAQの構造化データの記述方法
今回は、「JSON-LD形式」でのFAQの構造化データの記述方法を記載します。これ以外にもありますので、是非試してみて下さい。
HTMLの記述方法
HMTLは以下のように記載します。以下はわかりやすいようにリストタグ(li)などを使っていますが、次のscriptに記載されているQとAが一致していれば、pタグなどでも問題ないです。
1 | < div style = "width:100%;" > |
5 | < dt >Q.掲載している不動産物件しか取り扱っていないのでしょうか?</ dt > |
7 | 一般的に物件は不動産流通機構に登録されていて共有されているので、 |
8 | 弊社で掲載されていない物件も取り扱い可能です</ dd > |
13 | < dt >Q.物件を複数見たいのですが、同じ日に見学は可能でしょうか?</ dt > |
14 | < dd >A.鍵の手配などで直ぐにみられないこと、 |
15 | オーナー様の希望で見られない場合がありますが、 |
16 | それに該当しない場合は、基本的には同じ日に複数の物件の閲覧は可能です。 |
22 | < dt >Q.自分だけで物件を見に行くことは可能でしょうか?</ dt > |
23 | < dd >A.鍵がかかっていて中が見られない事や立ち合いが条件の物件もありますが、 |
24 | それ以外は自分だけで物件を見に行くことは可能です。</ dd > |
29 | < dt >Q.看板を出している不動産会社だと価格が安くなったり、 |
31 | < dd >A.売買物件でよく看板が出ていますが、 |
32 | これは分譲会社から依頼を受けた不動産会社が販売期間だけ |
34 | 売り主は看板を立てている会社以外にも売却の依頼を出していることが多いので、 |
35 | 価格が安くなったり、交渉が有利になることはありません。 |
scriptの記述方法
scriptのサンプルは以下となります。
1 | <script type= "application/ld+json" > |
2 | { "@context" : "http://schema.org" , "@type" : "FAQPage" , |
5 | "name" : "Q.掲載している不動産会社しか取り扱っていないのでしょうか?" , |
8 | "text" :"A.いいえそんなことはありません。 |
9 | 一般的に物件は不動産流通機構に登録されていて共有されているので、 |
10 | 弊社で掲載されていない物件も取り扱い可能です。"}}, |
12 | "name" : "Q.物件を複数見たいのですが、同じ日に見学は可能でしょうか?" , |
15 | "text" :"A.鍵の手配などで直ぐにみられないこと、 |
16 | オーナー様の希望で見られない場合がありますが、 |
17 | それに該当しない場合は、基本的には同じ日に複数の物件の閲覧は可能です。"}}, |
19 | "name" : "Q.自分だけで物件を見に行くことは可能でしょうか?" , |
22 | "text" :"A.鍵がかかっていて中が見られない事や立ち合いが条件の物件もありますが、 |
23 | それ以外は自分だけで物件を見に行くことは可能です。"}}, |
25 | "name" :"Q.看板を出している不動産会社だと価格が安くなったり、 |
29 | "text" :"A.売買物件でよく看板が出ていますが、 |
30 | これは分譲会社から依頼を受けた不動産会社が販売期間だけ立てていることが多いです。 |
31 | 売り主は看板を立てている会社以外にも売却の依頼を出していることが多いので、 |
32 | 価格が安くなったり、交渉が有利になることはありません。"}}]} |
ポイント解説
1行目
「”application/ld+json”>」はJSON-LDで構造化データマークアップするために必須となります。
2行目
「{“@context”:”http://schema.org”,”@type”:”FAQPage”」もJSON-LDでFAQの構造化データマークアップするために必須な記述となります。
mainEntity
この「[」以降の中に、実際の質問と回答内容を記載していきます。
“@type”
データタイプを指定します。最初は質問を記載する必要があるので、データタイプは
「”@type”:”Question”」となります。
“name”
実際のHTMLに記載されている質問文を1つ指定します。
“acceptedAnswer”:
質問に対する回答を記載します。なお質問に対して必ず1つの回答です。
“@type”
データタイプを指定します。今度は回答文を記載する必要があるので、データタイプは
「”@type”:”Answer”」となります。
“text”
実際のHTMLに記載されている回答文を1つ指定します。
上記のセットを3つ以上指定します。
まとめ
今回は、FAQの構造化データでマークアップする方法を解説しました。よくある質問は、作成する機会が多いと思いますし、検索結果に表示されるメリットもありますので、是非ご参考にして頂ければと思います。
関連