Microdataではitemprop
属性を使ってプロパティーを追加する。HTML標準仕様の変更によってbody
要素以下でもlink
やmeta
要素を使えるようになったので、どうでも良いマークアップを追加してCSSで隠して誤魔化すとかしなくても大体なんとかなるようになった。しかしその一方でlink
とmeta
要素はitemprop
属性と同時にrel
属性やname
属性を使うことはできない。そのため例えば<meta name="description">
タグにitemprop="description"
を追加してWebPageスキーマのプロパティーとして追加するなどということは無理。
<html lang="ja-JP" itemscope itemtype="http://schema.org/WebPage">
<head>
<meta content="This is a foo." name="description" itemprop="description">
<link href="/foo" rel="canonical" itemprop="url">
</head>
</html>
つまりこう書くことができないので、description
やurl
プロパティーの追加のためには別に改めて書く必要がある。もちろん概要がbody
要素以下にあったり自身へのリンクがあったりするならそれにitemprop
属性を付ければ良いのだけど、無いことも当然あるだろうし。
<html lang="ja-JP" itemscope itemtype="http://schema.org/WebPage">
<head>
<meta content="This is a foo." name="description">
<meta content="This is a foo." itemprop="description">
<link href="/foo" rel="canonical">
<link href="/foo" itemprop="url">
</head>
</html>
うっ……。大雑把に言うとhead
要素内に書いたメタデータをMicrodataのプロパティーとして追加することはできないということのような気がする。id
属性を使ってitemref
で参照すればいいのかなぁとかちょっと思ったけど全然違う。そのうちなんとかなるんだろか。