typoがドラフト状態の記事のpingを送信してしまう
Posted by elanbeat Sat, 29 Apr 2006 04:29:00 GMT
先ほどの記事 でidea * ideaさんの元記事 にドラフト状態のトラックバックをうってしまった件ですが、うっかりしたかと軽く考えていたのですが、調べてみたところ結構ややこしい問題でした。
まずは現象をおさらいしてみます。
- idea * ideaさんの記事を読んでインスパイアされる
- FirefoxのエクステンションであるPerformancing の「Blog this page」で、記事のドラフトを生成
- typoでサムネールを表示するように改変し、テスト
- (この間にどなたかがidea * ideaさんの記事にアクセスして「page not found」のサムネールがSimpleAPIにキャッシュされてしまう)
- ドラフトの記事に加筆して発行
- idea * ideaさんの記事をチェックすると、ドラフト状態のトラックバックが..。(呆然)
問題は2つあります。一つは2でPerformancingがトラックバック先のURLを取り込んで、その後表示されないこと。「Publishing options」に「Trackback URLs」の欄があり、トラックバックを送信するURLを複数入力することが出来るのですが、最初に取り込んだURLはここには表示されず、消去したり修正したりすることは出来ません。自動で挿入される元記事のリンクの方は消去可能ですので、トラックバックのことは意識しておく必要があります。
次に、こちらの方がより深刻ですが、同じく2で新しい記事を作成したtypoが、記事がドラフト状態にもかかわらずpingを送信してしまうことです。存在しない記事へのリンクを先方に作成した後で発行をしないこともありますし、発行したとしても今回のように中身やタイトルを後で変更することもありますので迷惑になる可能性があります。場合によっては意図せずスパムととられてしまうかもしれません。
さらには、トラックバックだけでなく通常のpingも同時に送信するので、pingを受けたブログアグリゲータや検索エンジンなどがFeedをチェックしに訪れます。しかし当然フィードには新着記事がまだ存在しませんからトラフィックの無駄です。そして記事を完成させて発行したときにはpingは送信されません。従ってアグリゲータや検索エンジンには(次の記事の生成時まで)反映されず、せっかくの記事を読んでもらうチャンスを減らしてしまいます。
あまりPerformancingは使っていませんでしたが、今まで気づかなかったのでドラフトのトラックバックを送信していたかもしれません。ざっとチェックしたところでは1件 [GIGAZINE]見つかりました。その後発行してある(タイトルは変えてしまっている)のでそれほど問題にはなっていないと思いますが、もしその他のサイトも含めてご迷惑をおかけしていたら大変申し訳なく思います。
対策ですが、
- Performancingで「Post as draft」で記事を投稿しない
- typoで記事の発行(publish)時にpingを送信するようにする
2がよいと思いますが、ソースをみるとXmlRPC(metaweblogapi)経由では全てのping先に送信、typoのWebインターフェースで記事を書くときは、新規においてはトラックバック先は指定できず通常のpingのみ送信、編集(edit)時には何もしない、となっています。XmlRPCは「Send trackbacks to external sites」をチェックしているので、とりあえずはこれを外し(typoからping送信しないようにし)、ping送信ツールを使用することにしました。私の環境ですとこの方法ではトラックバックスパム対策をしているブログの一部、送信元のIPアドレスを逆引きしてトラックバックする記事のドメイン名とチェックするなど、ではトラックバックできなくなりますが、間違えて迷惑をかけてしまうよりはいいかなと。



