DevTools Japan トップへ

QAPage構造化データ生成

ユーザーの質問と回答の schema.org QAPage JSON-LD をリアルタイム生成

質問(mainEntity / Question)

高評価数 upvoteCount
回答総数 answerCount
投稿日 dateCreated

採用回答(acceptedAnswer / ベストアンサー)

その他の回答(suggestedAnswer・複数可)

生成された JSON-LD

// 入力するとここに JSON-LD が表示されます

QAPage リッチリザルト要件のヒント

生成される JSON-LD は schema.org の QAPage 型に基づきます。mainEntity は1つの Question で、acceptedAnswer(採用回答)と suggestedAnswer(その他の回答)を持ちます。空欄のフィールドは自動的に除外されます。QAPage は「1つの質問にユーザーから複数の回答が付くページ」向けで、運営側の想定Q&A集には FAQPage を使ってください。すべての処理は端末内で完結し、入力内容は送信されません。

QAPage構造化データ生成ツールの使い方

ユーザーが投稿した1つの質問と、それに寄せられた回答を入力するだけで、schema.org の QAPage 型に準拠した JSON-LD 構造化データをリアルタイムに生成する無料ツールです。生成された ld+json のスクリプトタグ一式をコピーして、知恵袋・Q&Aサイト・フォーラム・掲示板のようなページのHTMLに貼り付けるだけで、検索エンジンに質問と回答の内容を正しく伝えられます。インストールや会員登録は不要で、入力した内容はサーバーに送信されず、すべての生成処理がお使いのブラウザ内で完結します。

使い方はシンプルです。まず質問のタイトル(name)を入力し、必要に応じて質問本文・高評価数・回答総数・投稿日を埋めます。次に採用回答(acceptedAnswer)の本文・回答者名・高評価数を入力し、さらにその他の回答(suggestedAnswer)を「回答を追加」ボタンで必要な数だけ登録します。入力を変更するたびに下部の出力エリアの JSON-LD が即座に更新されるので、内容を確認しながら仕上げられます。空欄の項目は出力から自動で除外されるため、値のある項目だけを入力すれば有効な構造化データになります。

QAPageの構造

QAPage は、ページ全体を表す QAPage の中に、質問を表す mainEntityQuestion 型)を1つ持つ構造です。Question は、採用回答を表す acceptedAnswerAnswer 型・最大1件)と、その他の回答を表す suggestedAnswerAnswer 型の配列・複数可)を持ちます。各 Answer には回答本文(text)に加え、回答者(author)や高評価数(upvoteCount)を任意で付与できます。

QAPageとFAQPageの違い

よく混同されますが、QAPage と FAQPage は用途がはっきり異なります。QAPage は「1つの質問に対して、ユーザーから複数の回答が寄せられるページ」です。知恵袋やStack Overflow、フォーラムのスレッドのように、質問者が困りごとを投稿し、他のユーザーがそれぞれ回答する形式が該当します。FAQPage は「サイト運営者があらかじめ用意した、よくある質問とその公式の答え」を並べたページで、1つの質問につき答えは1つだけです。ユーザー投稿による複数回答があるかどうかが、両者を使い分ける最大のポイントです。

観点QAPageFAQPage
想定ページ知恵袋・Q&A・フォーラム・掲示板製品/サービスのよくある質問ページ
質問の投稿者ユーザーサイト運営者
1問あたりの回答複数(採用回答+その他の回答)1つのみ
回答の主体ユーザー(コミュニティ)サイト運営者
主なプロパティacceptedAnswer / suggestedAnswer / upvoteCountacceptedAnswer のみ

使い分けの目安

そのページで、ユーザーが自由に質問を投稿し、他のユーザーが複数の回答を寄せられるなら QAPage です。逆に、運営側が「お客様からよく寄せられる質問」を想定して質問と答えをセットで用意しているだけなら FAQPage を使います。誤って FAQPage を使うべきページに QAPage を適用したり、その逆をすると、Google のガイドライン違反となりリッチリザルトの対象外になることがあります。ユーザー生成コンテンツ(UGC)のQ&Aかどうかを基準に選びましょう。

生成されるプロパティ

本ツールが出力する主な QAPage / Question / Answer のプロパティは次のとおりです。必須級の項目と任意項目を区別して、必要なものだけを入力してください。

プロパティ内容形式
mainEntityページの中心となる質問Question 型(必須)
name質問のタイトル文字列(必須)
text質問/回答の本文文字列
answerCount回答の総数整数
upvoteCount高評価(賛成)の数整数
dateCreated質問の投稿日ISO 8601(日付)
acceptedAnswer採用回答(ベストアンサー)Answer 型(最大1件)
suggestedAnswerその他の回答Answer 型の配列
author質問者・回答者Person 型

実装時の注意点

QAPage は1ページにつき1つの質問(mainEntity)を記述するのが原則です。回答は実際にユーザーが投稿したものである必要があり、運営側が創作した回答を並べることはガイドライン違反となります。upvoteCount や dateCreated は実データがあれば含めることで回答の信頼性を伝えられますが、実体のない数値の記述は避けてください。実装後は Google のリッチリザルトテストや schema.org バリデータで、エラー・警告がないか確認しましょう。

よくある質問

QAPageの構造化データとは何ですか?
QAPage構造化データは、ユーザーが投稿した1つの質問と、それに寄せられた複数の回答を検索エンジンが理解できる形式(schema.org の QAPage 型)で記述したものです。知恵袋・Q&Aサイト・フォーラム・掲示板のように、ユーザー同士が質問し回答し合うページを対象とします。本ツールは質問文・採用回答・その他の回答を入力するだけで JSON-LD 形式の構造化データをリアルタイム生成し、Q&Aリッチリザルトの対策に役立ちます。
QAPageとFAQPageの違いは何ですか?
QAPageは「1つの質問に対してユーザーから複数の回答が寄せられるページ」を表します。知恵袋やフォーラムのスレッドのように、質問者が困りごとを投稿し、他のユーザーが回答する形式です。一方 FAQPage は「サイト運営者があらかじめ用意した想定質問と公式の答え」を並べたページで、回答は1つの質問につき1つだけです。ユーザー投稿の複数回答があるなら QAPage、運営側が用意したよくある質問集なら FAQPage を使い分けます。
acceptedAnswerとsuggestedAnswerの違いは?
acceptedAnswer はその質問に対する採用回答(ベストアンサー)で、質問1つにつき最大1件です。suggestedAnswer はそれ以外にユーザーから寄せられた回答で、複数登録できます。本ツールでは採用回答を1つ、その他の回答(suggestedAnswer)を必要な数だけ「回答を追加」ボタンで登録でき、それぞれ回答本文・回答者名・upvoteCount(高評価数)を設定できます。採用回答が未入力の場合はその他の回答のみで出力されます。
upvoteCountや投稿日は必須ですか?
いいえ、任意項目です。upvoteCount(高評価・賛成の数)、answerCount(回答総数)、dateCreated(質問の投稿日)、回答者名(author)はいずれも空欄のまま出力できます。空欄のフィールドは JSON-LD から自動的に除外されるため、実際に値があるものだけを入力すれば有効な構造化データになります。ただし upvoteCount や投稿日は回答の信頼性を検索エンジンに伝える手がかりになるため、実データがあれば含めることを推奨します。
生成したJSON-LDはどこに貼り付けますか?
生成された ld+json のスクリプトタグ一式をコピーし、該当するQ&AページのHTMLの head 内、または body 内に貼り付けてください。JSON-LD はページの表示位置に影響しないため配置場所は比較的自由です。1ページにつき1つの QAPage(1つの質問)を記述するのが原則で、複数の質問を1ページにまとめる場合はガイドラインに沿わない可能性があります。貼り付け後は Google のリッチリザルトテストや schema.org バリデータでエラーや警告を確認することを推奨します。

関連ツール

FAQPage構造化データ生成Recipe構造化データ生成ツール一覧へ