Facebook
HTML5
OGP

OGPにつけるprefix属性とは何か調べてみた。

OGPの設定をする時に何となくつけていた
prefix属性について一体何なのか調べてみました。(これ↓)
尚、html5版のOGPに関する内容です。

<head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# article: http://ogp.me/ns/article#">

prefix属性とは

html5ではRDFa Core 1.1およびRDFa Lite 1.1が使用できます。
RDFaのガイドラインではprefixとは語彙を指示します。

つまり「これからOGPを使いますよ。」と宣言しています。
この記述によって下記のようなmetaにproperty属性でOGPの設定を記述することができます。

<meta property="og:title" content="タイトル名">

prefix属性を付ける位置

prefix属性をhtmlタグをつける派とheadタグにつける派で論争が湧き起こっているようですが
RDFaのガイドライン上、
property属性の親要素にprefix属性が記述されていれば問題ないので
どちらも正しい使い方と考えて良いと思います。
ただしfacebook OGPのガイドラインではheadタグにつけることを推奨しているので
facebookの仕様に明確に従う場合は、headタグにつけることが良いようです。


参考元
HTML+RDFa 1.1
https://dev.w3.org/html5/rdfa/
RDFa 入門
http://www.baldanders.info/spiegel/archive/rdfa/