byリンク文書スキーマホームschema.orgを使いましょうウェブサイトを作っているほとんどの人がHTMLタグについてご存じでしょう。一般的に、HTMLタグはブラウザーに対してタグ内の情報をどのように提示するかを指示します。<h1>Avatar<h1>とすれば、ブラウザーは文字列Avatarを大見出しとして表示します。HTMLタグはこの文字列が何を意味するかについての情報は与えられません。Avatarは大ヒットした映画のことかもしれませんし、インターネット上のプロフィール画像のことを指すかもしれません。このために、検索エンジンが関連した内容を見つけるのが難しくなってしまうのです。Schema.orgは、ウェブサイトを、Google、Microsoft、Yahoo!などの巨大な検索エンジンでヒットさせるために使える用語集を提供するものです。formatを使用すれば、HTMLに情報を加えることができるようになります。長期的なゴールは様々なフォーマットを使えるようになることですが、まずはmicrodataから始めます。このガイドを読めば、ウェブサイトにマークアップを追加できるようになるはずです。人間であれば、ウェブサイト上の情報を読み理解することができます。検索エンジンはウェブ上で提示されている情報のうち限られた量しか理解できません。HTMLにタグを追加することによって、例えば、この情報はこの映画の、この場所の、この人の、このビデオのことを説明しているんだよと検索エンジンに伝えることによって、検索エンジンや他のアプリケーションが内容を理解し、関連のある情報を提示できるようになります。HTML5と共に登場したmicrodataを使えば、こういったことが可能になるのです。itemscopeとitemtype具体的な例から見ていきましょう。あなたは、映画Avatarについてのウェブページを持っているとします。そこには、映画のトレーラーへのリンクや、監督についての情報などが載っているでしょう。HTMLのコードは下記のようになります。href="../movies/avatar-theatrical-trailer.html">Trailer</a></div>まず、Avatarについて書いてあるセクションを指定しましょう。そのためには、itemscope要素を映画についての情報を含むHTMLタグに追加します。すると、下記のようになります。href="../movies/avatar-theatrical-trailer.html">Trailer</a></div>itemscopeを追加することによって、<div>と</div>の間にあるHTMLがある特定のものについての情報であると示すことになります。あるものについての情報があると分かっても、それが一体どのようなものなのかが分からなければ意味がありません。項目の種類を特定するには、itemscopeのすぐ後ろのところでitemtype属性を使用します。下記のようになります。href="../movies/avatar-theatrical-trailer.html">Trailer</a></div>こうすることによって、schema.orgの階層内で定義されているとおり、divの中にある項目は映画であると特定することができます。項目の種類はURLで表示されます。この例でいえば、http://schema.org/Movieの部分です。itemprop映画Avatarには、他にどのような情報を追加できるでしょう?映画には、俳優や監督、評価といったプロパティがあります。項目のプロパティをラベル付けするには、itemprop属性を使用します。映画の監督を指定するには、itemprop=”director”を監督の名前の情報を含む要素に追加します。(http://schema.org/Movieには映画に関連するプロパティの全リストが載っています。itemprop="trailer">Trailer</a></div><span>・・・</span>というタグがitemprop属性をテキストと結び付けるために使われていることに注目してください。<span>タグは、ウェブサイトがウェブブラウザー上にどのように表示されるかは変化させないので、itempropと共に使うには便利なHTML要素なのです。URLというだけでなく、ジェームズ・キャメロン監督のSF映画のトレーラーのURLだと分かるようになりました。埋め込み項目ある項目プロパティの値自体が、異なるプロパティを持った別の項目であることもあります。映画の監督を人という型であると特定することもできますが、人は名前や誕生日といったプロパティを持っています。あるプロパティの値が別の項目であると特定するためには、itempropのすぐ後で新しいitemscopeを使ってください。schema.orgの型とプロパティ全てのウェブサイトが映画や人に関してのものであるわけではありません。セクション1で説明した映画や人といった型に加え、schema.orgは様々な項目のタイプを説明しています。それぞれが項目を説明する独自のプロパティを持っています。大きな項目の型はThing(もの)です。Thingには、名前、詳細、URL、イメージという4つのプロパティがあります。子タイプは、親タイプと同じプロパティを持っています。Place(場所)はThingの子タイプです。LocalBusinesはPLaceの子タイプです。子アイテムはそれぞれの親の性質を受け継いでいます。(LocalBusinesは、Placeの子タイプですが、同時にOrganization(組織)の子タイプでもあります。両方の性質を受け継いでいるのです。)下記が一般的な項目の型のリストです。AggregateRating(レビューの平均)こちらで、全リストを見ることができます。予期できるタイプ、テキスト、そしてURLschema.orgのマークアップを使う際に覚えておくと便利なことを以下に記します。隠されたテキスト以外の場所では、より多くのマークアップを使ったほうが良い一般的に、多くのマークアップを使ったほうが良いのです。ウェブサイトを訪れた人が読める範囲のものをマークアップして、それ以外の隠されたdiv内の内容や隠された要素などはマークアップしないというのが慣習であることを覚えておいてください。予期できる型とテキストschema.orgをブラウズしていくと、多くのプロパティが"予期できる型"を持っていることに気付くと思います。プロパティの値自体が埋め込み項目であるということです。これは必須ではありません。テキストとURLだけを含むようにしてもかまいません。予期できる型を特定するときは、その型の子タイプを埋め込んでもかまいません。予期できる型がPlaceであるなら、LocalBusinessを埋め込んでもいいのです。URLプロパティを使うある特定の項目だけを扱っているウェブページも存在します。ある一人の人に関するウェブページであれば、Personの型を使ってマークアップできます。色々な項目があるウェブページもあるでしょう。会社のウェブサイトには従業員のリストがあり、そこに個人のプロフィールに繋がるリンクを載せることもできます。このような色々な項目のあるウェブページでは、項目を一つずつマークアップして(この会社の例で言えば、一人一人を人としてマークアップします)、URLプロパティを各項目のリンクに加えてください。マークアップが正しいかの確認ブラウザーがウェブパージのレイアウトの変更を確認するのに重要であるように、またコンパイラーがコードの動作を確認するのに重要であるように、使用したschema.orgのマークアップが正しいかを見る必要があります。Googleが提供しているリッチスニペットを使って、マークアップが正しいか、また間違いがあるならばどこにあるのかを確認してください。パソコンにも理解可能な情報セクション1とセクション2で見てきたように、多くのページはitemscope属性、itemtype属性、itemprop属性とschema.orgで定義されている型やプロパティを使って記述できます。項目プロパティは追加情報がないと曖昧になってしまうことがあります。timeタグとdatetime日付や時間は機械が理解するには難しいものです。“04/01/11”ですが、これは2004年の1月11日でしょうか、2011年の1月4日でしょうか、それとも2011年の4月1日でしょうか。このような曖昧さを解消するにはtimeタグとdatetime属性を使います。datetime属性の値はYYYY-MM-DDの形式を使って表わします。下記のHTMLコードでは、2011年の4月1日とはっきりと分かるようになっています。datetime="2011-04-01">04/01/11</time>hh:mmやhh:mm:ssという形式を使って時間を特定することもできます。時間を特定するにはTを前に付けます。下記のように日付と一緒に特定することもできます。7:30pm</time>実際の使用例を見てみましょう。下記は2011年の5月8日に開かれるコンサートの情報を示すHTMLコードです。このコンサートのマークアップは、名前、詳細、そして日付を含んでいます。7:30pm</time></div>期間はP(期間を表わす英語のperiodのpです)を前に付けます。下記のコードは1時間半かかる料理のレシピのコード例です。standardによって特定されています。linkとhrefリストプロパティの中には、限られた値しか取らないものもあります。これらは、リスト(enumerations)と呼ばれます。一つの商品を扱うオンラインストアはOffer項目を使って商品の詳細を特定します。availabilityプロパティは、限られた値の中から一つだけを取ります。Pre-orderなどです。項目プロパティがURLで特定されるのと同様に、schema.orgにおけるリストの値もURLで特定されます。下記は、Offerタイプとそれに関連するプロパティを使ってマークアップされた商品の例です。today!</span></div>下記は同じ商品を、リンクとhrefを使ってavailabilityプロパティを特定したコードです。today!</div>schema.orgにはリスト用に多くのプロパティが用意されています。あるプロパティが取りうる値が限られている場合、schema.orgにはそれに対応したリストが必ずあります。上記の例では、availabilityが取りうる値はItemAvailabilityで特定されています。references)基本的にリンクは要素を使って特定されます。下記のHTMLコードは、英語版Wikipediaの“ライ麦畑で捕まえて”のページへのリンクが載っています。page</a>.</div>御覧の通り、itemprop=”url”は、別のウェブサイトの同じ項目を扱っているページへのリンクを特定するのに使われます。(上記の例では、Wikipediaです。)別のウェブサイトへのリンクを使えば、検索エンジンがあなたのウェブサイトで扱っている項目を見つけやすくなります。リンクをそのまま載せるのはやめたほうが良いでしょう。いうときは、下記のようにlink要素を使いましょう。metaタグとcontentマークアップする価値のある情報でも、その情報のウェブページへの載せ方のためにマークアップ出来ないこともあるでしょう。評価を5つ星で表わすようなイメージや、動画の長さのようなFlashオブジェクトのもの、値段の通貨のようにページ上ではっきりと述べられていないものなどです。いったときは、metaタグと共にcontent属性を使って情報を特定しましょう。下記の例は、5つ星で4つ星の評価のものを表示するコードです。ratings</div>下記は、上記の例の評価の情報をマークアップした例です。</div></div>しかし、これはあまり頻繁に使わないようにしてください。metaタグはマークアップ出来ない情報にのみ使いましょう。schema.orgの拡張ほとんどのウェブサイトや組織にはschema.orgを拡張する理由などないでしょう。schema.orgでは、新たなプロパティや既在の型の子タイプを特定することが出来ます。拡張メカニズムをお読みください。