Microdataは、長い間一部のブラウザーで実装されました。今日、Microdataは断念し、すべてのブラウザから削除され、そのため非推奨とされます。もはや使用することはできませんし、この文書は情報としてのみ保持されます。
概要
Microdataは、ウェブページ上の既存のコンテンツ内でメタデータをネストするために使用されるWHATWG HTML仕様です。[1] 検索エンジン、ウェブクローラー、そしてウェブブラウザーは、ウェブページからmicrodataを抽出して処理し、ユーザーによりリッチなブラウジング体験を提供するために使用することができます。検索エンジンは、ウェブページ上の情報を理解し、ユーザーにより関連性の高い結果を提供することを可能にするため、この構造化されたデータを直接利用できることから大きな利益を得ます。Microdataは、値をプロパティに割り当てるためにアイテムと名前-値ペアを記述するためのサポート語彙を使用します。Microdataは、RDFaやmicroformatsの同様のアプローチよりも機械可読なタグとともにHTML要素を注釈するより簡単な方法を提供する試みです。
W3C HTML Working Groupは仕様の編集者を見つけることができず、2013年に'Note'として開発を終了しました。
高水準では、Microdataは名前-値ペアのグループで構成されます。このグループはアイテムと呼ばれ、それぞれの名前-値ペアはプロパティとなります。アイテムとプロパティは標準の要素によって表されます。
- アイテムを作成するために、itemscope属性が使用されます。
- アイテムにプロパティを追加するために、itemprop属性がアイテムの子孫の1つで使用されます。
語彙
Googleや他のメジャーなサーチエンジンは、構造化されたデータSchema.orgをサポートします。この語彙は、タイプ名やプロパティ名の標準セットを定義します。たとえば、コンサートのキーとなる細部を明示するためにstartDateとlocationプロパティとともに、Schema.org Music Eventはコンサートを示します。 この場合、Schema.org Music EventはitemtypeとstartDateによって使用されるURLとなり、 locationはSchema.org Music Eventが定義するitempropになります。
注: itemtype属性の詳細は、https://schema.org/Thingで見つけることができます。
Microdata語彙は、アイテムのセマンティックスや意味を提供します。ウェブ開発者は、広く使用されるschema.org語彙のような、カスタム語彙を設計するまたはウェブで利用可能な語彙を使用することができます。一般的に使用されるマークアップ語彙のコレクションは、Schema.orgによって提供されます。
一般に使用される語彙:
- 創作:CreativeWork, Book, Movie, MusicRecording, Recipe, TVSeries
- 埋め込み非テキストオブジェクト:AudioObject, ImageObject, VideoObject
- Event
- 健康と医療タイプ:MedicalEntityの下の健康と医療タイプに注目する。
- Organization
- Person
- Place, LocalBusiness, Restaurant
- Product, Offer, AggregateOffer
- Review, AggregateRating
- Action
- Thing
- Intangible
Google、MicrosoftやYahoo!のような主要なサーチエンジンの管理者は、検索結果を改良するためにschema.orgを頼りにします。ある目的のためには、アドホックな語彙が適切です。他の目的には、語彙を設計する必要があります。可能であれば、著者は簡単にコンテンツを再利用できるように、既存の語彙を再利用することを勧めます。
ローカライゼーション
ある場合に、特定の領域をカバーする検索エンジンは、microdataの地域に固有な拡張を提供するかもしれません。例えば、ロシアのメジャーな検索エンジンであるYandexは、hCard(会社の連絡先情報)、hRecipe(料理のレシピ)、hReview(マーケットのレビュー)やhProduct(製品データ)のようなmicroformatをサポートし、用語の定義や百科事典の記事について独自フォーマットを提供します。この拡張は、キリル文字とラテン文字の間の文字変換の問題を解決するためになされました。スキーマ語彙の追加マーキングパラメータの実装により、ロシア語のウェブページにおける情報のインデックス化は、かなりの成功を収めました。
グローバル属性
itemid – 一意な、アイテムのグローバル識別子。
itemprop – アイテムにプロパティを追加するために用います。すべてのHTML要素は、itempropが名前と値のペアから構成する、itemprop属性を指定することができます。
itemref – itemscope
属性をもつ要素の子孫でないプロパティは、itemrefを用いてアイテムと関連付けることができます。itemrefは、要素のid(itemid
ではなく)のリストに文書の他の場所で追加のプロパティを提供します。
itemscope – itemscopeは、ブロックに含まれるHTMLが特定のアイテムであることを記述するためにitemtypeと共に(通常)動作します。itemscopeはアイテムを作成し、アイテムに関連付けられるitemtypeの範囲を定義します。itemtypeは、アイテムとアイテムのプロパティのコンテキストを説明する(schema.orgのような)語彙の妥当なURLとなります。
itemtype – データ構造でitempropの語彙(アイテムのプロパティ)を定義するために使用される語彙のURLを指定します。itemscopeは、itemtypeによって設定される語彙がアクティブとなるデータ構造の範囲を設定するために使用されます。
例
HTML
<div itemscope itemtype="https://schema.org/SoftwareApplication"> <span itemprop="name">Angry Birds</span> - REQUIRES <span itemprop="operatingSystem">ANDROID</span><br> <link itemprop="applicationCategory" href="https://schema.org/GameApplication"/> <div itemprop="aggregateRating" itemscope itemtype="https://schema.org/AggregateRating"> RATING: <span itemprop="ratingValue">4.6</span> ( <span itemprop="ratingCount">8864</span> ratings ) </div> <div itemprop="offers" itemscope itemtype="https://schema.org/Offer"> Price: $<span itemprop="price">1.00</span> <meta itemprop="priceCurrency" content="USD" /> </div> </div>
構造化されたデータ
itemscope | itemtype | SoftwareApplication (https://schema.org/SoftwareApplication) | |
itemprop | name | Angry Birds | |
itemprop | operatingSystem | ANDROID | |
itemprop | applicationCategory | GameApplication (https://schema.org/GameApplication) | |
itemscope | itemprop[itemtype] | aggregateRating [AggregateRating] | |
itemprop | ratingValue | 4.6 | |
itemprop | ratingCount | 8864 | |
itemscope | itemprop[itemtype] | offers [Offer] | |
itemprop | price | 1.00 | |
itemprop | priceCurrency | USD |
結果
注:HTMLからMicrodataを抽出するための便利なツールは、GoogleのStructured Data Testing Toolです。上に示したHTML上で試してみてください。