http://gmpg.org/xfn/11 は捨てよう

メタデータのイメージ。

Wordpress のテーマなどでは <link rel="profile" href="http://gmpg.org/xfn/11" /> のようなコードがみられます。 これは XFN フォーマットを取り入れたページであることを伝えるメタデータです。 XFN(XHTML Friends Network) とはマイクロフォーマットの 1 つで、他者(他のサイト)との関係を示すものですが、現状では役に立つようなシチュエーションが存在しません。 したがって積極的に削除するべきです。

XFN 公式サイト
http://gmpg.org/xfn/

HTML5 においては誤った構文

HTML5 においては、rel 属性に与えられる値は制限されています。また rel 属性を指定することができる要素も link, a, area 要素に限定されています。 したがって rel="profile" は HTML5 の構文規約に違反します。 尤も、HTML5 の構文に制定されない link の扱い方や rel 属性の値は、Google を初めとする各社のサービスで利用されているのですが。

Wordpress テーマ内のプロファイル

少なくとも公式のテーマの TwentyTwelve などで XFN プロファイルの宣言が確認できます。 TwentyTwelve は文字通り 2012 年のテーマですが、その頃の HTML5 は"勧告候補"です。 したがって、Wordpress では旧来のフォーマットを取り入れたテーマを配布したのだと思います。

ただし、そうであっても XFN プロファイルが 2012 年時点で普及していたとも思えませんし、 header に宣言してテーマ全体にプロファイルを読み込ませるのは設計として誤りであると思います。

もしも Wordpress テーマ内に XFN に該当する宣言や記述があるのなら削除したほうが良いでしょう。 過去のテーマを改変して作られたテーマであれば、XFN に関する記述が残されていることが十分に考えられます。

XFN フォーマットの危うさ

現在もなお利用している人がいるフォーマットですから、捨てるべき理由をいくつか示します。 端的に言えば旧時代のフォーマットであり、設計も甘く、すでに捨てられたフォーマットだと思います。

以下には苦言ばかり書いていますが、SNS が普及するよりも遥か前にこのようなフォーマットを考案し、普及に努めたことはとても凄いことだと思います。 それでも設計はもう少し考えられるべきだったとも思います。

公式ページには埋め込まれていない

あまり重要な資料でもないので先にオチを付けますが、公式サイトには XFN プロファイルが存在しません。 主要設計者の 3 人のページの内、XFN プロファイルの積極的な運用が確認できたのは 1 人だけです。 開発に当たって協力されたとされる人たちのサイトにも XFN プロファイルが存在しません(すべて確認したわけではありませんが)。

公式のページに掲載されている開発の協力者らは、 少なからず XFN が提唱する「関係」のいずれかに該当すると思いますが、 協力者らのページには、XFN が埋め込まれていません。 ソースコードを見ればすぐに分かりますね。

開発者らや協力者らのサイトもソースコードを確認してみました。 まずプロファイルが宣言されているかどうか、次いで XFN の関係性をメタ属性が埋め込まれているかどうか。 プロファイルが宣言されているものの、関係性を示す属性値が埋められていなかったりして、積極的な活用は確認できませんでした。

全員調べたわけではありません。また、少なくとも 1 人は積極的な活用を確認できました。 また日本人の方が XFN 情報出力のための日本語フォームを翻訳されていたりします。 その方の公式サイトには XFN プロファイルは確認できませんでした。

HTML4 なのか XHTML なのか

XFN はそもそも自身で矛盾したフォーマットです。XFN は XHTML Firends Network の略称であり、名称に XHTML フォーマットの名前を取り入れているにもかかわらず、 公式のページには、As described in HTML4 Meta data profiles.(訳:HTML4.x 系のメタデータの中に記述される) とされます。 確かに XHTML と HTML4.x 系は長い間同時期に広く普及したフォーマットですが、2つのフォーマットは決して同じものではありません。

なぜ 2 つのフォーマットが混同しているのか分かりません。この違いについて理解できない人物が設計したとは考えたくありません。 開発者の内の 1 人は microformats で活動している人物のようにも見えますし、公式には複数人のレビュアーが掲載されていますし。

特定のサイトに求める情報ではない

A と B がどのような関係にあるか、例えば親と子だったり、出会ったことがあるとか、友人関係であるとか、雇用関係にあるとか、そういう情報を示すのが XFN の目的のようです。 公式の設計背景などに簡単に目を通すだけでもそれが分かります。

ですが、特定のサイトにそのような情報を求めることはどう考えても難しいでしょう。 例えばだれかと出会ったことなどがデータの1つとして定義されますが、対象となる相手を示す方法はアンカーテキスト(a属性)によるリンクでしかありません。 つまり、もしこのフォーマットが広く普及しているとすれば、お互いの関係を示すために莫大な量のアンカーテキストを表記していくことになります。 せめて可視化されないことが前提とされるメタ情報でのみ完結すれば救いがあったかもしれません。

2015 年現在であれば Twitter や Facebook などの SNS が普及していますから、アンカーに埋め込まれたそれらの情報が役に立ちそうに見えますが、 そもそも交友関係は限定的なユーザにのみ公開されますし、イチイチ埋め込みテキストで各個のユーザを管理していると処理負荷が莫大になります。

設計管理者が少なく管理も放棄されている

XFN の主要な開発・設計者は 3 人で、類似するプロジェクトと比較すると少ない人数です。 管理サイトには少なくとも更新情報が確認できず、HTML5 に対する言及もないので、事実上管理が放棄されたものと判断しても良いと思います。 もしも類似するフォーマットや継続的な更新が期待できるとして、それらの管理は microformats が担当することになるでしょう。