| « コンテント ネゴシエーション経由でPHPにリクエストを渡すのをやめた | Update to KDE 3.5.2 » |
rel="tag"というMicroformat
Technoratiというブログ検索サイトがある。b2evolutionの方でも、新規に記事を投稿した際、そこに、ピンを送って更新を知らせることが出来る。
Technoratiの特徴として、
のように、各ブログの記事をTag
という形で分類・整理して、興味のある分野を閲覧する際の便宜をはかったものがある。
このTag
というのは、個々の投稿者が自由に記事中に挿入することが出来る種類のものである。
Tag
として認識させるためには、
<a href="http://technorati.com/tags/タグ名" rel="tag">タグ名</a>
という形式のリンクを貼るだけでよい。
Technoratiにピンを打った後やって来るクローラが、該当記事を収拾した際、rel="tag"という属性が付加されたアンカーについては、タグだと判断する仕組み。
ただし、どんなリンクでもよいわけではなく、
- アンカーに、
rel="tag"という属性値の指定 - アンカーが示すURLの最後のPATH†に、
Tag
を表す文字列が存在すること- このPATH情報とリンク文字が異なる場合、PATHの情報の方を優先
- クエリ文字列は取り除かれる
という条件を充たす必要がある(詳細は、rel-tag - Microformats参照)。
- † 最後に現れるスラッシュ
/
以降の部分の文字列のこと。
リンク先は、必ずしも、Technoratiのサイトを指す必要はなく、
<a href="http://www.example.com/path/to/タグ名" rel="tag">タグ名</a>
のようにしてもよいけど、<a>〜</a>に挟まれたリンク文字と、URLの最後のPATH名が異なる場合は、PATH名の方が優先される。
つまり、
<a href="http://www.example.com/keywords/music" rel="tag">音楽</a>
のように書いたタグは、音楽
ではなく、music
として認識される。
また、URLの
以降のクエリ文字列は取り除かれるので、?
<a href="http://www.example.com/tags?name=Movie" rel="tag">Movie</a>
と書いたとしても、この場合、正常に認識してくれない(クエリ文字列を取り除いた最後のPATHであるtags
を示すタグといったおかしなことになる)。
b2evolutionにも、個々の記事を共通したカテゴリに分類する機能があるけど、単にカテゴリ ページへのリンクにrel="tag"の属性を付けるだけでは、Technorati上で、意図した内容の他のブログとは関連付けることが出来ない。
なぜなら、b2evolutionでは、カテゴリ ページへのリンクは、クエリ文字列の形をとるからである(しかも、カテゴリは、それを表す文字ではなく、数値IDで参照される)。
例えば、b2evolution
というTag
を設けようと思っても、
<a href="http://www.xdelta.net/blog/FreeBSD?cat=19" rel="tag">b2evolution</a>
のようになってしまうから、Technoratiでは、FreeBSD
というTag
として扱われてしまう。
そもそも、手動で逐一リンクを貼っても、Tag
は実現できるし、ちょっと修正すれば、もっと何とかなりそうだと思ってたところ、既に、b2evolutionに便利そうな機能を導入してる人がいた。
悪くないかも。
あと、話は違うけど、テクノラティ(technorati.jp)の方に、
HTMLの使用が許可されていないブログサービスをお使いで、カテゴリーを独自につけることができるブログサービスをお使いの方は、ブログ記事を書く際に「カテゴリー」をつけることでテクノラティのタグ検索に検索されるようになります。
と書いてあるのが気になった。
Trackback address for this post
Trackback URL (right click and copy shortcut/link location)
2 comments, 1 trackback
あら、先日書いたのは間違いだった。アンカーにrel="tag"という属性を付けなければ、Technoratiと連携できないとばかり思い込んでたけど、rel="tag"というのは、カテゴリやRSS/Atomに対応してな...
あら、
また、URLの
?以降のクエリ文字列は取り除かれるので、
というはずなのに、Technoratiでは取り除かれてないではないか。
クエリ文字列が取り除かれることを期待して、language=jaと付けたのに、TagName?language=jaというおかしなタグになってる。うーん・・・
でも、考えてみると、クエリ文字列が取り除かれていないタグが登録されていたのは、
にて、HTMLに埋め込む形にしたrel="tag"の属性を持つアンカーを、問題はあるけども、一応、Tag
として認識してくれたことでもある。
This post has 95 feedbacks awaiting moderation...