謎解きウェブ

なぜなにどうして。

フィードを使ってタグをTechnoratiへ送信する

text:
Technorati Tags

サイトを運営するのであれば、閉鎖的なものを除きそのサイトを知ってもらうために、検索エンジンへのリーチが必要になります。数ある検索エンジンの中でも、ブログのみを対象としたものがいくつかあり、その最王手といえるのが「Technorati日本語版)」です。Movable Typeの管理画面にはPing(更新情報)の送信先としてデフォルトで用意されているくらいですので、利用されている方も多いのだと思います。今回は、Movable TypeでTechnoratiのフォークソノミーに参加する方法をご紹介。

以前「Movable Typeでフォークソノミー」というエントリーで、次のようなことを書いた。

...ブログのフォークソノミーは狭いと言いましたが、今は限定的ながら広いフォークソノミーに「参加」する方法もあります。...

このブログでは各エントリーにタグ付けを行い、いわば一人フォークソノミーを行っています。しかし、そのタグをTechnoratiに送信することにより、より広いフォークソノミーへの参加ができるということです。限定的と書いたのは、ブログ検索エンジンでタグの受信機能を持っているのが今のところTechnoratiのみだからです(他にあったらスミマセン...)。

Technoratiタグ検索は現在英語版だけでなく日本語版にも提供されています。素晴らしいことに英語版・日本語版のデータベースは共有されており、タグだけでなくブログのインデックス情報・ユーザーアカウント等も同じ情報が反映されています。従って、タグの送信先はどちらでもかまいません。またタグの送信に関しては特にユーザー登録の必要はありません。

さて、前置きが長くなりましたがタグの送信方法です。

Technoratiへタグを送信する方法として、エントリー本文に

Tags for Technorati:

Tags for Technorati: <a href="http://technorati.com/tag/folksonomy" rel="tag">folksonomy</a>

といったかたちでTechnoratiのタグ検索用リンクを設置するという方法があります。Technoratiがページ内をクロールした際に、上記リンクがあれば、それをTechnoratiタグへ反映させる仕組みです。

しかしこれでは当然本文にリンクが表示されることになります。このブログでは、既にタグに対してこのブログ中のタグ検索の役割を割り当てていますので、別のシステム用のタグは記述したくない。混同が起きてしまうと、ユーザビリティ的に良くないという判断です。

そこで、エントリー本文ではなく配信しているフィード(RSS, Atom)中にTechnorati用のタグを書いてしまいます。Technoratiはフィード内もクロール(というよりおそらくはフィードの方を先にクロール)するため、エントリー本文に書かれていなくてもOKなのです。

具体的には、Movable Typeの管理画面よりatom.xmlとindex.xmlテンプレートを編集します。これに関しては亜細亜ノ蛾 - Weblogの「MTでTechnoratiへタグ情報を送る・Feed埋め込み法」を参考に、というかそのまま利用させていただきました。

ちなみに、このブログではTagwire Pluginによるタグを利用しているため、以下はTagwire Plugin利用を前提に書いております。Movable Type 3.3移行の純正タグを利用されている場合にはエラーとなりますのでご注意ください。ただし書き方は違えどやり方は同じはずですので、挑戦する価値はあると思いますよ。純正用の書き方は、いつか移行した際にまた書くつもりです。

<MTIfNonEmpty tag="MTEntryKeywords">
<![CDATA[
<dl>
<dt>Tags for Technorati</dt>
<dd>
<MTEntryTags glue=",">
<a href="http://www.technorati.com/tag/<$MTTag encode_urlplus="1"$>" rel="tag"><$MTTag$></a>
</MTEntryTags>
</dd>
</dl>
]]>
</MTIfNonEmpty>

上記ソースをatom.xmlあるいはindex.xmlテンプレート中、<$MTEntryBody encode_xml="1"$>の直後に挿入してください。あとはリビルドして完了です。実際のソースはこのように(atom.xml)なっているはずですので、確認してみてください。

あとは新規エントリーポストの際、TechnoratiへPingを忘れず送信してください。Technoratiへ正常に情報が送信されているかは、実際にタグ検索を行ってみるか、英語版のBlog Finder機能でもある程度わかります

フィードをFeedBurnerで焼いている人は要注意!

FeedBurnerで焼くフィードがRSS 2.0(index.xml)であった場合、Technoratiにタグが送信されないばかりか、エントリー本文もインデキシングされないという現象がありました。焼きもとをAtom(atom.xml)に切り替えたところ正常に戻りましたので、同じような症状が出ている方はお試しください。

こちらのエントリーで解説したとおりスマート・フィード機能を利用すれば、基本的にどんなフィード形式にも対応できるはずなのですが、うまくいかないこともあるということなのでしょう。