ブログ

初心者向け! 構造化データの解説~セマンティックウェブの理念から実装まで~

Googleがリッチスニペットによる検索結果の修飾を始めたのは、2009年5月のことです。

本記事では、およそ七年にわたりリッチスニペットの表示に役立てられている構造化データについて、どのような背景を持つ概念なのか、どのように記述すればいいのかを説明致します。

この記事の目次

構造化データとは

構造化データはなにもリッチスニペットのためだけのものではなく、本来「機械の可読性を高めよう」、という目的で利用されていた概念です。

私たち人間が言葉を読み解くときには、前後の文脈や添えられた図画を参照して意味を類推することが出来ますが、機械であるクローラにとって、そうした理解の仕方は難しいことです。

「サンドイッチ」とつづられているテキストを見たとき、その「サンドイッチ」が指すものが地名なのか人名なのか、あるいは料理なのかはクローラには判然としません。

そこで、クローラにきちんと「サンドイッチ」の意味するところを伝えるために、データをわかりやすい形式にしてあげる必要が生まれます。

決まりに則ってデータを記述し、最適な形に修飾し参照させることで、クローラがデータの持つ「意味」を正確に理解出来るようになるのです。

このクローラのために最適化されたデータこそが「構造化データ」です。

セマンティックウェブの説明

たとえば料理のレシピが載っているページから「野菜」だけを取り出したい場合には、どうすれば良いでしょうか?

まず「野菜」のリストを持ち、HTMLを分割して、一つ一つをリストと照らし合わせて……というふうに、普通の人ではまずもって難しい、技術的なやり方が必要となってきます。

キャベツを例に取ると、「植物」、「食べられるもの」、「野菜」……というように様々な「在り方」(私たちの認識の仕方、と言い変えることも出来ます)を持っていますが、生のデータ上では、「キャベツ」という言葉は幾バイトの文字列であるという以外の情報を持っていないため、私たちは「在り方」からキャベツに触れることは、大変難しいことになってしまうのです。

こうした「在り方」「私たちの認識の仕方」のことをオントロジーと呼び、これを文字列でしかないデータに括りつけて記述することで、「在り方」から対象にアプローチ出来るようにしよう、というのがW3Cが提唱したセマンティックウェブの目的の一部です。

そうした記述の仕方によってクローラの可読性が高まり、正しくデータを取得出来るようになれば、私たちもクローラを通して、柔軟にデータにアクセス出来るようになります。
機械の可読性を高めることは、私たちのためにもなるのです。

このデータ上の記述と私たちの認識をすり合わせることで「機械が私たちと同じようにデータに接触出来るような環境を整えよう」というのが、セマンティックウェブの構想であり、あらかじめメタデータ(データに付随するデータ)の形で「意味」を書き記すことによって、セマンティックなウェブを実現しよう、という構想の下で作られたのが構造化データなのです。

構造化データの記述

ひとくちに「クローラにわかりやすく記述する」といっても、どのように書けば良いのでしょうか。

たとえばサンドイッチをわかりやすく書こうとしたときには、

サンドイッチ(これはサンドイッチ伯爵のことでもケント州サンドイッチ地方のことでもなくて食べ物のサンドイッチです!)
※食べ物※サンドイッチ※たべもの※ 
サンドイッチ 
……

というように、百人いれば百通りの書き方があることでしょう。

ですが、独自の書き方ではクローラは認識出来ません。

そのため、クローラーが認識しやすいよう、誰が書いても同じような書き方になるように、統一された規格が用意されています。

ボキャブラリーとシンタックス

構造化データをしっかり書き記すために用意されているのが「ボキャブラリー」「シンタックス」の二軸の概念です。

※ボキャブラリーとは
ボキャブラリーとはクローラ構造化データを認識するための鍵、分類で、「地名」「人名」「食べ物」……といったような、「在り方」そのもののことです。
ウェブ上にはschema.orgやData-Vocabulary.orgといったボキャブラリーのリストがあり(このリストをボキャブラリーと呼ぶこともあります)、これを参照して記述することで、データに在り方を紐付けることが出来ます。

※シンタックスとは
シンタックスとはクローラ構造化データを渡すための書き方のことです。
MicroDataやJSON-LDといった書き方が用意されていて、このシンタックスに則ってボキャブラリーをデータに紐付けることで初めてデータの構造化が可能になります。

実際の書き方

概念的な説明をしたところで、実際に構造化データを実装してみることでボキャブラリーとシンタックスを説明致します。

Googleの構造化データテストツール(https://search.google.com/structured-data/testing-tool/u/0/?hl=ja)のスクリーンショットを交えて解説致します。

MicroDataによる記述

まず、MicroDataによる構造化データの実装について説明致します。

MicroDataによる記述は既存のHTMLのタグ内にメタデータを追記する形で行います。


microdata構造化テストツール

MicroDataにおいては、

itemscope
itemtype
itemprop
の3つの要素を用いて構造化データを記述していきます。

※itemscopeとは
<div itemscope>~</div> というように、itemscopeを付記した任意のタグでHTMLを囲うことにより、「ここからここまでが構造化データです」と明確にクローラに伝えることが出来ます。

またitemscopeは入れ子構造にすることも可能で、この例ではOrganizationのitemtypeを使うことで「レシピの執筆者」を記述しています。

※itemtypeとは
いわゆるカテゴリのことで、「何についてのデータなのか」をここに書き記します。
itemscopeに内ボキャブラリーのURLを書き記すことによって、どこどこのボキャブラリーを使用する、と明示的に宣言する必要があり、
ここではサンドイッチのレシピについて記述しているので、schema.org内のRecipeのボキャブラリーを使用しています。

※itempropとは
属性、特性といった意味合いで、itemtypeで指定したカテゴリの中のどういった特性を持つものなのか、ということを記述します。
たとえばパンや野菜やハムなどはサンドイッチの材料なので、ingredientsプロパティで材料であることをしっかり記述する必要があります。

MicroDataによる記述ではタグに直接構造化のためのマークアップを書き込むので、テキストとボキャブラリーの対応が直感的でわかりやすいというメリットがあります。
しかしHTMLの構造を変えてしまうので、DOMの取り扱いに手間が生じたり、今回のように材料が複数ある場合は複数に分けて書かなければいけないといったデメリットもあります。

JSON-LDによる記述

次に、JSON-LDによる構造化データの実装について説明致します。

JSON-LDによる記述はHTML構造とは全く関わりを持たず、任意の場所にJSON形式でつづる形で行います。


json_ld構造化テストツール

JSON-LD形式では@contextで使用するボキャブラリーのURLを指定し、@typeでカテゴリを指定します。

JSON-LD形式ではHTMLの構造を全く崩すことなく記述出来、配列の形にすることによって同じプロパティのものを一度に同時に記述出来る等のメリットがあります。

デメリットとしてはHTMLとは別に1から書くので労力がかかる、といった点があります。

どちらの方式を使用しても、正しく記述出来ていれば問題なくクローラ構造化データを認識します。

自分で構造化データを記述するのは難しい、といった方に向けて、構造化データマークアップ支援ツールといったものも公開されています。

https://www.google.com/webmasters/markup-helper/u/0/

まとめ

以上、構造化データについて説明致しました。

リッチスニペットの表示に必須の構造化データ

今後「クローラーが利用しやすいデータで作られたウェブ」が作り上げられていけば、リッチスニペット以外にも様々な利用の仕方が生まれることも考えられます。

クローラビリティを考えて、人にもクローラにも優しいウェブを作りましょう。





無料メルマガのご登録(無料)

SEOの最新情報を無料でお届けします!





プライバシーポリシー

監修者:笹本 雅人

記事一覧

SEOシニアコンサルタント

2013年株式会社ブレインネットに入社し、会社合併を経てサクラサクマーケティング株式会社に合流した後も現在に至るまでSEOコンサルタントとして大小問わず様々なクライアントの集客向上に貢献。

特にシステム開発がからむSEOを得意としているほか、自社メディアのブログの作成・監修を行い、数多くのキーワードで上位表示を達成している。



無料資料ダウンロード

サービス資料ダウンロード

用語集

ソースコード集

お役立ちリンク集

無料メルマガのご登録(無料)

SEOの最新情報を無料でお届けします!





プライバシーポリシー

お役立ちツール

カテゴリ一覧

タグクラウド

新着記事一覧

  1. インスタグラムの公式な投稿埋め込み方法がSEOに不向きな理由

    ブログやWebサイトだけでなく、インスタグラムやtwitterなどのSNSを運営していて、ブログ上でSNSの紹介や、逆にSNS上でブログの紹介をされる方も多いかと思います。 ブログ上でSNS投稿を紹介する場合、投稿埋め込 […]...

      1. サクラサクラボ9月のツイートまとめ

        当サイトのツイッターアカウント(@sakurasakulabo)のツイートから、9月のイベントを振り返ります。 ツイッターのフォローはこちらからお願いします。 Follow @sakurasakulabo 目次 9月の順 […]...

おすすめコンテンツ

  1. SEO対策(検索エンジン最適化)とは?初心者にもわかりやすく解説します

    SEO対策とは「検索エンジン最適化」のことで、数あるWeb集客手法の中でも、検索エンジンからの成果を最大化することです。基本的にはユーザーや検索エンジンからより評価されるように、WebサイトやWebページの変更・改修を続 […]...

    1. コンテンツマーケティングとは?特徴と事例、社内でできる方法を解説します

      ここ数年で急激にコンテンツマーケティングという言葉を聞くようになりました。しかし、「興味があるがまだ着手できていない」という人や、「そもそもどんなコンテンツを作ればいいのかわからない」、「社内で運用しているが成果がでない […]...

      1. SEOに強いコンテンツは回答性×網羅性×文字数×ユーザー体験

        目次 SEOに強いコンテンツとは回答性網羅性文字数ユーザー体験[回答性×網羅性×文字数×ユーザー体験]を考慮したSEOに強いコンテンツ制作お問い合わせフォーム SEOに強いコンテンツとは 検索エンジンで上位表示をさせるた […]...

最新情報を取得する

PAGE TOP