meta
要素のcontent
属性は特にどういう値が入るものか決められていない。のでURLじゃないかもしれないし、URLとみなせる文字列なのかもしれない。OGPではRDFaだからmeta
要素を使いましょうと書かれていて、URLを値とするurl
やimage
プロパティーもmeta
要素のcontent
属性を使う。昨日見たのだとWindows 8のピンに使われるmsapplication-TileImage
とかもそう。
例えば「相対URLを使った場合はどうなるのか?」とか。IEBlogで例示されているコードでは相対URL使ってるので、Windows 8はとりあえずどうにかしてくれそうだけど、「base
要素あってもちゃんと判断してくれるの?」とか疑問を持ち始めたらキリがない。こういうのはやっぱりURLだと明示されている要素の属性で行うべきだと思う。他に使えるものがないというのならしょうがないけど、このケースではrel="canonical"
やrel="icon"
と同じ扱いで良いと思うので、link
要素のhref
属性の方がふさわしそう。
meta
要素はメタデータのmetaから来ているわけだけど、だからといってメタデータは全部meta
要素でというわけではない。title
やlink
要素などが相応しくない場合の最後の楽園。
apple-touch-icon
とかはlink
要素使っている。特にGoogle +1ボタンなんかはせっかくMicrodataのおかげでスキーマレスで値の判断が行えるのだから、meta
要素を使うべきではないはず。
<head itemscope itemtype="http://schema.org/WebPage">
<link src="/images/logo.png" rel="og:image">
<link href="/" rel="canonical og:url">
<link src="/images/logo.png" itemprop="image">
<link href="/" itemprop="url">
</head>
rel
とitemprop
属性は排他なのでまとめることは出来ないけど、rel
は空白区切りで複数の値をとれるのでcanonical
とog:url
をまとめたりはできる。世のパーサーからは普通に無視されそうなので「書き直しましょう!」とかそういう話ではない。
セマンティック期。