Q&A ページとは、1 つの質問の後にその質問に対する回答が続く、質問と回答の形式のデータを含むウェブページです。質問とその回答から構成されるコンテンツでは、schema.org の QAPage
、Question
、Answer
の各タイプでデータをマークアップできます。
適切にマークアップされたページは、検索結果ページにリッチリザルトを表示できるようになります。リッチリザルトを表示できるということは、そのページにとって、検索結果ページから適切なユーザーにリーチできることを意味します。"How do I remove a cable that is stuck in a USB port?"(「USB ポートから外れなくなったケーブルを取り外す方法」)を検索したとき、ページでこの質問に対する回答がマークアップされている場合に表示される検索結果の例を次に示します。
Q&A ページをマークアップすることで、上記のようにコンテンツをリッチリザルトで表示できるだけでなく、このページに対して Google が生成するスニペットの質が向上するという利点もあります。上の例では、リッチリザルトが表示されない場合、回答のコンテンツが基本的な検索結果の形式で表示されることがあります。
構造化データを追加する方法
構造化データは、ページに関する情報を提供し、ページ コンテンツを分類するための標準化されたデータ形式です。構造化データを初めて使用する場合は、構造化データの仕組みについてをご覧ください。
構造化データの作成、テスト、リリースの概要は次のとおりです。ウェブページに構造化データを追加するための手順ガイドについては、構造化データの Codelab をご覧ください。
- 必須プロパティを追加します。ページ上の構造化データを配置する場所について詳しくは、JSON-LD 構造化データ: ページでの挿入場所をご覧ください。
- ガイドラインを遵守します。
- リッチリザルト テストでコードを検証します。
- 構造化データが含まれているページを数ページ導入し、URL 検査ツールを使用して、Google でページがどのように表示されるかをテストします。Google がページにアクセスでき、robots.txt ファイル、
noindex
タグ、またはログイン要件によってページがブロックされていないことを確認します。ページが正常に表示される場合は、Google に URL の再クロールを依頼できます。 - 今後の変更について Google への情報提供を続けるには、サイトマップを送信することをおすすめします。これは、Search Console Sitemap API で自動化できます。
例
次のマークアップの例には、JSON-LD 形式の QAPage
、Question
、Answer
の各タイプの定義が含まれています。
<html> <head> <title>How many ounces are there in a pound?</title> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "QAPage", "mainEntity": { "@type": "Question", "name": "How many ounces are there in a pound?", "text": "I have taken up a new interest in baking and keep running across directions in ounces and pounds. I have to translate between them and was wondering how many ounces are in a pound?", "answerCount": 3, "upvoteCount": 26, "dateCreated": "2016-07-23T21:11Z", "author": { "@type": "Person", "name": "New Baking User" }, "acceptedAnswer": { "@type": "Answer", "text": "1 pound (lb) is equal to 16 ounces (oz).", "dateCreated": "2016-11-02T21:11Z", "upvoteCount": 1337, "url": "https://example.com/question1#acceptedAnswer", "author": { "@type": "Person", "name": "SomeUser" } }, "suggestedAnswer": [ { "@type": "Answer", "text": "Are you looking for ounces or fluid ounces? If you are looking for fluid ounces there are 15.34 fluid ounces in a pound of water.", "dateCreated": "2016-11-02T21:11Z", "upvoteCount": 42, "url": "https://example.com/question1#suggestedAnswer1", "author": { "@type": "Person", "name": "AnotherUser" } }, { "@type": "Answer", "text": " I can't remember exactly, but I think 18 ounces in a lb. You might want to double check that.", "dateCreated": "2016-11-06T21:11Z", "upvoteCount": 0, "url": "https://example.com/question1#suggestedAnswer2", "author": { "@type": "Person", "name": "ConfusedUser" } } ] } } </script> </head> <body> </body> </html>
<html> <body itemscope itemtype="https://schema.org/QAPage"> <div itemprop="mainEntity" itemscope itemtype="https://schema.org/Question"> <h2 itemprop="name">How many ounces are there in a pound?</h2> <div itemprop="upvoteCount">52</div> <div itemprop="text">I have taken up a new interest in baking and keep running across directions in ounces and pounds. I have to translate between them and was wondering how many ounces are in a pound?</div> <div>asked <time itemprop="dateCreated" datetime="2010-11-04T20:07Z">Nov 11 '10 at 20:07</time></div> <div itemprop="author" itemscope itemtype="https://schema.org/Person"><span itemprop="name">New Baking User</span></div> <div> <div><span itemprop="answerCount">3</span> answers</div> <div><span itemprop="upvoteCount">26</span> votes</div> <div itemprop="acceptedAnswer" itemscope itemtype="https://schema.org/Answer"> <div itemprop="upvoteCount">1337</div> <div itemprop="text"> 1 pound (lb) is equal to 16 ounces (oz). </div> <a itemprop="url" href="https://example.com/question1#acceptedAnswer">Answer Link</a> <div>answered <time itemprop="dateCreated" datetime="2010-12-01T22:01Z">Dec 1 '10 at 22:01</time></div> <div itemprop="author" itemscope itemtype="https://schema.org/Person"><span itemprop="name">SomeUser</span></div> </div> <div itemprop="suggestedAnswer" itemscope itemtype="https://schema.org/Answer"> <div itemprop="upvoteCount">42</div> <div itemprop="text"> Are you looking for ounces or fluid ounces? If you are looking for fluid ounces there are 15.34 fluid ounces in a pound of water. </div> <a itemprop="url" href="https://example.com/question1#suggestedAnswer1">Answer Link</a> <div>answered <time itemprop="dateCreated"datetime="2010-12-06T21:11Z">Dec 6 '10 at 21:11</time></div> <div itemprop="author" itemscope itemtype="https://schema.org/Person"><span itemprop="name">AnotherUser</span></div> </div> <div itemprop="suggestedAnswer" itemscope itemtype="https://schema.org/Answer"> <div itemprop="upvoteCount">0</div> <div itemprop="text"> I can't remember exactly, but I think 18 ounces in a lb. You might want to double check that. </div> <a itemprop="url" href="https://example.com/question1#suggestedAnswer2">Answer Link</a> <div>answered <time itemprop="dateCreated"datetime="2010-12-06T21:11Z">Dec 6 '10 at 21:11</time></div> <div itemprop="author" itemscope itemtype="https://schema.org/Person"><span itemprop="name">ConfusedUser</span></div> </div> </div> </div> </body> </html>
ガイドライン
Q&A ページがリッチリザルトで表示されるようにするには、以下のガイドラインを遵守する必要があります。
コンテンツ ガイドライン
- 1 つの質問の後にその質問に対する回答が続く、質問と回答の形式の情報が含まれているページの場合は、
QAPage
マークアップのみを使用します。 - ユーザーは質問に対する回答を送信できなければなりません。質問に対する回答が 1 つしかなく、ユーザーが他の回答を追加できないコンテンツの場合は、
QAPage
マークアップの代わりにFAQPage
を使用します。次に例を示します。使用できる場合の例:
- 1 つの質問に対してユーザーが複数の回答を送信できるフォーラム ページ
- 1 つの質問に対して複数のユーザーが回答を送信できる製品サポートページ
使用できない場合の例:
- サイト運営者が作成し、ユーザーが他の回答を送信できない FAQ ページ
- 1 つのページに複数のユーザーが質問と回答を送信できる製品サポートページ
- 質問と回答で構成される利用ガイド
- 質問と回答で構成されるブログ記事
- 質問と回答で構成されるエッセイ
- すべてのコンテンツが対象でない限り、サイトやフォーラムのすべてのページに
QAPage
マークアップを適用しないでください。たとえば、あるフォーラムに多くの質問が投稿されている場合、そのページはマークアップの対象になりますが、そのフォーラムに質問以外のページもある場合、そのページはマークアップの対象になりません。 - FAQ ページなど、1 つのページに複数の質問が含まれるページに
QAPage
マークアップを使用しないでください。QAPage
マークアップは、1 つの質問とその回答に焦点を当てたページに使用します。 QAPage
マークアップを宣伝目的で使用しないでください。- 各
Question
に質問のテキスト全体が含まれるようにし、各Answer
に回答のテキスト全体が含まれるようにします。 Answer
マークアップは、質問に対するコメントや他の回答に対するコメントに使用するのではなく、質問に対する回答に使用します。回答でないコメントをAnswer
としてマークアップしないでください。- 質問と回答のコンテンツに、猥褻または冒とく的なコンテンツ、露骨な性表現を含むコンテンツ、暴力的な描写を含むコンテンツ、危険または違法な行為を助長するコンテンツ、差別や中傷にあたるコンテンツが含まれる場合、リッチリザルトとして表示されない可能性があります。
- STEM 教育関連の Q&A ページは、ユーザーが提出した課題に対する正しい回答を提供することを主な目的とし、Q&A カルーセル エクスペリエンスの対象となる場合があります。
またこれらのページでは、(ユーザーではなく)社内の専門家が提供または選択した回答が 1 つだけ表示される場合があります。
例: ユーザーが 1 つの質問を投稿し、上位の回答がエキスパートによって選択された教育ページ。
構造化データタイプの定義
このセクションでは、QAPage
に関連する構造化データタイプについて説明します。
コンテンツがリッチリザルトとして表示されるようにするには、必須プロパティを含める必要があります。また、推奨プロパティを使用することで構造化データにより多くの情報を追加でき、ユーザー エクスペリエンスを向上させることができます。
Google のリッチリザルト テストを使用すると、構造化データの検証とプレビューが行えます。
QAPage
QAPage
タイプは、ページの焦点が特定の質問とその回答に当てられていることを示します。Google では、QAPage
でマークアップされたページでのみ、Question
構造化データを使用します。QAPage
タイプの定義は各ページで 1 回だけ行う必要があります。
QAPage
の完全な定義は https://schema.org/QAPage で確認できます。
次の表で、Google 検索で使用される QAPage
タイプのプロパティについて説明します。
必須プロパティ | |
---|---|
|
Question
|
Question
Question
タイプでは、Q&A ページで回答する質問を定義し、その質問に対する回答(ある場合)を含めます。Q&A ページには 1 つの Question
タイプが必要で、schema.org/QAPage
の mainEntity
プロパティにネストします。Question
タイプの定義は各ページで 1 回だけ行う必要があります。
Question
の完全な定義は https://schema.org/Question で確認できます。
必須プロパティ | |||||
---|---|---|---|---|---|
|
Integer
質問に対する回答の総数。たとえば、ページ分けが原因で、15 個の回答のうち最初の 10 個のみがマークアップされている場合でも、この値は 15 になります。質問に回答がない場合は 0 になります。 |
||||
acceptedAnswer または suggestedAnswer |
Answer
リッチリザルトの対象となるには、質問に対する回答が少なくとも 1 つ(
|
||||
|
Text
短い形式の質問の全文。例: "How many teaspoons in a cup?"(「ティースプーン何杯分で 1 カップ分になりますか」) |
推奨プロパティ | |
---|---|
|
Person または Organization
質問者。 |
|
Date または DateTime
質問がページに追加された日(ISO-8601 形式)。 |
|
Text
長い形式の質問の全文。例: "I’m cooking, and I need to know how many teaspoons are in a cup. How many teaspoons are in 1 cup?"(「今料理をしていて、ティースプーン何杯分で 1 カップ分になるか知りたいのですが、何杯分で 1 カップになりますか」) |
|
Integer
質問に対する投票の総数。ページが賛成票と反対票をサポートしている場合は、 |
Answer
Answer
タイプでは、Q&A ページの Question
に対して提案された回答と承認された回答を定義します。suggestedAnswer
プロパティと acceptedAnswer
プロパティの値として、Question
内に Answers
を定義します。
次の表で、Question
内で使用される Answer
タイプのプロパティについて説明します。
Answer
の完全な定義は https://schema.org/Answer で確認できます。
必須プロパティ | |
---|---|
|
Text
回答の全文。一部のみがマークアップされている場合、コンテンツを表示できないことがあり、表示する最適なテキストを Google が決定できません。 |
推奨プロパティ | |
---|---|
|
Person または Organization
回答者。 |
|
Date または DateTime
回答がページに追加された日(ISO-8601 形式)。 |
|
Integer
回答に対する投票の総数。ページが賛成票と反対票をサポートしている場合は、 |
|
URL
回答に直接リンクしている URL。例: |
Search Console でリッチリザルトを監視する
Search Console は、Google 検索におけるページのパフォーマンスを監視できるツールです。Search Console に登録していなくても Google 検索結果に表示されますが、登録することにより、Google がサイトをどのように認識しているかを把握して改善できるようになります。次の場合は Search Console を確認することをおすすめします。
構造化データを初めてデプロイした後
ページがインデックスに登録されたら、関連するリッチリザルトのステータス レポートを使用して、問題がないかどうかを確認します。有効なページが増え、エラーや警告が増えていない状態が理想的です。構造化データに問題が見つかった場合の手順は次のとおりです。
- エラーを修正します。
- 公開 URL の検査を行い、問題が解決したかどうかを確認します。
- ステータス レポートを使用して検証をリクエストします。
新しいテンプレートをリリースした後やコードを更新した後
ウェブサイトに大幅な変更を加えた場合は、構造化データのエラーや警告が増加しないかどうか監視します。- エラーが増加した場合は、新しく公開したテンプレートが正常に機能していないか、既存のテンプレートの動作に問題が生じていることが原因と考えられます。
- 有効な項目が減少している(エラーの増加と一致しない)場合は、ページに構造化データが埋め込まれていない可能性があります。URL 検査ツールを使用して問題の原因を特定します。
トラフィックを定期的に分析する場合
パフォーマンス レポートを使用して Google 検索のトラフィックを分析します。このデータから、検索でページがリッチリザルトとして表示される頻度、ユーザーがページをクリックする頻度、検索結果におけるページの平均掲載順位がわかります。Search Console API を使用して、このデータを自動的に取得することもできます。トラブルシューティング
構造化データを実装する際に問題が発生した場合は、以下のリソースを確認してください。
- 構造化データにエラーがある可能性があります。構造化データエラーの一覧を確認してください。
- リッチリザルトが見つからない、もしくはリッチリザルトの合計数が減少している場合のトラブルシューティング
- クロールとインデックス登録に関する一般的な質問については、ウェブマスターに関するよくある質問をご覧ください。
- 質問についてはウェブマスターのオフィスアワー ライブイベントでお尋ねください。
- ウェブマスター フォーラムに質問を投稿してください。