117
Microdata: A Primer masataka yakura

Microdata: A Primer

Embed Size (px)

DESCRIPTION

HTML5の拡張として用意されるMicrodataの入門用スライドです。2010年7月31日のSwapSkills vol.6で利用した資料です。GoogleのRich Snippetsについても言及しています。

Citation preview

Page 1: Microdata: A Primer

Microdata: A Primermasataka yakura

Page 3: Microdata: A Primer

Web標準Blogstandards.mitsue.co.jp

Page 4: Microdata: A Primer

トピック: Microdata

Page 5: Microdata: A Primer

1. Microdataとは?2. Microdataの書き方3. Rich Snippets

Page 6: Microdata: A Primer

Microdata?

Page 7: Microdata: A Primer

HTML Microdatawhatwg.org/html5#microdata

Page 8: Microdata: A Primer

機械処理しやすいように情報をマークアップする仕組み。

Page 9: Microdata: A Primer

Microformatsとの違い

Page 10: Microdata: A Primer

microformatsはclassやrelを使う。

Page 11: Microdata: A Primer

<div class=vcard>

<div class=hentry>

<a href=... rel=tag>

Page 12: Microdata: A Primer

Microdataは専用の属性を使う。

Page 13: Microdata: A Primer

<div itemscope>

<p itemprop=prop>

<div ... itemtype=“...”>

Page 14: Microdata: A Primer

Microformatsはフォーマットの集まり。

Page 15: Microdata: A Primer

hCard, hCalendar, hAtom,hReview, hRecipe, hProduct, etc...

Page 16: Microdata: A Primer

各フォーマットごとに固有の処理が必要になる。

Page 17: Microdata: A Primer

hCardの処理系を作ってもhCalendarには対応できない……

Page 18: Microdata: A Primer

Microdataは処理モデル。

Page 19: Microdata: A Primer

フォーマットによって処理が変わることはない。

Page 20: Microdata: A Primer

書き方を覚えてしまえばどのフォーマットも使える。

Page 21: Microdata: A Primer

DOM APIも用意されておりスクリプトからも扱いやすい。

Page 22: Microdata: A Primer

μfはタスクにフォーカス。Microdataは処理にフォーカス。

Page 23: Microdata: A Primer

Microdataを書く

Page 24: Microdata: A Primer

Microdata専用の属性は5つ。

Page 25: Microdata: A Primer

•itemscope•itemprop•itemtype

•itemref•itemid

Page 26: Microdata: A Primer

•itemscope•itemprop•itemtype

•itemref•itemid

Page 27: Microdata: A Primer

Microdataの核は「アイテム」

Page 28: Microdata: A Primer

アイテムを単位としてデータを記述していく。

Page 29: Microdata: A Primer

itemscope ― アイテムの宣言

Page 30: Microdata: A Primer

itemscopeがアイテムを定義する。

Page 31: Microdata: A Primer

<p> 矢倉といいます。

Page 32: Microdata: A Primer

<section itemscope><p> 矢倉といいます。</section>

Page 33: Microdata: A Primer

このアイテムにはまだデータがない。

Page 34: Microdata: A Primer

itemprop ― データを与える

Page 35: Microdata: A Primer

プロパティと値を与えてデータを表現する。

Page 36: Microdata: A Primer

<section itemscope><p> 矢倉といいます。</section>

Page 37: Microdata: A Primer

<section itemscope><p><span itemprop=name> 矢倉 </span>といいます。

</section>

Page 38: Microdata: A Primer

アイテムの「name」に「矢倉」という値が入る。

Page 39: Microdata: A Primer

基本的には要素の内容が値になる。

Page 40: Microdata: A Primer

リンクや画像、時間などは例外。

Page 41: Microdata: A Primer

<p> 1984年3月19日生まれです。うお座です。

Page 42: Microdata: A Primer

<p><time datetime=1984-03-19>1984年3月19日

</time> 生まれです。

Page 43: Microdata: A Primer

<time>の場合はdatetimeの値が使われる。

Page 44: Microdata: A Primer

<section itemscope><p><span itemprop=name> 矢倉 </span> ...

<p><time itemprop=bdaydatetime=1984-03-19> 1984年3月19日</time> 生まれです。うお座です。

</section>

Page 45: Microdata: A Primer

アイテムの「name」は「矢倉」「bday」は「1984-03-19」

Page 46: Microdata: A Primer

<a href=“http://twitter.com/myakura”>Follow me (@myakura)</a>

Page 47: Microdata: A Primer

<a>の場合はhrefの値が使われる。

Page 48: Microdata: A Primer

<a itemprop=twitterhref=“http://twitter.com/myakura”>Follow me (@myakura) </a>

Page 49: Microdata: A Primer

「twitter」は「http://twitter.com/myakura」

Page 50: Microdata: A Primer

複数のプロパティをスペースで区切って指定可能。

Page 51: Microdata: A Primer

<a itemprop=“weblog url”href=“http://....”> my blog </a>

Page 52: Microdata: A Primer

入れ子のアイテム

Page 53: Microdata: A Primer

アイテムを入れ子にして複雑なデータを表現できる。

Page 54: Microdata: A Primer

Q.「矢倉」ってなんて読む?

Page 55: Microdata: A Primer

A.「やくら」です。

Page 56: Microdata: A Primer

<p><ruby> 矢倉 <rt> やくら </rt> </ruby>といいます。

Page 57: Microdata: A Primer

<p><ruby itemscope><span itemprop=name> 矢倉 </span><rt itemprop=yomi> やくら </rt></ruby> といいます。

Page 58: Microdata: A Primer

itempropを持つ要素にitemscopeを与え入れ子にする。

Page 59: Microdata: A Primer

<div itemscope><p><ruby itemprop=name-ruby itemscope><span itemprop=name> 矢倉 </span><rt itemprop=yomi> やくら </rt></ruby> といいます。</div>

Page 60: Microdata: A Primer

nameとyomiは外側のアイテムに追加されない。

Page 61: Microdata: A Primer

<div itemscope><p><ruby itemprop=name-ruby itemscope><span itemprop=name> 矢倉 </span><rt itemprop=yomi> やくら </rt></ruby>といいます。</div>

Page 62: Microdata: A Primer

<item><prop id=“name-ruby”><item><prop id=“name”> 矢倉 </prop><prop id=“yomi”> やくら </prop>

</item></prop>

</item>

Page 63: Microdata: A Primer

itemtype ― フォーマット指定

Page 64: Microdata: A Primer

Microdataでは好きな名前をつけられる。

Page 65: Microdata: A Primer

既存のボキャブラリを使ってもよい。

Page 66: Microdata: A Primer

Microdata Vocabularieswhatwg.org/html5#mdvocabs

Page 67: Microdata: A Primer

Data-Vocabulary.orgwww.data-vocabulary.org

Page 68: Microdata: A Primer

itemtypeにボキャブラリのURLを指定する。

Page 69: Microdata: A Primer

<section itemscopeitemtype=“http://microformats.org/profile/hcard”><p><span itemprop=fn> 矢倉 </span>といいます。<p><time itemprop=bday datetime=1984-03-19>1984年3月19日</time> 生まれです。うお座です。<p><a itemprop=urlhref=“http://twitter.com/myakura”>Follow me (@myakura)</a>

</section>

Page 70: Microdata: A Primer

fn, bday, urlがhCardのものと認識される。

Page 71: Microdata: A Primer

itemref ― プロパティの参照

Page 72: Microdata: A Primer

スコープ外のプロパティにidを与え、それを取り込む。

Page 73: Microdata: A Primer

<section itemscope> <!-- 本のデータ --><h1 itemprop=title> HTML5&API入門 </h1><p itemprop=desc> 世界初のHTML5本。...</section>...<figure> <!-- 本の表紙 --><img src=cover.jpg ...></figure>

Page 74: Microdata: A Primer

<section itemscope><h1 itemprop=title> HTML5&API入門 </h1><p itemprop=desc> 世界初のHTML5本。...</section>...<figure><img src=cover.jpg ... itemprop=photo></figure>

Page 75: Microdata: A Primer

photoはスコープの外。アイテムに追加されない。

Page 76: Microdata: A Primer

<section itemscope><h1 itemprop=title> HTML5&API入門 </h1><p itemprop=desc> 世界初のHTML5本。...</section>...<figure><img src=cover.jpg ... itemprop=photo></figure>

Page 77: Microdata: A Primer

プロパティに idを与えitemrefから参照させる。

Page 78: Microdata: A Primer

<section itemscope itemref=cover><h1 itemprop=title> HTML5&API入門 </h1><p itemprop=desc> 世界初のHTML5本。...</section>...<figure><img ... id=cover itemprop=photo></figure>

Page 79: Microdata: A Primer

photoのデータがアイテムに追加される。

Page 80: Microdata: A Primer

itemid ― IDを与える

Page 81: Microdata: A Primer

グローバルなIDを与えられるボキャブラリで利用する。

Page 82: Microdata: A Primer

<article itemscope itemtype=“.../book”itemid="urn:isbn:978-4-8222-8422-0"><h1 itemprop=title> HTML5&API入門 </h1><p itemprop=desc> 世界初のHTML5本。...</article>

Page 83: Microdata: A Primer

Microdataの作成と確認

Page 84: Microdata: A Primer

HTML5 Microdata Templatesmicrodata.freebaseapps.com

Page 85: Microdata: A Primer
Page 86: Microdata: A Primer

Live Microdatafoolip.org/microdatajs/live/

Page 87: Microdata: A Primer
Page 88: Microdata: A Primer

JSON Outputで生成されるデータを確認できる。

Page 89: Microdata: A Primer
Page 90: Microdata: A Primer

型を指定していればvCard, iCalendarの出力もできる。

Page 91: Microdata: A Primer

Rich Snippets

Page 92: Microdata: A Primer

Googleが導入した検索結果表示の仕組み。

Page 93: Microdata: A Primer

検索結果のスニペット部分がちょっと目立つ(ことがある)。

Page 94: Microdata: A Primer

•レビュー•レシピ•イベント

•プロフィール•製品情報

Page 95: Microdata: A Primer
Page 96: Microdata: A Primer
Page 97: Microdata: A Primer
Page 98: Microdata: A Primer
Page 99: Microdata: A Primer
Page 100: Microdata: A Primer

構造化マークアップが検索結果に反映される。

Page 101: Microdata: A Primer

Microdata, RDFa,microformatsに対応。

Page 102: Microdata: A Primer

Rich Snippets andStructured Markupgoo.gl/ZVmq

Page 103: Microdata: A Primer

Rich Snippetsの紹介や各フォーマットの説明など。

Page 104: Microdata: A Primer

Rich SnippetsTesting Tool Beta

google.com/webmasters/tools/richsnippets

Page 105: Microdata: A Primer

Rich Snippetsの表示を確認するWebサービス。

Page 106: Microdata: A Primer
Page 107: Microdata: A Primer
Page 108: Microdata: A Primer

まとめ

Page 109: Microdata: A Primer

MicrodataはHTMLからデータを表現する仕組み。

Page 110: Microdata: A Primer

Microformatsと異なりまずデータの処理方法を定義。

Page 111: Microdata: A Primer

Microdataの核はアイテム。アイテムがデータを構成する。

Page 112: Microdata: A Primer

itemscopeでアイテムを定義しitempropでプロパティを与える。

Page 113: Microdata: A Primer

Microdataの導入例にRich Snippetsがある。

Page 114: Microdata: A Primer

ドキュメントやツールも提供されている。

Page 115: Microdata: A Primer

使えるので、使ってみよう!

Page 116: Microdata: A Primer

ありがとうございました。