2006-09-27

Autodiscovery とは何ぞや

クリボウさんのブログのコメント欄で、こんなことを聞かれた。

JUGEMの独自タグにも{trackback_auto_discovery}というやつがあります...これはどういう用途で使われるのでしょう?

クリボウの Blogger Tips: Blogger beta に HaloScan をとりつける より引用

コメント欄の返事にするには勿体ないネタなので、記事にしませう。というわけで、今回のお題は (トラックバック) Autodiscovery。

トラックバックって?

まず、トラックバックの説明をしませう。

ネットでは、自分のウェブページから他人のウェブページにリンクを張ることが簡単に出来る。けれど、逆に他人のウェブページから自分のウェブページにリンクを張らせること (いわゆる逆リンク) は出来ない。というか出来なかった。

トラックバックは、この逆リンクを張らせる仕組みの一つ。トラックバックを使って逆リンクを張るには、自分と相手がお互いトラックバックの仕組みを持っている事が不可欠。

トラックバックの手順はこんな感じになる。トラックバックを受ける側 (逆リンクを張る側) は予めトラックバック URL なるものを用意しておく。逆リンクを張らせたい人間は、このトラックバック URL にトラックバック・ピング (通知) を送る (これをトラックバックを打つなどと言う)。トラックバック・ピングを受けると、ピングを受けたページは自動でピングを送ったページにリンクを張る。つまり、ピングを送った側からすれば、逆リンクが自動的に作れたことになる。

一般に、トラックバックは

  • 私のウェブページで、あなたのページを紹介しましたよ
  • 私のウェブページから、あなたのページにリンクを張りましたよ
  • 私のウェブページの内容は、あなたの興味を引いたり、あなたの疑問に答えていますよ

といった事を知らせるために打つものとされている。なお、全く無関係なサイトにトラックバックを打つことはトラックバック・スパムと呼ばれ、嫌がられるのでやめませう。

Trackback Autodiscovery

トラックバックを打つ場合の作業を考えませう。ぼくらは、トラックバックを打ちたいページに行って、そのページのどこかにあるトラックバック URL を探す。見つけたら、トラックバック URL をコピーして、自分のトラックバック・ピングを打つツールにその URL を貼り付ける。

ここで、トラックバック URL を探す作業が手間だと思いませんか? コピーする作業が手間ではありませんか?

その答えとして出てきたのが、Trackback autodiscovery。その一例を、見てみませう。

<!-- Trackback autodiscovery code
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
<rdf:Description
  rdf:about="Trackback"
  dc:identifier="パーマリンク"
  dc:title="エントリーのタイトル"
  trackback:ping="トラックバック URL" />
</rdf:RDF>
-->

これは RDF という規格で書かれている。見ての通り、trackback:ping="..." にトラックバック URL の情報が書かれてる。少し Perl を噛じった人なら、この規格通りに書かれたテキストから、トラックバック URL を抜き出すプログラムを書くことができる。

つまり、上のコードをページ内に書いておくと、Trackback Autodiscovery 機能をサポートしたツール (やサービス) を使ってる人は、トラックバック URL を探す作業をプログラムに任せて楽できる。それが Trackback Autodiscovery の目的でありメリット。

ブログ・システムによっては、記事の投稿画面にトラックバックを打つページの入力欄がある。そこに相手ページの URL を入力しておくと、(autodiscovery 機能を使って) トラックバック URL を取得し自動でトラックバックを打ってくれるそうな。

Trackback Autodiscovery は有用か?

かように便利な Trackback Autodiscovery だけど、ほぼ半自動でトラックバックが打ててしまうため、トラックバック・スパムにも悪用されているらしい。例えば、たつをの ChangeLog さんは、Trackback autodiscovery を削除したことで、トラックバック・スパムを大幅に減らせたという。

トラックバックスパムを劇的に減らす、手軽な方法をご紹介。

最近実行していているんだけど、単に Trackback Auto Discovery の設定を消してしまうだけ...

...Blog検索エンジンの検索結果の各記事に対して Auto Discovery してトラックバックを送りまくるというスパムシステムがあるらしく、そういうのに対して効果絶大。

[を] トラックバックスパムを劇的に減らす方法 より引用

このエントリーには、手作業でトラックバック URL を入力するのは面倒、という主旨のコメントが入っており、たつをさん自身も、Autodiscovery を削除することは「諸刃の剣」であることを認めている。

トラックバック Autodiscovery を入れるべきか入れないべきか、一般論で判じるのは難しい。とりあえずトラックバック・スパムの量を見ながら、決めてはどうでせう。

追記

Autodiscovery には、トラックバックの他にも、Foaf autodiscovery とか RSS autodiscovery、Account autodiscovery といったものがある。いずれも、何かしらの URL や文字列 (メタ情報) を自動で汲み上げる為に利用される。

12 comments:

  1.  Haloscan を載せているのに、全く使いこなしていない「ちゃめ」です。
     @aka さん、すごい勢いで更新されていますね!

     完全に余談なのですが、「トラックバックを打つ」の「打つ」について、完全に思い込みなのですが、語源はこんなのじゃないかな、というのを…。
     まず、事の始まりは、「TB を打つ」ではなく、「ピン(ping)を打つ」ではないかと。
     つまり、MS-DOS コマンドの、"ping xxx.xxx.xxx.xxx(IP アドレス)" から来たのかなと。
     トラックバックも、ping を打つので、転じて「TB を打つ」じゃないかなぁ?

     じゃあ、なぜ、"ping" を「打つ」のかと言うと、恐らく、潜水艦のアクティブソナー(「ピン」という短く強い音波を発して、水中や水上の目標までの距離、方位を測定する装置)を「打つ(撃つ)」からじゃ無いかなぁ、と。
     全くの想像のお話ですけど(笑)。

    追記:潜水艦の「ピン」については、映画『レッドオクトーバーを追え』で、効果的な演出がされています。

    ReplyDelete
  2. > @aka さん、すごい勢いで更新されていますね!

    おや。そんなにすごい勢いですか? Beta のフィードが、数日壊れてて今日直ったので、その分が一気に流れてるのかもです。

    > 事の始まりは、「TB を打つ」ではなく、「ピン(ping)を打つ」ではないか...

    ですね。全くその通りだと思います。失念していました。
    というか、本来「TB を打つ」というのは誤用ですね。意味が通りません。「TB ping を打つ」が正しいと思います。お恥ずかしい。穴があったら入りたいです。

    > なぜ、"ping" を「打つ」のか...

    なるほど。潜水鑑のソナーですか。そういうことはあるかもしれませんね。

    > ...映画『レッドオクトーバーを追え』で...

    「レッド・オクトーバーを追え」は原作・映画の両方を楽しみました。いい作品ですよね。サントラも持ってますよ。あのソナーの使い方は、効果的でした :)

    ReplyDelete
  3. >「TB ping を打つ」が正しいと思います。お恥ずかしい。穴があったら入りたいです。

     いえいえ、とんでもないです。
     細かい指摘で、気を悪くされていたらお許しくださいませ(汗)。
    「TB を打つ」で知らない人にも、イメージは通じると思いますよ~。
    「ググる」と同じように、既に定着しているような気がしますし…。
    「pingを」の部分は省略していると考えれば、良いかと…。 =)

     日本語って意外と横着な言葉で、省略しても通じるものは、どんどん省略してゆくみたいですね(笑)。

    『レッド・オクトーバー…』ご覧になっていましたか。
     あのショーン・コネリーの渋さはなかなかですね。
     これも余談なのですが、マッコウクジラが深海でダイオウイカの狩りをする時に、頭部の巨大な脂肪層で音波を増幅して、強力な ping でイカを麻痺させてから、襲うとか襲わないとか…。
    映画『砂の惑星』みたいなお話ですね(また映画に振っちゃった(笑))。

    ReplyDelete
  4. > 細かい指摘で、気を悪くされていたらお許しくださいませ

    そんなことはありませんので、ご安心下さい :)
    ただ、私のような技術系のブログは、参考にしてる人達が私の用語の使い方を真似するわけなので、できるだけ正確な言葉遣いを心がけているのですよ。「TB を打つ」という表現を使うのは、自分の戒めを破ることになるので、一人反省した次第です ;)

    > 『レッド・オクトーバー…』...

    ショーン・コネリーは渋かったですね。潜水艦ドラマは「U ボート」を始めとして良質なものが沢山ありますけど、ことアクションの見せ方に関しては「レッド・オクトーバー」以上のものを私は知りません。俳優陣がしまってるから、アクションも際立つんですよね :)

    マッコウクジラの話は知りませんでした。フムフムです。
    「砂の惑星」は未見です。デューンですよね。いつか見たいとは思っているのですが...

    ReplyDelete
  5. クリボウさんのところにコメントをつけたのを、自分ですっかり忘れていました!

    検索でtrackback autodiscoveryを調べているうちにクリボウさんのポストを再発見してここまで来ました。私の疑問をとりあげて下さってありがとうございます。

    これからちょっと熟読して勉強させていただきます。JUGEMのautodiscoveryのタグをはずせないかと思うんです。トラックバックスパムがとにかく多いですから。

    ReplyDelete
  6. > すっかり忘れていました

    おおっ。二か月遅れで、ようやく本来の質問者の目に止まったわけですな。今は、coComment でコメントのチェックができるから安心ですね ;)

    > JUGEMのautodiscoveryのタグをはずせないかと思うんです。トラックバックスパムがとにかく多いですから。

    (私は JUGEM のテンプレート・システムを知らないので、Autodiscovery を外せるのかどうか知らないのですが) autodiscovery を外せるとよいですね。外すとトラックバック・スパムの数が激減しますよ。ただし、普通の人でトラックバックが送れない、という人も出てきてしまいますが ^^;

    ReplyDelete
  7. Trackback autodiscoveryのタグは、JUGEMでも調べてみると記事みたいな感じで書いてありますね。あたり前かもしれませんけど。

    >>ブログ・システムによっては、記事の投稿画面にトラックバックを打つページの入力欄がある。そこに相手ページの URL を入力しておくと、(autodiscovery 機能を使って) トラックバック URL を取得し自動でトラックバックを打ってくれるそうな。

    この機能はJUGEMで標準装備です。トラックバックURLの入力欄に"自動検知"というボタンがあります。
    ちなみにその横には「1ブログにつき1日100件まで送信可」なんていう注意書きがあったりするのですが。やはりスパムに濫用する不心得者が多いのでしょう、最近になって本数が制限されるようになりました。

    autodiscoveryをはずして、実際にどのくらい不便になるのでしょう? 確かに、トラックバック送信自体ができなくなるブログツールもあるようですね(参考記事)。
    う~ん、でもトラックバックURLの検知については、私の場合BloggerでHaloScanを使うところから入門しているので、自分で調べてコピーするというのがあたり前だと今まで思ってきたんですが、違うんでしょうか……。

    実際にはずすかどうかについては、とりあえずもう少し調べて考えてみます。

    ReplyDelete
  8. JUGEM は Auto Discovery 標準装備ですか。少し羨ましいです :) スパム TB を送らない対策も入っているようで、なかなかしっかりしているのですね。

    > autodiscoveryをはずして、実際にどのくらい不便になるのでしょう?

    分かりません。Autodiscovery しか使えない読者がどれ位い居るものなのか...。私は読者層によって、便・不便の偏りが出るのではないかと思っています。

    参考になるかどうか分かりませんが、私のブログの例を。clmemo@aka は技術系ブログです。TB のない Blogger で運営されているので、比較的 Autodiscovery がなくても TB が打てる読者が多いと思っています。しかし、一件だけ、「TB が打てなかったのでコメントしました」というコメントを頂きました。私は、きっとこの方は Autodiscovery を使っていたのだろうと思います。もしかしたら、コメントもせずに去った人もいるかもしれません。

    ただ、Autodiscovery を消してから、ここ二か月はスパムの数が激減しました (二か月で十本程度です)。私としては、TB スパムの多さに二進も三進もいかなくなっていたので、Autodiscovery を復活させる気にはなりません。

    一度 Autodiscovery を消してみて、一週間後に復活させる気になるかどうか試してみてはどうでしょう。もし、復活させる気になれなければ、気付かない所で限界に来ていたのではないかと思うのです。

    > ...自分で調べてコピーするというのがあたり前だと...

    ウーン。私もマニュアル派ですが、どうなんでしょうねぇ。よく分かんないです ^^;

    ReplyDelete
  9. 先ほど、JUGEMで試しにgooに更新pingを送信したところ、トラックバックスパムの大空襲がありました。

    削除しても削除しても次々に新手が送られてくるし、IPアドレスを偽装したものもあるようで、フィルターをかいくぐってきたりする。油断して、山積していたスパムフィルターを整理したのもまずかったようです。

    結局、禁止IPアドレスを4つ指定し、なおかつURL中の".cx"の文字列ではねるように設定して(スパムはこれを含むものが圧倒的に多い)、やっと沈静化しました。それまでざっと30~40本は削除しました!

    調べてみると、JUGEMの場合、記事のID番号とトラックバックURLのID番号が同じなんですよね。スパマーたちはこれを利用して送りつけてくるんだろうと思います。う~ん厄介。

    gooに更新pingを打つとスパムが多いことには以前から気づいていたんですが、今後もgooには更新pingを打たない方がいいようです。gooブログHPではブログサーバー別に更新情報をRSS配信しているので、スパマーたちはこれをチェックしているのでしょう。

    weblogs.comであれば、国内の連中は大してチェックしていないようだし、BlogPeopleなどでも更新を拾ってくれるので、これで必要十分だろうと思います。

    ReplyDelete
  10. TB 大空襲、迎撃、お疲れ様です。

    > JUGEMの場合、記事のID番号とトラックバックURLのID番号が同じ

    ムムム。それは分かり易すぎますね。困りものです。でも、そういうサービスは多いみたいですね。livedoor ブログもそんな感じです。fc2 は、記事の ID の末尾にランダムな数字を加えるタイプの TB URL でした。こんな感じに、もう少し手を加えて欲しいですね。

    > gooに更新pingを打つとスパムが多い
    > weblogs.comであれば...

    なるほど。情報ありがとうございます。参考に致します。

    ReplyDelete
  11. 私はTrackback Auto Discoveryを詐称してみました。そしたらトラックバックスパムは詐称先の記事ばかりにつくようになりました。
    あまり行儀のいい行為とは言えませんが参考まで。
    http://blunderer.blog54.fc2.com/blog-entry-76.html

    ReplyDelete
  12. 高橋さん、初めまして。記事を拝見致しました。
    高橋さんの方法は、Autodiscovery を使って TB を打つ正規のユーザーに対して不義理な面もありますが、Autodiscovery を利用する TB スパムの統計を取るには効果的ですね。目から鱗です。

    ReplyDelete