schema.orgに興味を持ちながらも、 schema.orgが採用したmicrodataって何というレベルだったりします。実は私、MicrodataとMicroformats、RDFaをよく混同するヘタレだったりするので、自分用にちょっとまとめてみました。非常に簡易でしかも正しいのかわからないまとめであることはあらかじめに申し上げておきます。
目次
■Microdata
HTML5で導入されたhtmlにメタデータを組み込む仕様で、以下のような感じでhtmlタグの中にitemtypeとかitempropなどの属性を埋め込んでメタデータを記述する。
<section itemscope itemtype="http://data-vocabulary.org/Person"> Hello, my name is <span itemprop="name">John Doe</span>, I am a <span itemprop="title">graduate research assistant</span> at the <span itemprop="affiliation">University of Dreams</span>. My friends call me <span itemprop="nickname">Johnny</span>. You can visit my homepage at <a href="http://www.JohnnyD.com" itemprop="url">www.JohnnyD.com</a>. <section itemprop="address" itemscope itemtype="http://data-vocabulary.org/Address"> I live at <span itemprop="street-address">1234 Peach Drive</span> <span itemprop="locality">Warner Robins</span> , <span itemprop="region">Georgia</span>. </section> </section>
from Microdata (HTML) – Wikipedia, the free encyclopedia
W3Cの仕様。
HTML Microdata
・http://dev.w3.org/html5/md/
WHATWGの仕様
・5 Microdata — HTML Standard
PublickeyさんがWHATWGの仕様の一部を日本語訳してくださっています。
・HTML5のドラフト仕様書からMicrodataの抄訳 - Publickey
同じくPublickeyさんのMicrodataの解説です。
・HTML5のMicrodataとは何か? - Publickey
■Microformats
以下のような感じでclass属性やrel属性を使用してメタデータを埋め込むのがmicroformats。
<div class="vevent"> <a class="url" href="http://www.web2con.com/">http://www.web2con.com/</a> <span class="summary">第13回図書館総合展</span>: <abbr class="dtstart" title="2011-11-09">11月9日</abbr>〜 <abbr class="dtend" title="2011-11-11">11日</abbr>、 <span class="location">パシフィコ横浜</span>にて。 </div>
以下のwikiにmicrofortsを用いた各種仕様の日本語訳が掲載されているが集約されている。
microformats wiki
http://microformats.org/wiki/Main_Page-ja
■RDFa
RDFをXHTMLに組み込む仕様。以下のような属性をhtmlタグに埋め込んで記述するものらしい。RDFについて余り詳しくないのでこれ以上はよくわからない。
about
content
datatype
typeof
property
rel
resource
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:biblio="http://example.org/" xmlns:dc="http://purl.org/dc/elements/1.1/" > <head> <title>Books by Marco Pierre White</title> </head> <body> I think White's book '<span about="urn:ISBN:0091808189" typeof="biblio:book" property="dc:title"> Canteen Cuisine </span>' is well worth getting since although it's quite advanced stuff, he makes it pretty easy to follow. You might also like <span about="urn:ISBN:1596913614" typeof="biblio:book" property="dc:description"> White's autobiography </span>. </body> </html>
W3CのRDFaの仕様。すでにW3C勧告。
RDFa in XHTML: Syntax and Processing
http://www.w3.org/TR/rdfa-syntax/
RDFa1.1ともそろそろのようです。
RDF Web Applications Working Group
http://www.w3.org/2010/02/rdfa/
■上の仕様でHTMLに埋め込まれたメタデータはどのように利用されているのか
Googleなどの検索エンジンではリッチスニペット(検索結果に表示される以下のようなもの)に生かさているようです。
・リッチ スニペット(microdata、microformats、RDFa) – ウェブマスター ツール ヘルプ
・グーグルがHTML5のMicrodataに早くも対応 - Publickey
リッチスニペットとは
リッチスニペットとはなんぞやということですが、検索結果の一覧に以下のように表示される星の数とか、商品だと価格であるとか人物だと肩書きとか、イベントだと開催日時とかです。
・商品
・人物
・レシピ
・イベント
自分で埋め込んだメタデータのリッチスニペット
GoogleのウェブマスターツールでGoogleがどのようにメタデータを収集しているのか、どのようにリッチスニペットに反映させているのかを確認することができます。
Webmaster Tools – Rich Snippets Testing Tool
http://www.google.com/webmasters/tools/richsnippets
例えば、全国花火大会 花火カレンダー2011(Walkerplus)(実はMicrodataが埋め込まれている)の「東京都の花火大会」の場合だと以下のようになります。
花火カレンダーはData-Vocabulary.orgの語彙を使用しているようです。schema.orgの語彙を使用しているメタデータはどうなんでしょうということで、えんじゅ新図書館の『今日の風、なに色? : 全盲で生まれたわが子が「天才少年ピアニスト」と呼ばれるまで』を試してみると、メタデータは収集しているようですが、まだリッチスニペットには反映されてないみたいです。
以下の記事でも同様の指摘がされていますが、
Google recommends Schema.org Microdata, but only supports the old Microformats – Springest Devblog
Googleのschema.org FAQで以下のような記述があります。
Why doesn’t the rich snippets testing tool show a preview of my search result snippet?
Currently, you can use the testing tool to see what information Google can extract from your pages. We’re working on updating the tool so you can see how content marked up with schema.org might appear in search results.
私が調べたものがたまたま反映されていないだけで、しばらくするとリッチスニペットのほうにも反映されるようになるんでしょうか。先日、以下のようなニュースも流れていました。遠からず反映されるのかなあ・・・。
Support for RDFa & schema.org Vocabulary in Google Rich Snippets – semanticweb.com
検索エンジンがリッチスニペットに生かすのはもちろんうれしいことですが、せっかく埋め込んだメタデータ、他にもどんどん活用されるといいですね。リッチスニペットだけではもったいない気がします。