Amazon が bot (ここでは ≒ web クローラ)を正規形である長い URL(ページ内容は同じ)にリダイレクトすることは、だいぶ昔から知られています。co.jp 以外は調べてませんが、co.jp でだけ特殊な動きをするってことも考えづらいので、多分同じでしょう。

技術的にまとまってるのは 404 Blog Not Found:http://www.amazon.co.jp/ の「二枚舌」に学ぶ究極のSEO(2007年の記事)で、ここを見ると特定の UserAgent だとリダイレクトするようだ、と書かれています。

さて、私が作っている IRC bot である小鳥botのページタイトル取得機能では、これまた Amazon にリダイレクトを食らいます。正規形でなくても内容は同じ(つまりページタイトルも同じ)なのでリダイレクトされるのは無駄ですし、リダイレクト経過を報告するようにしてあるので IRC の画面を占有してとてもウザいのも問題です。さっき試したらはてブでも相変わらずリダイレクトされないのに小鳥botが Amazon にホワイトリスト入りしてリダイレクトされるってことは考えられず、単なるホワイトリストではない何かということは予想できます。

で、ちょろっと試したところ、UserAgent が “somebot” とか “yetanotherbot” とか “KotoriBot” とかだとリダイレクトされて、”somebott” とか “KotoriBotForAmazon” とかだとリダイレクトされないようです。えーと UserAgent の末尾が bot(大文字小文字は区別しない)だと bot 扱いされてリダイレクトされるってことでしょうか。まあ単純。

小鳥botでは以前から Amazon に対しては特別対応(*1)しているので、その一環として UserAgnet も “KotoriBotForAmazon” になるように修正しました。長年の問題が解決しましたよ…

*1: Amazon はページタイトルが先頭からものすごく離れた位置に書いてあるというとてもダサい HTML を吐いてくるので、他のサイトとは違って 128KB まで読むようにしてある。

Trackback

no comment untill now

Add your comment now