Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】Structured Data in 2025: Schema Markup That Actually Wins Rich Results (With Real Laravel Examples)

2026年09月29日に「Dev.to」が公開したITニュース「Structured Data in 2025: Schema Markup That Actually Wins Rich Results (With Real Laravel Examples)」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

2025年の構造化データは、単に有効なだけでなく、Googleのリッチリザルト獲得には、推奨プロパティの完全な実装とページ内容との一致が必須となる。Laravelでのプログラム生成や多様なテストツールを活用し、正確で信頼性の高い構造化データが重要だ。

ITニュース解説

Webサイトの情報を検索エンジンに正しく理解させる技術として「構造化データ」がある。これは、ページに書かれたテキストや画像が何を表しているのかを、検索エンジンが直接的に解釈できる形式(JSON-LDと呼ばれることが多い)で記述するものだ。以前は、Webページに少し情報を追加すれば、検索結果で目立つ「リッチリザルト」を獲得できる時代もあった。しかし、2025年現在、Googleの検索エンジンは飛躍的に進化し、特にAI(人工知能)を活用した検索結果の要約や表示が増えたことで、構造化データの重要性はさらに高まっている。単に「文法的に正しい」データを提供するだけでは不十分で、Googleが本当に求めている「高品質な」データを提供しないと、リッチリザルトを獲得することが難しくなっているのだ。検索エンジンはより賢く、より選択的になったため、昔と同じやり方では通用しない。

多くの開発者が構造化データの実装でつまずくのは、構文エラーを見つけられないことではない。構文エラーはGoogleのリッチリザルトテストツールなどで簡単に検出できる。本当の問題は、提供されるデータが「不完全」であるか、あるいは「ページに表示されている内容と一致していない」ことにある。Googleの公式なガイドラインでは、「必須プロパティ」を満たせばリッチリザルトの対象になる可能性があるとされているが、「推奨プロパティ」までしっかり記述することで、検索結果での表示機会が格段に増える。例えば、ブログ記事に関する「Article」スキーマを考える。必須なのは見出し、画像、公開日だけだが、これだけでは「トップニュース」や「Google Discover」のような特別な枠に表示されるのは難しい。筆者の情報(有効な個人エンティティとして)、出版社情報(適切なロゴサイズと共に)、そして更新日時(記事の鮮度を示す)といった推奨プロパティを追加することで、初めてこれらの高度なリッチリザルトの対象となるのだ。これらを省略してもバリデーションエラーにはならないため、開発者は問題ないと見過ごしがちだが、実際にはリッチリザルトの競争から静かに除外されてしまう。 もう一つの大きな失敗は、構造化データがWebページに表示されている内容と食い違っている場合だ。Googleは構造化データの内容と、ユーザーが実際にWebページ上で目にする内容を厳しく照合している。例えば、商品スキーマで価格を記述したのに、その価格がWebページ上には表示されていない場合や、レビューの集計結果がページ上の星評価と異なっている場合、Googleはその構造化データを無視するか、最悪の場合「操作的な試み」と判断してペナルティを課す可能性もある。常に、ユーザーが見る情報と構造化データが一致していることが重要だ。

2025年に特に注力すべき構造化データタイプがいくつかある。 まず「Article / BlogPosting」は、コンテンツ中心のWebサイトには不可欠だ。「BlogPosting」は「Article」のサブタイプで、ブログコンテンツであることを検索エンジンに明確に伝える。重要な推奨プロパティとしては、見出し、画像、公開日、更新日、著者情報、出版社情報、記事の簡潔な要約(meta descriptionと一致させる)が挙げられる。画像は、Googleが文脈に応じて最適なものを選択できるよう、1:1、4:3、16:9といった異なるアスペクト比で複数提供することが推奨される。 「FAQPage」スキーマは、デスクトップ検索結果で展開可能なリッチリザルトを生み出し、AIによる直接的な回答にも利用される。ただし、質問と回答はWebページ上に明確に表示されている必要がある。データベースからFAQスキーマを生成する際も、必ずその内容がHTMLとしてレンダリングされていることを確認しなければならない。 「Product with Offer and AggregateRating」はECサイトにとって商業的に非常に重要だ。商品提供情報(Offer)に価格と通貨、在庫状況が正確に記述されていないと、Googleショッピングの機能で優先的に扱われなくなる。また、レビューの集計情報(AggregateRating)には、評価値とレビュー数の両方が必要であり、これらもWebページに表示されている実際の情報と一致していなければならない。

静的なWebページであればHTMLに直接JSON-LDを記述しても問題ないが、ブログや商品ページのように大量の動的コンテンツを扱うサイトでは、プログラムを使って構造化データを生成する方が効率的だ。Laravelアプリケーションでは、専用のサービス(Service)クラスを作成し、そこでJSON-LDを構築するのが良い方法だ。 例えば、「SchemaBuilder」というクラスを作成し、その中にblogPostingやfaqPageといったメソッドを用意する。これらのメソッドは、記事データやFAQの質問リストなどを受け取り、適切な形式のJSON-LD文字列を生成して返す。これにより、構造化データの生成ロジックがアプリケーションの他の部分から分離され、再利用しやすく、保守も容易になる。 実際のコードでは、$data['title']のような形でデータベースから取得したコンテンツをスキーマの各プロパティにマッピングしていく。画像のURL、公開日、更新日は適切な形式(ISO 8601形式)に変換して渡す必要がある。出版社情報には、アプリケーションの設定からサイト名やロゴのURLを自動的に埋め込むことができる。 この生成されたJSON-LDは、Bladeテンプレート内で@push('schema')ディレクティブを使ってHTMLの<head>セクションなどに埋め込む。このアプローチは、スキーマ生成ロジックを独立させ、単体テストを記述して、必須プロパティが常に存在するかどうかを検証できるという大きなメリットがある。これにより、本番環境にデプロイされる前に潜在的な問題を特定できる。

GoogleのRich Results Testツールは、構造化データが文法的に正しいかを教えてくれるが、それが実際にリッチリザルトとして表示される「資格」があるかどうかまでは判断してくれない。そのため、検証はこれだけでは終わらせない方が良い。 「Google Search Console」のリッチリザルトレポートは、実際にWebサイトのリッチリザルトがどれくらいのインプレッションやクリックを獲得しているか、そして重要なことに、Rich Results Testでは見逃されがちな警告(例えば、コンテンツが薄いページでのスキーマ検出)を報告してくれる「真の基準」となる。 「Schema Markup Validator (validator.schema.org)」は、Googleのツールよりも厳密な適合性チェックを行い、型不一致などの問題を検出することが多い。 また、数百、数千ものページを持つWebサイトの場合、「Screaming Frog」のようなサイトクローラーツールを活用すると便利だ。これはサイト全体の構造化データを一度に監査し、一貫性をプログラム的に検証するのに役立つ。 さらに進んだアプローチとしては、CI/CD(継続的インテグレーション/継続的デリバリー)パイプラインに構造化データの自動監査を組み込むことが推奨される。WebページのレンダリングされたHTMLを解析し、主要なページタイプで特定のスキーマが存在するかどうかをアサートするテストを自動化することで、定期的な手動チェックなしに品質を維持できる。

構造化データは単に個々のページを説明するだけでなく、Googleが「エンティティグラフ」(世界中の実体とその関係性を記述する知識ベース)を構築するのに貢献する。これは、検索エンジンがあなたのサイトの著者や組織を、他の情報源と関連付けて正しく理解するために非常に重要だ。「sameAs」プロパティを構造化データに含めることで、著者のエンティティをLinkedInやWikipediaの検証済みプロフィールに、組織のエンティティをWikidataやCrunchbaseのような公的なデータベースにリンクできる。これにより、Googleはあなたのコンテンツが信頼できる実体によって作成・公開されたものであると判断しやすくなり、AIが生成する検索要約においても、あなたのコンテンツがより適切に属性付けされる可能性が高まる。これは特に、地域ビジネスや競争の激しい市場において、検索結果での可視性を高める上で非常に有効な戦略となる。

正しく実装された構造化データは、Webサイトの「発見可能性」を高めるための重要なインフラ投資である。その実装自体にかかる労力はそれほど大きくないが、提供するデータが常に正確で、完全で、Webページ上のコンテンツと一致しているという規律を維持することが、多くのプロジェクトで課題となる。まずはLaravelのようなフレームワークでスキーマ生成のためのサービス(Service)クラスを導入し、必須プロパティの完全性を保証するテストを記述することから始めるべきだ。そして、Google Search Consoleのリッチリザルトレポートを毎週監視し、Webサイトのコンテンツモデルが変更される際には、構造化データも同時に更新する「第一級の関心事」として扱うことが重要である。これらの努力によって得られる検索結果での目立つ表示(SERP real estate)は、実質的に無料の広告スペースであり、検索エンジンがあなたの提供する情報を信頼してこそ、その恩恵を最大限に享受できるのだ。

関連コンテンツ

関連IT用語