meta要素のcontent属性でURL

meta要素のcontent属性は特にどういう値が入るものか決められていない。のでURLじゃないかもしれないし、URLとみなせる文字列なのかもしれない。OGPではRDFaだからmeta要素を使いましょうと書かれていて、URLを値とするurlimageプロパティーもmeta要素のcontent属性を使う。昨日見たのだとWindows 8のピンに使われるmsapplication-TileImageとかもそう。

例えば「相対URLを使った場合はどうなるのか?」とか。IEBlogで例示されているコードでは相対URL使ってるので、Windows 8はとりあえずどうにかしてくれそうだけど、「base要素あってもちゃんと判断してくれるの?」とか疑問を持ち始めたらキリがない。こういうのはやっぱりURLだと明示されている要素の属性で行うべきだと思う。他に使えるものがないというのならしょうがないけど、このケースではrel="canonical"rel="icon"と同じ扱いで良いと思うので、link要素のhref属性の方がふさわしそう。

meta要素はメタデータのmetaから来ているわけだけど、だからといってメタデータは全部meta要素でというわけではない。titlelink要素などが相応しくない場合の最後の楽園。

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>

relitemprop属性は排他なのでまとめることは出来ないけど、relは空白区切りで複数の値をとれるのでcanonicalog:urlをまとめたりはできる。世のパーサーからは普通に無視されそうなので「書き直しましょう!」とかそういう話ではない。


セマンティック期。