みなさんは、構造化データというものを聞いたことがありますか? 簡単に言えば、検索エンジンにサイトの情報を分かりやすく伝える方法です。
Googleで検索してみると、こんな感じで表示されるものが、それに当たります。
拡張された検索結果を、リッチ スニペットと言います。 どうしたら、このように表示させることができるのでしょうか?
データ ハイライターとマークアップ
リッチ スニペットを表示させるためには、以下の方法があります。
- マークアップを追加して、構造化データを認識させる
- データ ハイライターを使用する
マークアップを追加して、構造化データを認識させる
サイトのHTMLを編集できれば、構造化データのマークアップを追加することで、リッチ スニペットを利用することができます。
マークアップの形式は、3つあります。
Googleが、microdataを推奨しているので、新しくマークアップするのであれば、microdataで行えば良いでしょう。
- microdata
- microformats
- RDFa
また、支援ツールを使用すれば、簡単にマークアップを生成できます。
また、BingやYahoo!でも、リッチ スニペットを利用することができますが、認識に差があります。
データ ハイライターを使用する
Google ウェブマスター ツールのデータ ハイライターを使えば、簡単に設定することができますが、Googleでしか利用できません。
schema.orgとは?
構造化データを調べていると出てくるschema.orgとは、いったい何でしょうか?
schema.orgでは、構造化データを共通のマークアップするための仕様を、策定しています。
Google、Microsoft、Yahoo!が共同で進めているものなので、この仕様に準じたマークアップがスタンダードとなりそうです。
検索エンジンごとに、違う仕様にならないようにする取り組み、ということですね。
schema.orgでmicrodataのマークアップをする
microdataでは、3つの要素を使って、マークアップします。 その属性をschema.orgで決められたものにします。
itemscope | microdataを使っているという宣言になります。 |
---|---|
itemtype | どのアイテムなのかを設定します |
itemprop | アイテムの詳細を設定します。 |
試しにPersonという要素でやってみます。
<div itemscope itemtype="http://schema.org/Person"> <p><a itemprop="url" href="http://localhost.tukumemo.com:8080/about/"><span itemprop="name">もりさん</span></a></p> <p><img itemprop="image" src="..." alt="morisan"></p> <p>職業:<span itemprop="jobTitle">フロントエンドエンジニア</span></p> <div itemprop="description"> <p>フロントエンドエンジニアのような仕事をしています。</p> </div> </div>
http://schema.org/Personを見ながらやってみましたが、itempropが多くて分かりにくいです。
また、属性によっては、入れ子で使うものがあったりします。
決まったカテゴリしかありませんが、当てはまるのならツールを使うほうが楽かもしれません。
パンくずリストのマークアップ
パンくずに関しては、仕様が少し違うようで、Googleでは、schema.orgのパンくずに未対応だそうです。
サポートが近いという話がありますが、今のところは、data-vocabulary.orgにしておきましょう。
リッチ スニペット – パンくずリスト – ウェブマスター ツール ヘルプ
現段階では、ウェブマスター ツールのヘルプのパンくずリストもdata-vocabulary.orgを使用しています。
<ul> <li itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="..." itemprop="url"><span itemprop="title">ウェブマスター ツール</span></a></li> <li itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="..." itemprop="url"><span title="ヘルプ" itemprop="title">ヘルプ</span></a></li> <li itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a href="..." itemprop="url"><span title="構造化データを使用して検索結果にリッチ スニペットを表示する" itemprop="title">構造化データを使用して検索結果にリッチ スニペットを表示する</span></a></li> <li itemscope itemtype="http://data-vocabulary.org/Breadcrumb"><a itemprop="url"><span title="構造化データのタイプ" itemprop="title">構造化データのタイプ</span></a></li> </ul>
ソースは、見やすいように、編集しています。
感想など
マークアップを頑張ってきましたが、実際に反映されるリッチ スニペットは、少ないです。 パンくず、レシピ、レビュー系、イベント以外は、見かけないです。
というわけで、今のところ、苦労のわりに見返りが少ない気がします。
SEOブログのソースを見ると、それぞれマークアップされていますが、アプローチが少し違います。
そんな感じなので、リッチ スニペットのマークアップをしたくてもitemtypeやitempropなどどうしたら良いのか、悩みます。
パンくずは表示されるので、マークアップを行った方が良さそうです。 WordPressでは、Breadcrumb NavXTというプラグインでもできるみたいです。 (ツクメモにはパンくずがありませんが…)
あとは、ECサイトのようなProductがあるサイトでは、頑張っても良いかもしれません。 (報われるかどうかは、分かりませんが…)
おまけのマークアップ
ブログのマークアップに、参考になりそうなサイトのソースを3つほど見てみました。こんな感じです。
<div itemscope itemtype="http://schema.org/BlogPosting"> <article> <header> <h1 itemprop="name">記事名</h1> <p itemprop="description">説明文</p> <meta itemprop="url" content="..." /> </header> <dl> <dt>公開日</dt> <dd><time itemprop="datePublished" datetime="000-00-00T00:00:00+09:00">0000年0000 00時00分</time></dd> </dl> <div itemprop="articleBody"> ... </div> </article> </div>
<div itemscope itemtype="http://schema.org/Article"> <meta itemprop="author editor" content="もりさん"> <h2 itemprop="headline name"><a href="..." itemprop="url">記事名</a></h2> <meta itemprop="description" content="説明文"> <div itemprop="articleBody"> <p itemprop="datePublished" content="0000-00-00">0000年00月00日</p> <img itemprop="image" src="..." alt=""> ... </div> </div>
<html itemscope itemtype="http://schema.org/WebPage"> <meta itemprop="name" content="サイト名" /> <meta itemprop="description" content="説明文" /> <meta itemprop="image" content="..." />
しっかりテストはしてくださいね。
構造化データ テストツール – ウェブマスター ツール ヘルプ
そんな感じで、またね!
コメント