「構造化データのマークアップは、リッチリザルトに出したいページから1ページずつ書き加えていけばよさそう」。Googleの構造化データ マークアップ支援ツールも、1ページのURLを読み込んで項目を選ぶ作りのため、ページごとの作業だと思われがちです。ところが、数千〜数万ページのサイトでは、同じ種類のページは同じテンプレートから作られているため、構造化データもテンプレートに入れれば、その種類の全ページに一度に出せます。大規模サイトで決めるのは、どの種類のテンプレートから入れるかの順序です。
本記事では、構造化データのマークアップの基本から、入れる順序を決める3つの基準、ページの種類ごとの順序、全ページに出す前の確かめ方まで、データベース型サイトのSEOを支援する会社の視点で順を追ってお伝えします。
- 大規模サイトの構造化データは、ページの種類ごとのテンプレートに入れる
- 主な内容に合う機能が検索ギャラリーにあり、必須プロパティをデータベースの項目で埋められ、ページ数の多い種類から入れる
- 詳細ページの次に全テンプレートへパンくずリストを入れ、WebSiteとOrganizationはトップページに入れる
- テンプレートを変えたら数ページで確かめてから全ページに出し、リッチリザルト レポートで無効なアイテムの増減を見る
構造化データのマークアップとは
構造化データのマークアップとは、商品の価格や求人の勤務地のようなページの内容を、Googleが決まった形式で読み取れるようにページへ書き加えることです。
構造化データを入れたページは、検索結果で価格や評価などを添えて表示される「リッチリザルト」の対象になりえます。
書き方の形式は3つあり、Googleは実装と管理が最も容易な形式としてJSON-LDを推奨しています。JSON-LDは画面に出る文章の間にタグを挟まず、scriptタグの中にまとめて書くため、表示のHTMLを変えずにテンプレートへ足せます。
語彙にはschema.orgのものを使いますが、Google検索での扱いと必須プロパティは、schema.orgではなくGoogle検索セントラルのドキュメントで確かめます。

※ 出典:Google検索セントラル「Google 検索における構造化データのマークアップの概要」
大規模サイトでテンプレートに入れる理由
大規模サイトで構造化データをテンプレートに入れるのは、同じ種類のページが、同じテンプレートにデータベースの値を流し込んで作られているからです。商品詳細のテンプレートにProductのJSON-LDを1回足せば、商品名や価格がページごとに差し込まれ、数千ページの商品詳細に同じ形で出ます。

テンプレートに入れると、1か所の誤りもその種類の全ページに同じ誤りとして出ます。Googleも、開発中はリッチリザルト テストで確かめ、公開後はリッチリザルトのステータス レポートで有効かを見るよう勧めています。テンプレートや配信の仕方が原因で、公開後に構造化データがおかしくなることがあるためです。
入れる順序を決める3つの基準
構造化データを入れるテンプレートの順序は、ページの種類ごとに3つの基準を確かめ、3つとも満たす種類から決めます。

主な内容に合う機能が検索ギャラリーにあること
検索ギャラリーに主な内容に合う機能がある種類のページは、構造化データを入れるとリッチリザルトの対象になりえるため、先に入れます。検索ギャラリーはGoogle検索がサポートする構造化データの機能の一覧で、記事、パンくずリスト、イベント、求人情報、商品、動画などが載っています。
Googleは、ページの主な目的を表す構造化データの種類を含めるよう求めています。1件の商品を載せたページならProduct、1件の求人を載せたページならJobPostingが、主な種類にあたります。一覧に載る機能は変わることがあるため、テンプレートに入れる前に、使う機能が今も載っているかを確かめます。

※ 出典:Google検索セントラル「Google 検索がサポートする構造化データ マークアップ」
必須プロパティをデータベースの項目で埋められること
必須プロパティに当たる値がデータベースの項目に無い種類は、テンプレートに入れてもリッチリザルトの対象になりません。対象になるには、機能ごとに決められた必須プロパティをすべて含める必要があるためです。求人情報(JobPosting)の必須プロパティは、次の5つです。
- title:職種名
- description:仕事の説明
- datePosted:掲載を始めた日
- hiringOrganization:募集している会社
- jobLocation:勤務地(完全リモートの求人は、jobLocationTypeとapplicantLocationRequirementsで代えられます)
項目があっても、ページによって空欄のことがあります。必須プロパティに当たる項目が空欄のページの数を種類ごとに数えておくと、テンプレートに入れたときに対象になるページの数が先に分かります。
ページ数と検索からの訪問が多いこと
ページ数と検索からの訪問が多い種類ほど、テンプレートに1回入れたときに、構造化データが出るページの数と、検索結果で見え方が変わる回数が多くなります。ページ数はサイトマップかURLの形で種類ごとに数えます。検索からの訪問は、Search Consoleの検索パフォーマンス レポートで、URLの形ごとに絞り込んで見ます。
ページの種類ごとに入れる順序
データベース型のサイトのページを4つの種類に分けると、種類ごとに入れる構造化データは次の表のとおりです。
ページの種類 | 入れる構造化データ | 入れるときの条件 |
|---|---|---|
詳細ページ(商品・求人・イベント・店舗を1件ずつ載せる) | Product、JobPosting、Event、LocalBusinessのうち内容に合うもの、BreadcrumbList | 1件だけを扱うページに入れる |
一覧ページ(検索結果・カテゴリ) | BreadcrumbList | 商品・求人・イベントの構造化データは入れない |
記事ページ | Article、BreadcrumbList | 必須プロパティは無く、推奨プロパティを入れる |
トップページ | WebSite、Organization | WebSiteはトップページに、Organizationはトップページか会社概要のページに入れ、全ページに入れる必要はない |
一覧ページに商品や求人の構造化データを入れないのは、Googleが商品・求人・イベントのリッチリザルトを、1件を扱うページに限っているためです。求人の一覧ページにJobPostingを入れると、Search Consoleにポリシー違反のメッセージが出ることがあります。一覧をカルーセルで表示する構造化データもありますが、対象はレシピやレストランなど4つの機能だけです。
商品・求人・イベント・店舗の詳細ページのテンプレートに、内容に合う構造化データを1つ入れます。主な内容に合う機能が検索ギャラリーにあり、ページ数も多いため、最初に入れます。
詳細ページ、一覧ページ、記事ページのテンプレートにBreadcrumbListを入れます。パンくずリストは検索ギャラリーにあり、複数のテンプレートに共通で入れるため、2番目に置きます。Googleは、URLの階層をそのまま写すより、利用者がそのページにたどり着く一般的な経路を書くよう勧めています。表示の対象はパソコン版の検索結果です。
記事ページのテンプレートにArticleを入れます。Articleに必須プロパティは無いため、著者や公開日などの推奨プロパティを、記事のデータにある分だけ入れます。
トップページに、サイト名を伝えるWebSiteと、組織の情報を伝えるOrganizationを入れます。ページは1枚だけのため、テンプレートの順序とは別に、どの段階で入れても構いません。
詳細ページの種類が商品と店舗のように2つ以上あるサイトでは、必須プロパティの空欄が少なく、検索からの訪問が多い種類から入れます。
どのページの種類のテンプレートから手を付けるか、決めかねていませんか
データベースSEOは、数千〜数万ページ規模のデータベース型サイト向けのSEOです。テンプレートの最適化として、title・meta description・構造化データをページの種類ごとに整えます。
テンプレートに入れるときの4つの注意点
テンプレートに構造化データを入れるときは、データベースの値をそのまま出力して起きる誤りを防ぐため、次の4つに注意します。
空欄の項目を出力しないこと
データベースの項目が空欄のページでは、そのプロパティを出力しないようにテンプレートを作ります。必須プロパティが欠けたアイテムは、リッチリザルトに表示されません。必須プロパティが1つでも空欄のページでは、その種類の構造化データごと出力しません。
推奨プロパティも、値のあるものだけを出力します。Googleは、不完全なデータを含む多くの推奨プロパティより、少なくても完全で正確な推奨プロパティを入れるほうが重要だとしています。
価格が入っていない商品がデータベースにあります。その商品のページは、構造化データを外すしかないですか?
編集部
商品スニペットの必須プロパティは、商品名と、レビュー・評価・価格情報のうちいずれか1つです。価格が無くても、ページにレビューや評価が出ていれば、Productを出力できます。3つとも無いページはProductを出さず、パンくずリストだけを出します。
画面に出ていない値を入れないこと
構造化データには、ページを開いた人の画面に表示されている値だけを入れます。Googleは、読者に表示されないコンテンツをマークアップしないよう求めています。求人情報では、構造化データに給与があるのに求人ページに給与が無い状態を、違反の例に挙げています。
データベースには、社内用の項目や画面に出していない項目もあります。本文の項目から構造化データを作る仕組みは、schema.orgとは?構造化データが効くページと書き方を解説で扱っています。

※ 出典:Google検索セントラル「構造化データに関する一般的なガイドライン」
掲載を終えたページから外すこと
求人やイベントのように掲載に期限がある種類では、掲載を終えたページから構造化データを外す処理をテンプレートに入れます。Googleは、応募を受け付けていない求人について、ページを削除するか、JobPostingを外すか、validThroughに過ぎた日付を入れるかのどれかで終えるよう求めています。対応が遅れると、手動による対策を受けることがあります。
データベースの掲載状態の項目を見て、掲載を終えたページではJobPostingを出力しない条件をテンプレートに書いておけば、期限が切れるたびに手で外さずに済みます。求人のURLの追加や削除は、サイトマップよりIndexing APIで知らせるほうが早いとGoogleは説明しています。
価格と在庫をサーバー側で出力すること
商品の価格や在庫のように頻繁に変わる値は、JavaScriptで後から書き込まず、サーバーが返すHTMLにJSON-LDを含めて出力します。Googleは、JavaScriptで動的に生成したProductのマークアップが、Googleショッピングのクロールの頻度と信頼性を下げる可能性があると注意しています。
JSON-LDそのものは、JavaScriptで差し込んでもGoogleが読み取れます。価格や在庫を持たない種類では、作りやすいほうを選んで構いません。
全ページに出す前の確かめ方
テンプレートに入れた構造化データは、テストツールと数ページの公開で確かめてから全ページに出し、公開後はSearch Consoleのリッチリザルト レポートで見続けます。
テンプレートごとに、項目がすべて埋まったページ、空欄の項目があるページ、掲載を終えたページを選びます。空欄や掲載終了の処理の誤りは、項目がそろったページだけでは見つからないためです。
選んだURLをリッチリザルト テストに入れ、リッチリザルトの対象になるかと、エラーや警告を確かめます。JavaScriptで構造化データを出す場合は、コードではなくURLで確かめるようGoogleは勧めています。
構造化データを入れたページを数ページだけ公開し、URL検査ツールで、Googleがページを読み込めて構造化データを見つけているかを確かめます。robots.txtやnoindexでページを止めていないかも、ここで見ます。
全ページに出したら、Search Consoleの拡張機能にあるリッチリザルト レポートで、有効なアイテムと無効なアイテムの数を種類ごとに見ます。商品スニペットと販売者のリスティングのレポートは、ショッピングの下にあります。
レポートの数はページ数ではなくアイテム数で、検出したアイテムの一部を示すものです。テンプレートを変えた後に無効なアイテムが増えたら、新しいテンプレートの誤りを疑います。無効なアイテムが増えていないのに有効なアイテムが減ったときは、構造化データが出力されていない可能性があるため、URL検査ツールで原因を確かめます。

記事(Article)や組織(Organization)のようにリッチリザルト レポートが無い種類は、テンプレートを変えたときに、スキーマ マークアップ検証ツールでschema.orgの書き方として正しいかを確かめます。

※ 出典:Search Console ヘルプ「リッチリザルト レポートの概要」
構造化データのマークアップのよくある質問
構造化データのマークアップについて、大規模サイトの担当者が迷いやすい3つの質問に答えます。
マークアップ支援ツールは大規模サイトでも使える?
構造化データ マークアップ支援ツールは、1ページのURLかHTMLを読み込み、画面上で項目を選んでコードを作るツールです。作ったコードはそのページ用のため、ページの種類ごとに1ページずつコードを作り、テンプレートに書く値の見本にする使い方が合っています。
正しく書いたのにリッチリザルトが出ないのはなぜ?
構造化データが正しくても、リッチリザルトが表示されるとは限りません。Googleは、検索履歴や位置情報、端末の種類などに応じて検索結果を調整し、通常のテキストの検索結果が適していると判断することもあるためです。パンくずリストのように、パソコン版の検索結果だけが対象の機能もあります。
パラメータ付きのURLにも構造化データは要る?
計測用や並べ替えのパラメータが付いただけで内容が同じURLにも、正規ページと同じ構造化データを出して問題ありません。Googleは、内容が同一の重複ページには、正規ページだけでなく、すべての重複ページに同じ構造化データを入れるよう勧めています。
まとめ|大規模サイトはページの種類の順に入れる
数千〜数万ページのサイトの構造化データは、ページの種類ごとのテンプレートに入れ、どの種類から入れるかの順序を決めます。主な内容に合う機能が検索ギャラリーにあり、必須プロパティをデータベースの項目で埋められ、ページ数と検索からの訪問が多い種類から入れます。
データベース型のサイトでは、商品や求人などの詳細ページが最初の候補になり、パンくずリスト、記事ページ、トップページと続きます。テンプレートを変えたら、空欄や掲載終了のページを含む数ページで確かめてから全ページに出し、リッチリザルト レポートで無効なアイテムの増減を見ます。
私たち合同会社Writers-hubは、数千〜数万ページ規模のデータベース型サイト向けに、テンプレートの最適化を含むSEOの支援を行っています。
詳細ページのテンプレートとインデックスを、まとめて見直したいときは
構造化データを整えた詳細ページも、インデックスに登録されなければ検索結果に出ません。データベースSEOでは、テンプレートの最適化に加えて、内部リンクとURLの設計、クロールバジェットの配分やsitemap・canonicalによるインデックスの制御を行います。







