Q&A(QAPage)の構造化データ
Q&A ページとは、1 つの質問の後にその質問に対する回答が続く、質問と回答の形式のデータを含むウェブページです。質問とその回答から構成されるコンテンツでは、schema.org の QAPage、Question、Answer の各タイプでデータをマークアップできます。
適切にマークアップされたページは、検索結果ページにリッチリザルトを表示できるようになります。リッチリザルトを表示できるということは、そのページにとって、検索結果ページから適切なユーザーにリーチできることを意味します。 たとえば、「USB ポートから抜けなくなったケーブルを外す方法」というユーザーのクエリがあったとします。この質問に対する答えがページにマークアップされていれば、リッチリザルトが表示される場合があります。
Q&A ページをマークアップすることで、コンテンツをリッチリザルトで表示できるだけでなく、このページに対して Google が生成するスニペットの質が向上するという利点もあります。リッチリザルトが表示されない場合、回答のコンテンツが基本的な検索結果の形式で表示されることがあります。
構造化データを追加する方法
構造化データは、ページに関する情報を提供し、ページ コンテンツを分類するための標準化されたデータ形式です。構造化データを初めて使用する場合は、構造化データの仕組みについてをご覧ください。
構造化データの作成、テスト、リリースの概要は次のとおりです。
- 必須プロパティを追加します。使用している形式に基づいて、ページ上の構造化データを挿入する場所をご確認ください。
- ガイドラインに従います。
- リッチリザルト テストでコードを検証し、重大なエラーを修正します。ツールで報告される重大ではない問題の修正も検討してください。構造化データの品質向上に役立ちます(ただし、リッチリザルトの対象となるために必ずしも必要というわけではありません)。
- 構造化データが含まれているページを数ページ導入し、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,
"datePublished": "2024-02-14T15:34-05:00",
"author": {
"@type": "Person",
"name": "Mary Stone",
"url": "https://example.com/profiles/mary-stone"
},
"acceptedAnswer": {
"@type": "Answer",
"text": "1 pound (lb) is equal to 16 ounces (oz).",
"image": "https://example.com/images/conversion-chart.jpg",
"upvoteCount": 1337,
"url": "https://example.com/question1#acceptedAnswer",
"datePublished": "2024-02-14T16:34-05:00",
"author": {
"@type": "Person",
"name": "Julius Fernandez",
"url": "https://example.com/profiles/julius-fernandez"
}
},
"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.",
"upvoteCount": 42,
"url": "https://example.com/question1#suggestedAnswer1",
"datePublished": "2024-02-14T15:39-05:00",
"author": {
"@type": "Person",
"name": "Kara Weber",
"url": "https://example.com/profiles/kara-weber"
},
"comment": {
"@type": "Comment",
"text": "I'm looking for ounces, not fluid ounces.",
"datePublished": "2024-02-14T15:40-05:00",
"author": {
"@type": "Person",
"name": "Mary Stone",
"url": "https://example.com/profiles/mary-stone"
}
}
}, {
"@type": "Answer",
"text": " I can't remember exactly, but I think 18 ounces in a lb. You might want to double check that.",
"upvoteCount": 0,
"url": "https://example.com/question1#suggestedAnswer2",
"datePublished": "2024-02-14T16:02-05:00",
"author": {
"@type": "Person",
"name": "Joe Cobb",
"url": "https://example.com/profiles/joe-cobb"
}
}
]
}
}
</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>
<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>
<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>
<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>
</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マークアップは、質問に対するコメントや他の回答に対するコメントに使用するのではなく、質問に対する回答に使用します。そういったタイプのコンテンツには、代わりにcommentプロパティやCommentタイプを使用します。- 質問と回答のコンテンツに、猥褻または冒とく的なコンテンツ、露骨な性表現を含むコンテンツ、暴力的な描写を含むコンテンツ、危険または違法な行為を助長するコンテンツ、差別や中傷にあたるコンテンツが含まれる場合、リッチリザルトとして表示されない可能性があります。
- 教育関連の 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 で確認できます。Google がサポートするプロパティは、次のとおりです。
| 必須プロパティ | |||||
|---|---|---|---|---|---|
|
Integer
質問に対する回答の総数。たとえば、ページ分けにより 15 個の回答のうち最初の 10 個のみがマークアップされている場合でも、この値は 15 になります。質問に回答がない場合は 0 になります。 |
||||
acceptedAnswer または suggestedAnswer |
Answer
リッチリザルトの対象となるには、質問に対する回答が少なくとも 1 つ(
|
||||
|
Text
短い形式の質問の全文。例: "How many teaspoons in a cup?"(「ティースプーン何杯分で 1 カップ分になりますか」) |
||||
| 推奨プロパティ | |
|---|---|
|
Person または Organization
質問の作成者に関する情報。さまざまな記事の作成者を Google が正確に認識できるように、作成者のマークアップのベスト プラクティスを実践することをおすすめします。 記事とプロフィール ページの構造化データでサポートされているプロパティを参考にして、作成者に適したプロパティをできるだけ多く含めます。 |
|
質問の作成者を一意に識別するウェブページへのリンク。通常 Q&A ウェブサイトのプロフィール ページが該当します。プロフィール ページの構造化データを使用してそのページをマークアップすることをおすすめします。 |
comment |
質問に関するコメント(該当する場合)。回答以外のコンテンツであることが理想です。通常は質問に関する詳しい情報やディスカッションになります。 |
dateModified |
回答が編集された日時(該当する場合、ISO 8601 形式)。 |
datePublished |
質問が投稿された日時(ISO 8601 形式)。 |
image |
質問内のインライン画像(該当する場合)。 |
|
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
質問に対する投票の総数。ページが賛成票と反対票をサポートしている場合は、 |
video |
質問内のインライン動画(該当する場合)。 |
Answer
Answer タイプでは、Q&A ページの Question に対して提案された回答と承認された回答を定義します。suggestedAnswer プロパティと acceptedAnswer プロパティの値として、Question 内に Answers を定義します。
次の表で、Question 内で使用される Answer タイプのプロパティについて説明します。
Answer の完全な定義は https://schema.org/Answer で確認できます。
| 必須プロパティ | |
|---|---|
|
Text
回答の全文。コンテンツの一部のみがマークアップされている場合、表示できないことがあります。表示に最適なテキストを Google が決定できないためです。 |
| 推奨プロパティ | |
|---|---|
|
Person または Organization
回答の作成者に関する情報。さまざまな記事の作成者を Google が正確に認識できるように、作成者のマークアップのベスト プラクティスを実践することをおすすめします。 記事とプロフィール ページの構造化データでサポートされているプロパティを参考にして、作成者に適したプロパティをできるだけ多く含めます。 |
|
回答の作成者を一意に識別するウェブページへのリンク。通常 Q&A ウェブサイトのプロフィール ページが該当します。プロフィール ページの構造化データを使用してそのページをマークアップすることをおすすめします。 |
comment |
回答に関するコメント(該当する場合)。通常は回答に関する詳しい情報やディスカッションが該当します。 |
dateModified |
回答が編集された日時(ISO 8601 形式、該当する場合)。 |
datePublished |
質問に対する回答が行われた日時(ISO 8601 形式)。 |
image |
質問内のインライン画像(該当する場合)。 |
|
Integer
回答に対する投票の総数(該当する場合)。ページが賛成票と反対票をサポートしている場合は、 |
|
URL
回答に直接リンクしている URL。例: |
video |
回答内のインライン動画(該当する場合)。 |
Comment
必要に応じて Comment タイプを使用し、質問でも回答でもない、質問や回答に関する詳しい情報やディスカッションを記述できます。comment プロパティの値として、Question または Answer 内に Comments を定義します。
Comment の完全な定義は https://schema.org/Comment で確認できます。
| 必須プロパティ | |
|---|---|
|
Text
コメントの全文。マークアップされているのが一部のみの場合、表示に最適なテキストを Google が決定できないことがあります。 |
| 推奨プロパティ | |
|---|---|
|
Person または Organization
コメントの作成者に関する情報。さまざまな記事の作成者を Google が正確に認識できるように、作成者のマークアップのベスト プラクティスを実践することをおすすめします。 記事とプロフィール ページの構造化データでサポートされているプロパティを参考にして、作成者に適したプロパティをできるだけ多く含めます。 |
|
コメントの作成者を一意に識別するウェブページへのリンク。通常 Q&A ウェブサイトのプロフィール ページが該当します。プロフィール ページの構造化データを使用してそのページをマークアップすることをおすすめします。 |
comment |
コメントに対するネストされたスレッド形式のコメント(該当する場合)。 |
dateModified |
コメントが編集された日時(ISO 8601 形式、該当する場合)。 |
datePublished |
コメントが作成された日時(ISO 8601 形式)。 |
image |
コメント内のインライン画像(該当する場合)。 |
video |
コメント内のインライン動画(該当する場合)。 |
Search Console でリッチリザルトを監視する
Search Console は、Google 検索におけるページのパフォーマンスを監視できるツールです。Search Console に登録していなくても Google 検索結果に表示されますが、登録することにより、Google がサイトをどのように認識しているかを把握して改善できるようになります。次の場合は Search Console を確認することをおすすめします。
構造化データを初めてデプロイした後
ページがインデックスに登録されたら、関連するリッチリザルトのステータス レポートを使用して、問題がないかどうかを確認します。有効な項目が増え、無効な項目が増えていない状態が理想的です。構造化データに問題が見つかった場合の手順は次のとおりです。
- 無効な項目を修正します。
- 一般公開 URL の検査を行い、問題が解決したかどうかを確認します。
- ステータス レポートを使用して検証をリクエストします。
新しいテンプレートをリリースした後やコードを更新した後
ウェブサイトに大幅な変更を加えた場合は、構造化データの無効な項目が増加しないかどうか監視します。- 無効な項目が増加した場合は、新しく公開したテンプレートが正常に機能していないか、既存のテンプレートの新しい操作方法に問題があると考えられます。
- 有効な項目が減少している(無効な項目の増加と一致しない)場合は、ページに構造化データが埋め込まれていない可能性があります。URL 検査ツールを使用して問題の原因を特定します。
トラフィックを定期的に分析する場合
パフォーマンス レポートを使用して Google 検索のトラフィックを分析します。このデータから、検索でページがリッチリザルトとして表示される頻度、ユーザーがページをクリックする頻度、検索結果におけるページの平均掲載順位がわかります。この結果は、Search Console API を使用して自動的に取得することもできます。トラブルシューティング
構造化データの実装またはデバッグで問題が発生した場合は、以下のリソースが参考になります。
- コンテンツ管理システム(CMS)を使用している場合や、別の人がサイトを管理している場合は、担当者にサポートを依頼してください。その際は、問題の詳細を含む Search Console のメッセージを必ず転送してください。
- 構造化データを使用するコンテンツが必ず検索結果に表示されるとは限りません。コンテンツがリッチリザルトに表示されないときのよくある原因については、構造化データに関する一般的なガイドラインをご覧ください。
- 構造化データにエラーがある可能性があります。構造化データエラーの一覧と解析不能な構造化データに関するレポートを確認してください。
- 構造化データへの手動による対策がページに対して行われると、ページ上の構造化データが考慮されなくなります(ただし、Google 検索結果にはページは引き続き表示されます)。構造化データの問題を修正するには、手動による対策レポートを使用します。
- コンテンツにガイドライン違反がないか、ガイドラインを再度確認してください。スパム コンテンツまたはスパム マークアップの使用が原因で、問題が発生することがありますが、これは構文の問題ではない可能性があり、リッチリザルト テストでは特定できません。
- リッチリザルトが見つからない場合やリッチリザルトの総数が減少している場合のトラブルシューティングを行ってください。
- 再クロールとインデックスの再登録にかかる時間を考慮してください。ページを公開した後、Google がそのページを検出してクロールするまで数日かかる場合があることにご注意ください。クロールとインデックス登録に関する一般的な質問については、Google 検索のクロールとインデックス登録に関するよくある質問をご覧ください。
- Google 検索セントラル フォーラムでも質問を受け付けています。