- オンライン
02/12水12:00〜13:00
“構造化データ” と聞くと、「なんだか難しそう」「プログラミングの知識が必要なの?」と身構えるかもしれない。
しかし、ここで解説する手順に沿ってゆっくり取り組めば、プログラミング経験がない初心者でも導入することは十分可能である。
むしろ、構造化データは初心者でも着実に成果をあげやすいSEO対策のひとつだ。
本記事では、構造化データを「なぜ必要か」から「何を使えばいいのか」「どんな情報を構造化できるのか」まで、丁寧に順を追って解説する。具体的なコード例、テスト方法、参考になる公式リソースへのリンクなども豊富に提示する。
読み終えた頃には、構造化データのイメージがクリアになり、実際に試してみたくなるはずである。
目次
まずは「そもそも構造化データって何?」という基本から確認していこう。
なお、詳細は順を追って解説していく。途中で意味のわかりづらい部分があっても、まずは全体像をつかむつもりで、読み進めてほしい。
最初に押さえたいのは、Webページ上には検索エンジンにとって、
がある、ということだ。
普段、あなたが書くブログ記事や商品説明文には、「商品名」「価格」「レビュー」「レシピの材料や調理時間」など、人間の読者が見ればすぐ意味がわかる情報がたくさんある。
しかし、検索エンジン(たとえばGoogle)は文章をただの文字列として読み込む。人間なら自然に理解できる「これは商品の価格だな」という情報も、検索エンジンには単なる「数字」に過ぎないことが多い。
近年のGoogleはかなり進化しているものの、それでもまだ、人間の解釈力には及ばない。
そこで役立つのが構造化データである。
構造化データは、Webページ上の情報を「これは商品の名前です」「これは価格です」と、機械(検索エンジン)がわかる形で明示的に教えてあげるための特別なコードだ。
構造化データは検索エンジンに対して「このページにはこういう種類の情報が入っていますよ」と伝える説明書のようなものだ。
たとえば、レシピ記事の場合、料理名や材料、調理時間などを構造化データで明示すると、検索エンジンは、
「このページはレシピだな。評価や調理時間をユーザーに見せてあげよう」
と判断し、検索結果画面で特別な表示(リッチリザルト)を出してくれる場合がある。
構造化データを記述する方法はいくつかあるが、初心者には「JSON-LD(ジェイソン・エルディー)」という形式がおすすめだ。
これはJavaScript風のテキストをページ内に貼り付けるだけのシンプルなやり方である。難しいプログラミングスキルは必要ない。
そう言われても最初はイメージしにくいかもしれないが、要は「決まったフォーマットに沿ってコードをコピペ&編集する」だけで実装できるものだ。
続いて、構造化データにどのようなSEO効果があるのか、整理しておこう。4つのポイントがある。
1つめのSEOメリットは「検索エンジンがサイトのコンテンツを認識しやすくなる」ことだ。
これはGoogleが公式に述べている。以下は、Google検索セントラルからの引用だ。
Google がサイトを認識しやすくする
サイトの主要な情報は、グラフィックスではなく、テキストで記述します。Google ではさまざまなファイル形式の解析やインデックス登録が可能ですが、ページの内容を認識するうえでは、やはりテキストが最も確実な手段です。
テキスト以外のコンテンツを使用している場合、またはサイトのコンテンツに関するより詳しい情報を提供する場合は、ページに構造化データを追加します。
それにより、Google はコンテンツを認識しやすくなり、またリッチリザルトのような特別な検索機能が利用できる場合もあります。
2つめのSEOメリットは「『リッチリザルト』により検索結果で目立つ」ことだ。
先ほど少し触れたが、構造化データが正しく実装されると、検索結果で「星評価」や「価格」「Q&A形式のリスト」など、通常のテキストリンクよりも視覚的にリッチな表示を得られる可能性がある。
これを「リッチリザルト」または「リッチスニペット」と呼ぶ。
例:
こうした特別な表示があるとクリックされやすく、アクセスアップが期待できる。
3つめのSEOメリットは「音声検索や新しい検索形式へ対応できる」ことだ。
たとえば、スマートスピーカーやスマホの音声アシスタント(Googleアシスタント、Siri、Alexaなど)は、はっきりと意味がわかる情報を好む。
構造化データで整えた情報は、こうした新しい検索エコシステムでも活用されやすく、将来を見据えた対策になる。
4つめのSEOメリットは「信頼性・専門性をアピールできる」ことだ。
構造化データは、ページ内容を正しく整理し、明確に意味づけする行為である。
Googleは「このサイトは情報を構造的にまとめ、ユーザーに有益なデータをわかりやすく提示しようとしている」と判断しやすい。
結果的に、サイト運営者が真剣に情報品質に取り組んでいる証拠として受け取られ、長期的には信頼性や専門性の面でプラス評価につながる可能性がある。
さて、ここからはいよいよ、実践に向けた話を深めていく。まずは、どうやって構造化データを書けばいいのか、予備知識から解説する。
構造化データには、世界中の検索エンジンが共同で定めている「Schema.org」というガイドラインがある。
出典:Schema.org
Schema.orgは大きな辞書のようなもので、「商品」「レシピ」「レビュー」「FAQ」など、あらゆる分野の情報をどう記述すればよいかが定義されている。
構造化データを導入したい場合は、Schema.orgで自分のサイトに合ったタイプを探し、Schema.orgのルールに従って、必要な項目を記述すればよい(詳細手順は後述する)。
構造化データを記述する方法としては、「JSON-LD」「Microdata」「RDFa」などの技術がある。
先にも述べたとおり、一番やさしく整理しやすいのは<script type=”application/ld+json”>タグ内にJSON形式で書くJSON-LDである。
また、Googleが推奨しているのも「JSON-LD」だ。以下はGoogle公式ドキュメントからの引用である。
出典:Google 検索セントラル「構造化データ マークアップとは」
「JSON-LD」はフォーマットの名称なので、JSON-LDとは何か?と深く考える必要はない。まずは「構造化データのフォーマットを選ぶとき、JSON-LDを選ぶ」と覚えておこう。
ここでJSON-LDの実例を見てみよう。
たとえば、あなたがオンラインショップでイヤホンを販売しているとする。その商品ページに以下のようなJSON-LDを貼ると、「これは商品で、価格はいくらで、在庫がある」などの情報を検索エンジンに明示できる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <script type="application/ld+json"><br data-rich-text-line-break="true" /> {<br data-rich-text-line-break="true" /> "@context": "https://schema.org/",<br data-rich-text-line-break="true" /> "@type": "Product",<br data-rich-text-line-break="true" /> "name": "高性能イヤホン",<br data-rich-text-line-break="true" /> "image": "https://example.com/images/earphone.jpg",<br data-rich-text-line-break="true" /> "description": "クリアな音質と長時間使用に適したイヤホン",<br data-rich-text-line-break="true" /> "brand": "サウンドメーカーX",<br data-rich-text-line-break="true" /> "offers": {<br data-rich-text-line-break="true" /> "@type": "Offer",<br data-rich-text-line-break="true" /> "price": "9800",<br data-rich-text-line-break="true" /> "priceCurrency": "JPY",<br data-rich-text-line-break="true" /> "availability": "https://schema.org/InStock"<br data-rich-text-line-break="true" /> }<br data-rich-text-line-break="true" /> }<br data-rich-text-line-break="true" /> </script><br data-rich-text-line-break="true" /> |
このコードを、商品のHTMLファイル(<head>タグ内が望ましいが<body>内でも動作する)に貼り付ければOKである。
このように、JSON-LD形式で商品名、画像URL、価格、在庫状況などを明示すると、検索エンジンは内容を正しく認識しやすくなる。
初心者が構造化データを記述する前に、まず知っておくべき用語が3つある。以下を押さえておこう。
***
以上、予備知識を確認したところで、次は実際に「自分のサイトへ導入するためのステップ」を見ていこう。
構造化データを導入するとき、「具体的に何を、どう進めればいいのか」が見えにくいと感じるかもしれない。
以下では、初めて構造化データに触れる人でも迷いにくいよう、できるだけ細かくステップを示している。全体の流れは以下のとおりだ。
「なんとなく難しそう」と思うかもしれないが、まずは以下を通読してほしい。全体像がつかめれば、作業自体はごくシンプルである。
1つめのステップは「自分のサイトに合ったタイプを選ぶ」である。
Schema.orgで定義されたスキーマの中に「タイプ」(例:Product、FAQPageなど)が用意されている。適切なタイプを選ぶことが、検索エンジンへの情報伝達を確実かつ効率的に行う第一歩だ。
2つめのステップは「JSON-LDコードを作成する」である。
選んだタイプは空っぽのテンプレートのようなものだ。よって、そのタイプに対応するプロパティ(商品名、価格、FAQの質問と回答など)に、サイト固有の値を埋め込む必要がある。
3つめのステップは「作成したコードをテストする」である。
一見正しく見えるコードでも、小さなミス(カンマの誤り、必須項目の不足、URLの間違いなど)があると、検索エンジンが正しく理解できない。ページを公開する前にテストして、無駄なトラブルや後からの修正回数を減らそう。
4つめのステップは「コードをサイトに実装する」である。
テストが完了したコードをWebページに記述して、実際に機能させよう。
5つめのステップは「実装したページをテストする」である。
HTMLファイルにコードを貼り付けた後、実際のURLでテストして「本番環境でコードがきちんと読み取れるか」を確認しよう。
6つめのステップは「Google Search Consoleでモニタリングする」である。
構造化データのパフォーマンスは、Google Search Consoleから確認できる。
※Google Search Consoleの導入がまだの場合は、「Google Search Consoleとは?初心者向けにキャプチャ付で解説」を参考に導入してから、このページに戻ってほしい。
参考:Google 検索セントラル ブログ「Search Console での構造化データのモニタリング 」
***
以上、ここまでの話を簡単にまとめておこう。
これらを丁寧に行えば、初心者でも構造化データを導入し、SEO効果を高められる。
続いて、オウンドメディアやECサイトのSEO対策にて使用頻度の高い13個の具体例を紹介しよう。
実際に使用する際は、ご自身のサイト情報に合わせてプロパティの値を置き換える必要がある。また、ここで示すコードはあくまで簡易的なサンプルであり、詳細は公式ドキュメントを参照して確認してほしい。
企業の情報は「Organization」を使い、認知度や信頼性向上を図るとよい。自社の正式名称、所在地、問い合わせ先、ロゴなどを構造化すると、Google検索やナレッジパネルに正確な情報を示せる。
参考コード例(Organization)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <script type="application/ld+json">{ "@context": "https://schema.org", "@type": "Organization", "name": "株式会社サンプル", "url": "https://example.com", "logo": "https://example.com/logo.png", "address": { "@type": "PostalAddress", "streetAddress": "神南1-1-1", "addressLocality": "渋谷区", "addressRegion": "東京都", "postalCode": "150-0001", "addressCountry": "JP" }, "contactPoint": { "@type": "ContactPoint", "telephone": "+81-3-1234-5678", "contactType": "customer service" } } </script> |
自社ブランドを強く打ち出したい場合、「Brand」を利用すると、自社ブランドと製品・サービスとの関係を検索エンジンに明確に示せる。ブランド名、ロゴ、関連する商品カテゴリなどを定義し、ブランド検索時に適切な情報が表示されるよう調整できる。
参考コード例(Brand)
1 2 3 4 5 6 7 8 9 | <script type="application/ld+json">{ "@context":"https://schema.org", "@type":"Brand", "name":"ブランドオーガニック", "url":"https://example.com/brand", "logo":"https://example.com/brand-logo.png", "description":"高品質なオーガニック食品をお届けするブランド" } </script> |
商品「Product」とレビュー「Review / Rating / AggregateRating」の組み合わせは、ECサイトやD2Cサイトで代表的な使い方である。
商品情報(価格、在庫、商品画像など)に加え、顧客レビューを「AggregateRating」などでマークアップすると、検索結果に星評価やレビュー数が表示されやすくなり、クリック率向上が期待できる。
参考コード例(Product + AggregateRating)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <script type="application/ld+json">{ "@context": "https://schema.org/", "@type": "Product", "name": "高性能イヤホン", "image": "https://example.com/images/earphone.jpg", "description": "クリアな音質と長時間使用に適したイヤホン", "brand": "サウンドメーカーX", "offers": { "@type": "Offer", "price": "9800", "priceCurrency": "JPY", "availability": "https://schema.org/InStock" }, "aggregateRating": { "@type": "AggregateRating", "ratingValue": "4.5", "reviewCount": "123" } } </script> |
BtoB企業が提供するコンサルティングサービスやSaaS、BtoC企業が提供する修理サービスやコーチングサービスなどは、「Service」が適している。サービス名称、提供範囲、料金(目安)、対象顧客などを検索エンジンに正確に伝えられる。
参考コード例(Service)
1 2 3 4 5 6 7 8 9 10 11 | <script type="application/ld+json">{ "@context": "https://schema.org/", "@type": "Service", "name": "カスタマーサポートサービス", "description": "製品導入後のテクニカルサポートを提供します。", "provider": { "@type": "Organization", "name": "株式会社サンプル" } } </script> |
SaaS型サービスなどを提供するBtoB企業は、自社製品を「SoftwareApplication」で定義すると、機能や対応プラットフォームなどが明示され、より適切な検索表示が狙える。
参考コード例(SoftwareApplication)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <script type="application/ld+json">{ "@context": "https://schema.org", "@type": "SoftwareApplication", "name": "プロジェクト管理ツールX", "operatingSystem": "Windows, macOS, Linux", "applicationCategory": "BusinessApplication", "offers": { "@type": "Offer", "price": "5000", "priceCurrency": "JPY" } } </script> |
よくある質問を「FAQPage」で構造化すると、検索結果で折りたたみ表示され、ユーザーがすばやく情報を得られる。BtoB、BtoC問わず、自社製品・サービスの理解を助け、顧客満足度向上に寄与する。
参考コード例(FAQPage)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <script type="application/ld+json">{ "@context": "https://schema.org/", "@type": "FAQPage", "mainEntity": [{ "@type": "Question", "name": "製品Xの返品は可能ですか?", "acceptedAnswer": { "@type": "Answer", "text": "商品到着後7日以内の未使用品は返品可能です。" } }] } </script> |
BtoBオウンドメディアのナレッジベース記事や、BtoCブランドが発信するブログ記事、企業が発信する最新ニュースなどは「Article」や「BlogPosting」「NewsArticle」で構造化する。著者・公開日・アイキャッチ画像などを明示すれば、検索結果で記事のサムネイルや公開日が表示されやすくなり、コンテンツマーケティング効果が高まる。
参考コード例(BlogPosting)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <script type="application/ld+json">{ "@context": "https://schema.org", "@type": "BlogPosting", "headline": "高品質イヤホンを最大活用するための5つのヒント", "image": "https://example.com/images/blog-post.jpg", "author": "鈴木太郎", "datePublished": "2025-01-01", "publisher": { "@type": "Organization", "name": "株式会社サンプル", "logo": { "@type": "ImageObject", "url": "https://example.com/logo.png" } } } </script> |
※Article / BlogPosting / NewsArticle の使い分けは、以下のとおりだ。
「HowTo」を使えば、手順を明確に示したガイド記事が検索結果で手順ごとにステップ表示されやすい。BtoBの場合はソフトウェアの設定手順、D2Cブランドなら製品ケア方法や活用術など、ユーザーが「やり方」を探しているシチュエーションが有効である。
参考コード例(HowTo)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <script type="application/ld+json">{ "@context": "https://schema.org/", "@type": "HowTo", "name": "製品Xのセットアップ方法", "step": [ { "@type": "HowToStep", "name": "箱を開ける", "itemListElement": "製品本体を取り出す" }, { "@type": "HowToStep", "name": "電源ケーブルを接続", "itemListElement": "付属のケーブルを本体とコンセントに差し込む" } ] } </script> |
レシピ関連サイトでは、「Recipe」を活用して、リッチリザルト表示を実現できる。食品やキッチン用品を扱うD2Cブランドのオウンドメディアで、顧客が実用的な調理法を探している場合など有効である。
参考コード例(Recipe)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <script type="application/ld+json">{ "@context": "https://schema.org/", "@type": "Recipe", "name": "特製パスタ", "image": "https://example.com/images/pasta.jpg", "description": "当社オリジナルパスタソースを使った簡単レシピ。", "recipeIngredient": [ "パスタ200g", "オリジナルソース100g", "オリーブオイル大さじ1" ], "cookTime": "PT15M", "recipeInstructions": "茹でたパスタにソースを和えて完成。" } </script> |
動画コンテンツを「VideoObject」で構造化すると、検索結果上で動画サムネイルが表示されやすくなる。BtoBの解説動画やBtoC製品の使い方動画、D2Cのブランドストーリー動画など、映像コンテンツの視認性が向上する。
参考コード例(VideoObject)
1 2 3 4 5 6 7 8 9 10 11 | <script type="application/ld+json">{ "@context": "https://schema.org/", "@type": "VideoObject", "name": "製品X デモ動画", "description": "製品Xの使い方を紹介する短尺動画。", "thumbnailUrl": "https://example.com/video-thumbnail.jpg", "uploadDate": "2025-03-15", "contentUrl": "https://example.com/video.mp4" } </script> |
特定の地域で実店舗を構えるBtoC企業や士業、飲食店や美容サロンなどは、「LocalBusiness」を活用して、営業時間、所在地、電話番号などを明示できる。ローカル検索結果での露出向上に役立ち、地図上での情報表示やナレッジパネルでの情報強化にもつながる。
参考コード例(LocalBusiness)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <script type="application/ld+json">{ "@context": "https://schema.org", "@type": "LocalBusiness", "name": "サンプルカフェ", "image": "https://example.com/cafe.jpg", "address": { "@type": "PostalAddress", "streetAddress": "神南1-1-1 グリーンビル3F", "addressLocality": "渋谷区", "addressRegion": "東京都", "postalCode": "150-0001", "addressCountry": "JP" }, "telephone": "+81-3-9876-5432", "openingHours": "Mo-Su 09:00-19:00" } </script> |
企業が自社採用ページで求人を出す場合、「JobPosting」を利用すると、Google for Jobsなどの求人検索結果に掲載されやすくなる。求職者に対して自社求人が目立つ形で表示され、採用活動を効率化できる。
参考コード例(JobPosting)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <script type="application/ld+json">{ "@context": "https://schema.org", "@type": "JobPosting", "title": "営業マネジャー", "description": "新規顧客開拓、既存顧客フォローを担当。", "datePosted": "2025-04-20", "hiringOrganization": { "@type": "Organization", "name": "株式会社サンプル", "sameAs": "https://example.com" }, "jobLocation": { "@type": "Place", "address": { "@type": "PostalAddress", "streetAddress": "一番町1-2-3", "addressLocality": "千代田区", "addressRegion": "東京都", "postalCode": "102-0082", "addressCountry": "JP" } } } </script> |
企業のオウンドメディアなどがカテゴリ構造を持つ場合、パンくずリストを「BreadcrumbList」で構造化すると、検索結果で階層的なURL表示がなされ、ユーザーがサイト内の構造を理解しやすくなる。BtoBの専門情報メディアやBtoCのECサイトなど、複雑なコンテンツ階層を持つ場合にとくに有効である。
参考コード例(BreadcrumbList)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <script type="application/ld+json">{ "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{ "@type": "ListItem", "position": 1, "item": { "@id": "https://example.com", "name": "ホーム" } },{ "@type": "ListItem", "position": 2, "item": { "@id": "https://example.com/products", "name": "製品一覧" } },{ "@type": "ListItem", "position": 3, "item": { "@id": "https://example.com/products/earphone", "name": "高性能イヤホン" } }] } </script> |
***
以上、13個のサンプルコードを紹介した。コード例を見ながら、より具体的なイメージをつかめたのではないだろうか。次はあなたのサイトに合ったスキーマを探してみよう。
また補足として、ECサイトやパンくずリスト、ブログ記事などにまつわる構造化データは、システム側で動的に実装されているケースも多い。
手作業で構造化データを実装する前に、自サイトのシステム面がどうなっているか、確認しておこう。
最後に、初心者がつまずきやすい3つのポイントと、その対処法を解説する。
1つめは「英語の公式ドキュメントが多くて戸惑う」である。
構造化データに関する最新かつ正確な情報は、英語で提供されていることが多い。たとえば、Schema.orgは英語で書かれており、Google検索セントラルの詳細なガイドやSchema.orgの定義ページも英語が基本だ。
英語が苦手な初心者は「どのページを読めばいいのか」「どこが重要なのか」がわからず、戸惑いがちである。
【対処法】
補足として、公式以外で情報が充実しているサイトとして、構造化データの有料ツールを提供している「Schema App」のオウンドメディアがある。高度な運用ノウハウが無料で公開されているため、覚えておくとよいだろう。
2つめは「スキーマのどのプロパティを使えばいいかわからない」である。
Schema.orgには非常に多くのタイプとプロパティが定義されている。初心者は「このタイプには必須項目がどれ?」「推奨項目はどれ?」といったポイントで混乱しやすい。
【対処法】
3つめは「構造化データを入れてもすぐに変化が見えない」である。
構造化データを実装してすぐ、検索結果にリッチリザルトが表示されたり、検索順位が上がったりすることを期待してしまいがちだ。
しかし、現実には、Googleがページを再クロールしてデータを反映するまでに時間がかかったり、構造化データが正しく処理されてもかならずしもリッチリザルトが表示されなかったりする。
【対処法】
***
これらの対処法を参考にしながら不安や戸惑いを減らし、よりスムーズに構造化データを活用できるようになっていただければ幸いだ。焦らずに段階的なステップを踏んでいこう。
本記事では「構造化データとSEO」をテーマに解説した。要点をまとめておこう。
最初に構造化データの基礎知識として、以下を解説した。
初心者向けの導入手順は以下のとおりだ。
初心者がつまずきやすいポイントと対処法として、以下をお伝えした。
構造化データは、長期的なSEO対策として有効であり、検索結果での目立ち方が変わってくる。ぜひ本記事を参考に、一歩ずつチャレンジしてみてほしい。
広告に頼り切ったマーケティングの打開策としてコンテンツマーケティングについて調べているけれど、よく分からないと悩んでいませんか?
本書は弊社やクライアント様がコンテンツマーケティングに取り組み
など、コンテンツマーケティングの効果と、具体的な施策内容を全94ページに渡って詳細に解説しているものです。
ぜひ、貴社のWEBマーケティングにもご活用ください。