Movable Type での、受信したトラックバックの取り扱い方

http://hxxk.jp/2005/10/07/1923

記事データ

投稿者

望月真琴

投稿日時

2005-10-07T19:23+09:00

タグ
概要

Movable Type や一部の weblog サービスでは、受信したトラックバックがどの記事に向けられたものか分からない ! 実は Movable Type ではプラグインを導入することですっきり解決できます。

リプライ

12 件のリプライがあります。

記事本文

うんうんとうなずいたトラックバックスタンス

Dullahan さん ( 脳無しの呟き ) なりのトラックバックに対するスタンスの分かりやすいまとめ。 言及しても内容的に薄ければ、TrackBack はしない とか うなずきレベルのエントリは、恥ずかしいから絶対に TrackBack なんてしない とかいう下りは、こうしてキーボードに指を踊らせて記事を仕立て、思わずうなずきトラックバックを送ってしまいそうになるほど同意。あと明確には書いていないけれど、トラックバックを送る際の概要を、本文冒頭からの自動生成ではなく分かりやすく手動編集されている点にも同意。 ( 例 : 検索ロボットの CSS ファイルのクロールについてと、それを拒否する手段へのトラックバック ) って、同意て言いながらうなずきトラックバックを送るって、それ同意した内容に矛盾しますから !

Recent Trackback の罠

いやまあそんな自己ツッコミをしたくてわざわざ記事を一つ書きたかったわけではなく。 気になったのはこの部分。

このブログでは、右のカラムに受け付けた TrackBack を表示するようにしております。 TrackBack 元のエントリを表示する仕様なのだけど、よくよく考えてみると、これって「言及リンクあり」が前提の仕組みなんですよね。 というのは、右帯に表示されているリンクからは、どのエントリに TrackBack があったのかわからないのですよ。 TrackBack 先のエントリ(ブログ)を見て、初めて「どのエントリに TrackBack があったかわかる」のですな。

ここを見ている人がトップページを閲覧中、右帯にある TrackBack に気が付いたとしましょう。 興味が湧いてクリックしたとして。 そのエントリに言及リンクがないとですね、そのエントリが脳無し側のどのエントリに TrackBack を送ったのかわからないのですね。 当事者である私はどのエントリに TrackBack があったのか知ることができるけど、他の方々はそれを知ることができないわけです。

稀にある誤解で「トラックバックはお互いの記事にて相互リンクを自動で実現するものです ! 」というようなものがあり、私はその考えには否定的なのですが、確かに「どの記事に送られたトラックバックか分からなくなる」というのは問題だと思いました。 ( Dullahan さんが「トラックバック = 相互リンク機能」だと誤解していると言っているのではありません、念のため。 )

各種の weblog ツールや weblog サービスについて調べることはしませんが、ぱっと思いつくものを挙げてみると、 Movable Type は標準のテンプレートタグではどの記事に送られたものか判別できず、また goo ブログも同様に判別できません。 はてなダイアリーのトラックバックモジュールでは、トラックバックが送られた記事を判別できるようになっていますねえ。

言及リンク無しでエントリを書かれた側を閲覧している人達は、まさかそれが脳無し側へ TrackBack されたエントリであるなんて知る由もないでしょう。 この辺りを徹底されているのは真琴さん。 TrackBack を送ったエントリには、必ず TrackBack 先の記述をされているので、話の繋がりがわかりやすい。

……と、実は文中で名前を出されていたり。 これはどこにトラックバックを送ったかを第三者に示すというよりは、自分のための備忘という意味合いが強いので、分かりやすいと言われるとなんだか照れますね。 実は、 Movable Type には MTPingsSentMTPingsSentURL という、トラックバックの送信先のリストを作るテンプレートタグは用意されています。 しかし、これは送信先の MTEntryTrackbackLink にあたる URI をリストアップするだけで、記事自体の URI をリストアップしてくれるわけではありませんし、「どういった概要を書いてトラックバックを送ったか」までは記録できません。 そういう理由から、手動でトラックバック送信先の記述をしているのです。

Movable Type で、どの記事にトラックバックが送られたのかを分かるようにする

思いついた解決策としては2つ。 言及無し TrackBack は受け付けない方向にするか、サイドバーでの TrackBack 表示を止めること。 各エントリには受けた TrackBack を表示するようにしているので、どちらかの解決策で問題は起きないような気がしたのだなぁ。

そこでお節介にも 3 つ目の解決策を提示 ! 前項で「標準のテンプレートタグではどの記事に送られたものか判別できず」と言いました。 そう、標準のテンプレートタグでは。

Movable Type にはプラグインによってテンプレートタグを拡張することができます。 そして、送信されたトラックバックがどの記事に向けられたものかを明確にするプラグインも既に作られています。 ヤヤ、こんなところにお誂え向きなサンプルが !

具体的な解説は Recent Reaction template ver.3 で既に行っているので、改めての解説は行わず、また解説自体も脳無しの呟き - 言及無し TrackBack に関してふと思ったこと自体に触発されて書いたものではないので、言及無しのままトラックバックを送って完了。

トラックバック送信先

脳無しの呟き - 言及無し TrackBack に関してふと思ったこと

トラックバックがどの記事に送られたか分かれば、受付を停止したり表示を止めたりしなくても良いのでは、ということで第三の解決策を提示。

リプライ

12 件のリプライが送られています。

2005-10-07T20:56+09:00 - でゅらはん

>ヤヤ、こんなところにお誂え向きなサンプルが ! このようなページは特に公開しなくとも、自身の管理用に作成しておいても良い気がしました。現在は TrackBack を受けたときのメールが管理帳代わりなのですが、やはり一覧の方が断トツで見やすいですね。うん、これは便利だ。 ちなみにスタンスの話で「内容的に薄ければ」の件ですが、当然自己判断なので、TrackBack を送った後に「あちゃぁ」と思うこともあります。そういう経験から、エントリをアップするときと一緒に TrackBack を送るのは止めました。アップされたものを読んで問題なさそうなら、ということにしています。(それでも誤字脱字は防げないわ、後から読んでみて内容ダメダメなことに気が付くこともある…… orz) そういうわけで、大変有益なエントリ、どうもありがとうございました。 解説ページのほうは、改めてゆっくり読んでみます。このタイミングで週末というのは、なんだかステキです。 それでは〜。

2005-10-08T18:16+09:00 - Recent trackback の表示方法を修正 < 脳無しの呟き

先日書いた『言及無し TrackBack に関してふと思ったこと』に対して、Trackback が2つ。どちらも真琴さんからのものだった。

2005-10-08T21:26+09:00 - トラックバックなど < OreBlog

いまどきの世の中は世知辛くなったわけで、多少話題が関連しているくらいでは気軽にト...

2005-10-12T00:50+09:00 - 真琴

さっき判明したんですが、 Movable Type 3.2 だと Recent Reaction template ver.3 の記述じゃ上手くいかないようです。 でゅらはんさんのサイトでは上手くいっているようですが、もし 3.2 にアップデートする際はお気をつけください。 ( 近いうちに 3.2 でもうまくいくように検証します。 ) あと、一覧を単体ページに作って公開するかどうか、というのは自由です。私は「最近の~」という区切りで、それ以前を切り捨てるのはあまり好きじゃないので、こうして古いものでも辿れるように公開しています。

2005-10-17T21:31+09:00 - 続トラックバックなど < OreBlog

前回のつぶやきに対してhxxkさんからPingedURLというプラグインを紹介し...

2005-10-17T21:40+09:00 - kade

先日はコメントありがとうございました。早速ゴニョゴニョと改造し、実験とばかり再度トラックバックさせていただきましたが敢えなくタイムアウトで実験失敗! どうもDB汚して申し訳ありません。

2005-10-17T22:03+09:00 - 真琴

あれ、上手くいってませんか ? <a href="http://www.kadesoft.com/mt3/oreblog/archives/2005/10/200510170010.html">http://www.kadesoft.com/mt3/oreblog/archives/2005/10/200510170010.html</a> でもトラックバック送信先としてこの記事が書かれていますし。 よくある誤解なのですが、トラックバック送信時のタイムアウトは、 1.weblog A からトラックバックを送信する 2.weblog B がトラックバックを受信し、記事に反映したのちに A に対する「トラックバック成功のレスポンス」を返す 3.weblog A が weblog B からの成功レスポンスを受け取る の、 3. の部分がタイムアウトになっていることがほとんどです。 しかし、 2. の時点でタイムアウトになっていると考えてしまう人がどうも多いような印象があります。

2005-10-18T00:54+09:00 - kade

チェックありがとうございます>真琴さん。 タイムアウトしてても大抵はTB成功しているのは判っております。で今回のTBを送った時点では見かけ失敗じゃ情報取得&DB登録はしない仕様だったので、悔しいからSQL手打ちで登録しちゃいました(笑) その後修正してTB失敗っぽくてもも登録を試みるようにしましたけどね。

2005-10-21T01:26+09:00 - 真琴

あら、釈迦に説法って感じでしたね>タイムアウト しかし、 __mode=rss を付けて情報を取得する方法は良さげですね。

2005-10-23T13:13+09:00 - kade

いえいえ、むしろ馬の耳に念仏といったほうがいいかも。 __mode=rssもいいんですけど、普通にトラックバック送った際に同様の情報が返ってくるというのが本来あるべき仕様だと思うんだなぁボクは。

2005-10-24T21:32+09:00 - 真琴

はてなダイアリーみたいに、 Permalink と Trackback Ping が同じという仕様が一般的だったなら良かったかもしれませんね。 あれって method=post だったら ping と判断するとか、そういった処理をしているのかなあ ?

2005-10-31T21:52+09:00 - kade

どもです。間が空きましたがはてなさんはそういうナイスな仕様になってるのですか。勉強になりました。 送信された内容で切り分けするのはワタシでも出来たくらいだからはてなさんなら朝飯前でありましょう。

この記事に対するご意見やご質問、ご感想などありましたらこのフォームに簡潔に記入して下さい。 簡潔に記入できない場合や、関連記事にてご意見をお寄せいただく場合は、ご自身の weblog にて記事を書かれた上で あてにトラックバックとして送信してください。

記入フォーム

補足情報

著作、講演、制作実績など