FAQPage/Articleスキーマ(構造化データ)の実装方法【初心者向け】
構造化データとは、ページの内容を「これはタイトルです」「これは質問と回答です」というように、 人間だけでなくAIやプログラムにもわかる形でラベル付けする仕組みです。 難しく聞こえますが、実際に書くのはページの見た目とは別に追加する、短いコードの塊だけです。
なぜ必要なのか
人間はページを見れば「これは記事のタイトルだな」「ここはよくある質問のコーナーだな」と 直感的に理解できます。しかしAIやプログラムは、HTMLの見た目だけでは それが何の情報なのか正確に判断しづらいことがあります。 構造化データは、この認識のズレを減らすための「注釈」のようなものです。 schema.orgという共通の語彙(ボキャブラリー)を使って書きます。
JSON-LDという書き方
構造化データにはいくつかの書き方がありますが、現在最も一般的なのは
「JSON-LD」という形式です。ページの<head>タグの中に、
以下のような専用のコードブロックとして追加します。
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "記事タイトル"
}
</script> ページの見た目には一切影響しません。裏側でAI・検索エンジンだけに情報を伝える仕組みです。
Article(記事)の書き方
通常の記事には、以下のような項目を書きます。
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "記事タイトルをここに",
"description": "記事の要約を1〜2文で",
"datePublished": "2026-08-11",
"dateModified": "2026-08-11",
"author": { "@type": "Person", "name": "運営者名" },
"publisher": { "@type": "Organization", "name": "サイト名" }
} headline(タイトル)、datePublished(公開日)、
author(著者)あたりが基本項目です。日付は「2026-08-11」のような形式で書きます。
FAQPage(よくある質問)の書き方
ページ内に質問と回答の形式のコンテンツがある場合、FAQPageというタイプが使えます。 AIの回答内でそのまま引用されやすい形式と言われています。
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "質問文をここに",
"acceptedAnswer": {
"@type": "Answer",
"text": "回答文をここに"
}
}
]
} 重要な注意点: ここに書く質問・回答は、実際にページの本文にも 表示されている内容と一致させる必要があります。表示されていない内容にだけ マークアップを付けることは、schema.orgのガイドライン上推奨されていません。
実装後の確認方法
書いたコードが正しいかどうかは、Googleが無料で提供している検証ツールで確認できます。
- Google Rich Results Test — ページのURLを入力するだけで、エラーがないか診断してくれます
- Schema Markup Validator — schema.orgの語彙として正しい形式かをより厳密に検証します
本サイトの実例
本サイトの各記事ページには、実際にArticleとFAQPageのJSON-LDを実装しています。
ブラウザで記事ページを開き、右クリック→「ページのソースを表示」から
application/ld+jsonで検索すると、実際のコードを確認できます。