2010年07月09日

Naver の Yeti を追い出す

 この10日ほど、Trend Antenna にアクセスしにくい状況が続いています。データベースサーバに負荷がかかっているために、PHP の実行に制限がかかっているようです。

 エラーが出始めてから、データベースの構造を改善したり、SQL文の書き方を工夫してみたりしました。しかし、好転の兆しが見えず、かえって状況は悪化…。

 そんなときに、アクセス解析を眺めていたら、Naver のロボット、Yeti が大量にアクセスしてきていることが判明しました。普段、ロボットを除いたアクセス解析しか見ていなかったので気付かなかったのですが、改めて見てみると、全体の転送量の60%以上が Yeti によるアクセス。他の検索エンジンのロボットがせいぜい5〜6%なのに比べると、大きな違いです(ちなみに、Googlebot によるアクセスは、訪問回数こそ多いものの、転送量は非常に小さく、同じ内容のデータを読まないような配慮がされているように思います)。

 Naver 経由のアクセスもありませんし、人間のアクセスに支障が生じてまでロボットに配慮する必要はありませんから、Yeti を追い出すことにしました。

 方法としては、.htaccess と、robots.txt を併用することにしました。単にアクセス禁止にするだけだと、リソースの無駄遣いは減らせるものの、アクセス数そのものは減らせないからです。

 まず、.htaccess によるアクセス制限ですが、こちらは IPアドレスベースの制限をかけることにします。私のページにアクセスしてきたロボットの IPアドレスを JPNIC の Whois にかけて調べると、運営者である NHN Japan 株式会社が使用している IPアドレスが確認できます(結果)。これをすべてアクセス禁止にしてもよいのですが、それも気の毒なので、今回は 119.235.237.0/24 だけを制限することにしました(成果が出なければ拡大します)。また、後で述べるように robots.txt を読ませたいので、.htaccess に追加した記述は最終的に以下のようになります。

Order allow,deny
Allow from all
Deny from 119.235.237.0/24

<Files robots.txt>
order deny,allow
allow from all
</Files>

 次に、robots.txt の記述ですが、こちらは簡単で、

User-agent: Yeti
Disallow: /

これだけ。これで、robots.txt 以外へのアクセスを遮断したうえで、robots.txt を解釈してくれるのであれば、私のサイトに来てはいけないということを認識してくれるはずです。

 早く成果が挙がることを祈ってます。

 Baidu の BaiduMobaider もお行儀が悪いので、追い出すことにしました。こちらについては、IPアドレスの範囲が、119.63.195.0/24 なので(Baidu のクローラー情報ページ)、.htaccess に
Deny from 119.63.195.0/24
を追加しました。大量のアクセスでリソースを食いつぶされてしまうのは、本当につらい…(2010年7月22日:追記)

posted by まいける at 14:51 | Comment(0) | TrackBack(0) | その他

2009年11月08日

Amazon の書籍を楽天ブックスで買うためのブックマークレット(続き)

 前回のエントリーで書いたAmazon の書籍を楽天ブックスで買うためのブックマークレットですが、処理の流れとしては、

  1. javascript で表示中の Amazon の URL から ASIN を取得
  2. 取得した ASIN を Amazon の API に渡して ISBN を取得
  3. 取得した ISBN を楽天の楽天ブックス書籍API に渡して楽天ブックスの商品ページを取得
ということをやっています。

 書籍の場合はこれでうまくいくのですが、雑誌の場合はうまくいきません。雑誌には ISBN ではなく、JANコードが付けられており、ASIN→ISBN変換では値を返さないからです。

 いろいろ調べてみると、Amazon API の ItemAttributes レスポンスグループの中にある EAN が日本の雑誌の場合には JANコードになっていることがわかりました。そこで、ASIN→ISBN変換で値を返さない場合は、EAN を取得し、これを楽天ブックス雑誌検索API に渡すことで、雑誌でも楽天ブックスの商品ページを取得できるようになりました。

 これを応用すれば、CD や DVD でも Amazon→楽天の検索ができるかもしれません(未検証ですが)。

posted by まいける at 00:51 | Comment(0) | TrackBack(0) | その他

2009年11月05日

Amazon の書籍を楽天ブックスで買うためのブックマークレット

 厳密にいうと、Trend Antenna の開発とは直接関係がないのですが、ちょっとしたツールを作りましたので、ご報告。

 API の使い勝手の良さもあって、Webサービスで書籍を紹介する場合、大概のサービスは Amazon へのリンクを張っています。私がよく使うはてなもメディアマーカーも同様です。レビューの充実度をみても、確かに便利なのですが、実際に買う段になると、個人的にはポイントがたまっている楽天ブックスで買いたいのです。そこで、Amazon の商品紹介ページから楽天ブックスの商品紹介ページに橋渡しをするブックマークレットを作ってみました(下のリンクをブックマークに保存すれば利用できます)。私個人で使う分には、直接飛ばしてもよさそうな感じですが、一応確認ページをはさんでいます。

 Amazon to Rakuten

 Amazon の URL に ASIN または dp が含まれている場合のみに対応しています。それ以外の場合には、うまく動きませんので、ご了承ください。

posted by まいける at 13:11 | Comment(0) | TrackBack(2) | その他

2009年07月23日

Twitter 始めてみました

 何となく飛びついてみました(笑)。肩肘張らずに書けるのがいいのかもしれません。ただ、無意識につぶやいていると、プライバシーが漏れまくってしまいそうな予感。

 アカウントは、mikenews123 ですので、よろしければフォローよろしくお願いします。

posted by まいける at 00:13 | Comment(0) | TrackBack(0) | その他

2009年04月16日

「なかのひと」で利用者を分析してみた

 「なかのひと」で Trend Antenna の利用者を分析してみました。結果は下の通り。

男女比

23.png

年齢分布

age.png

 よく見られるキーワードから、男女比は男性のほうが多いと予想できましたが、年齢層が思ったよりも高くてびっくり。女性アイドルの画像を探している人が多いので、20代から30代の人が中心かと思ってました。
 もちろん、「なかのひと」は企業などからのアクセスのみを集計して年齢構成を推測しているので、うちのように企業外ユーザーが多いサイトではサンプルが偏っているのだと思うのですが。

posted by まいける at 23:15 | Comment(0) | TrackBack(0) | その他

2008年10月05日

アフィリエイト

 Trend Antenna とこのブログでは、アフィリエイトをいくつか利用しています。

 …といっても、直接利用しているのは、A8.net と Google Adsense くらいで、楽天 Amazon.co.jpは、主に API 経由での利用です。

 ほとんどのアフィリエイトは、申請すれば利用可能でしたが、唯一苦労したのは、Google Adsense。何度か申請して拒絶されました。その経験からわかったことは、

  • 本体サイトのようなコンテンツ自動生成型のコンテンツは申請しても拒絶される可能性が高い
  • Google にインデックスされていなくても申請自体は通る
  • ブログの記事数は3本くらいでも通る
  • サイトに本名の記載は不要だが、連絡先(メールフォームでも可)は必要

といったところです。ほかのブログにもいろいろ言及されていますが、自分の経験したものと少し違うことが書かれているものもあったので、参考までに記しておきます。

posted by まいける at 11:30 | Comment(0) | TrackBack(0) | その他

2008年05月29日

肝を冷やした瞬間

 環境構築の話を書こうと思っていたのですが、今朝、あまりに怖い目にあったので、その話を書こうと思います。

 今朝もいつものようにTrend Antennaのソースを編集していました。
 しばらくして、出先からアクセスしてびっくり。トップページがキーワード履歴のページになっているではありませんか!最初は設定を間違えたのかと思って、.htaccess などを眺めていたのですが、トップページのソースを見て愕然。キーワード履歴のページのソースで上書きされていました。

 元はといえば、トップページとキーワード履歴のページの両方を編集していたのが間違いの元。同じファイル名(index.php)だったため、上書きされるデータを確認せずに無意識のうちに上書きしてしまっていたのです。

 家に帰るまで、「元のデータが残っていなかったらどうしよう…」「作り直す気にはならないなぁ…」という思いがぐるぐるしていたのですが、データが残っていてほっと一息。こうしてブログが書けているのです(笑)

教訓:慣れている作業ほど慎重に行うべし。

 次回こそ、環境構築の話をしたいと思います。
posted by まいける at 01:29 | Comment(0) | TrackBack(0) | その他

2008年05月24日

はじめまして

 このブログは、Trend AntennaというWebサービスを立ち上げた際の覚え書きなどを書きつづっていこうと思います。

 簡単に自己紹介すると、関西在住・30代前半・男性・妻子持ち・職業はWebプログラマです。

 次回からはまず、環境構築について書いていこうと思います。
posted by まいける at 00:52 | Comment(0) | TrackBack(0) | その他