BLOG /

構造化データ導入とは?検索結果の見え方が変わる仕組みを解説

構造化データ(JSON-LD)を追加すると検索結果の表示がなぜ変わるのか、仕組みから実装手順、よくある設定ミスまでを整理。自社サイトへの導入を自分で判断できるようになる。

構造化データを足したのに検索結果が変わらないケースはめずらしくない。おもな原因は次の通りだ。

  • 文法エラー。カンマの過不足や引用符の閉じ忘れなど、JSON自体がこわれている
  • @typeの指定ミス。存在しないスキーマ名や、意味のちがうスキーマを使っている
  • 記載内容とページ表示の不一致。JSON-LD内の価格と、実際にページに出ている価格がちがう
  • 対象外のページへの適用。FAQPageなど、使える条件が限られているスキーマを条件外のページに使っている

確認の手順はシンプルだ。まずJSON部分をコードとして貼り付け、構文エラーがないかを確かめる。次に、検索エンジンが用意している構造化データのテストツールにURLを入れる。認識されているスキーマの種類とエラー内容がわかる。エラーがなければ、あとは検索エンジン側のインデックス更新を待つことになる。


上記が修正済みの該当段落です。以下、原稿全体を反映した完全版です。

検索結果に星マークやパンくずリストが並ぶページを見たことはないだろうか。中身はふつうのブログ記事なのに、見た目だけが目立っている。あの正体が構造化データ、通称JSON-LDだ。ページの文章そのものは変えず、検索エンジンに向けて「ここは商品名」「ここは評価」と意味を伝えるしくみである。導入自体はむずかしくないが、書き方をまちがえると何も起こらない。しくみから実装手順、反映されないときの確認方法まで順に整理する。

構造化データとは何か、検索エンジンは何を読み取っているか

検索エンジンのクローラーは、人間と同じようにページを「読んで」いるわけではない。HTMLの文字列を機械的に解析し、見出しやリンク、テキストのかたまりとして認識している。ただ「この数字が価格なのか、電話番号なのか」までは、文脈だけでは判断しづらい。

そこで使われるのが構造化データだ。schema.orgという共通の語彙集にそって、ページの要素に意味のラベルを貼っていく。「これは商品名」「これは評価スコア」と示すことで、機械にも人間と同じような理解が生まれる。

書き方にはいくつか方式があるが、いま主流なのがJSON-LD形式だ。HTMLタグに直接埋めこむMicrodataとちがい、script要素の中にひとまとまりのデータとして書ける。ページの見た目やレイアウトに影響しないため、既存サイトへの追加もしやすい。

導入すると検索結果の見え方がどう変わるか(リッチリザルトのしくみ)

ふつうの検索結果は、青いタイトルと数行の説明文だけで構成される。構造化データを設定すると、星評価やパンくずリストが検索結果に加わることがある。これがリッチリザルトと呼ばれる表示だ。FAQの折りたたみ表示も、そのひとつである。

しくみは単純だ。検索エンジンはクロール時にJSON-LDを読み取り、実際の表示内容と一致しているかを確かめる。一致していれば、対応するリッチリザルトの候補として扱われる。

ただ候補になることと、実際に表示されることは別の話だ。どのリッチリザルトを、どのページに、どのタイミングで出すかは検索エンジン側のアルゴリズムが決める。同じ設定をしても、あるページには出て、別のページには出ないこともめずらしくない。

見た目が変わるということは、クリック率を左右する要素にもなりうる。ただ表示のされ方は、コンテンツの質や検索意図との一致度にも左右される。構造化データだけで結果を動かせるわけではない。

JSON-LDでの書き方と、優先して入れたい代表的なスキーマ

JSON-LDは、以下のような形式で書く。

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "会社名",
  "url": "https://example.com",
  "logo": "https://example.com/logo.png"
}

これをscript要素の中に置き、type属性をapplication/ld+jsonにする。head内でもbody内でも動くが、CMSによっては挿入できる場所が決まっている。事前に確かめておきたい。

優先して入れたいスキーマは、サイトの性質によって変わる。会社概要ページならOrganization、店舗があればLocalBusinessが基本形だ。記事ページはArticle、商品ページはProductとReviewの組み合わせが定番になる。パンくずリストを出したい場合はBreadcrumbListを使う。

いきなり全ページに複雑なスキーマを入れる必要はない。まずはトップページのOrganizationと、主要記事のArticleからはじめたい。動きを確かめながら、範囲を広げる進め方が現実的だ。

入れたのに反映されない、よくある設定ミスと確認手順

構造化データを足したのに検索結果が変わらないケースはめずらしくない。おもな原因は次の通りだ。

  • 文法エラー。カンマの過不足や引用符の閉じ忘れなど、JSON自体がこわれている
  • @typeの指定ミス。存在しないスキーマ名や、意味のちがうスキーマを使っている
  • 記載内容とページ表示の不一致。JSON-LD内の価格と、実際にページに出ている価格がちがう
  • 対象外のページへの適用。FAQPageなど、使える条件が限られているスキーマを条件外のページに使っている

確認の手順はシンプルだ。まずJSON部分をコードとして貼り付け、構文エラーがないかを確かめる。次に、検索エンジンが用意している構造化データのテストツールにURLを入れる。認識されているスキーマの種類とエラー内容がわかる。エラーがなければ、あとは検索エンジン側のインデックス更新を待つことになる。

導入前に知っておきたい注意点(反映は約束されていない)

ここまでしくみと手順を見てきたが、最後に前提を共有しておきたい。構造化データを正しく実装しても、リッチリザルトとして出るとはかぎらない。表示するかどうかは検索エンジン側の判断だ。サイト運営者がコントロールできる範囲には限りがある。

また、実際のページ内容と食いちがう情報を書きこむと、ガイドライン違反とみなされることがある。評価を実際より高く見せかけたり、在庫がない商品を「在庫あり」と書いたりする行為は、その典型だ。見た目をよくする目的で情報を盛ることは避けたい。

構造化データは、あくまで「ページの内容を正確に、機械にも伝わる形で示す」ためのしくみである。派手な表示をねらう小手先の施策ではない。コンテンツの正確さと質を土台にしたうえで使うものだと捉えたい。

星マークひとつの裏には、こうした地道な作業が積み重なっている。構造化データは地味だが、検索エンジンとの対話をていねいにする作業といえる。あなたのサイトでは、どのページから手をつけられそうだろうか。サイト全体の設計と合わせて優先順位を考えたい方は、サービス一覧から相談できる。関連するSEOの話題はブログでも取り上げている。