2ページ目以降のクローラ拒否
2010-03-01-3
[Maintenance][Programming]
検索とのマッシュアップ系サイトにて、2ページ目以降のクローラ拒否処理を標準装備。
クローラ大量来襲時に外部APIを呼ぶ回数を減らしてサーバを保護。
例えばこんな感じ:
$start がページを表す。 $start == 1 が1ページ目。それ以上だと2ページ目以降。
robots.txt や .htaccess だとうまく書けないので。
というか、URL設計のミスなんだけど今更なので。
クローラ大量来襲時に外部APIを呼ぶ回数を減らしてサーバを保護。
例えばこんな感じ:
#!/usr/bin/perl
use CGI;
...
if ($start > 1 and $q->user_agent() =~ /bot|slurp|craw|spid/i) {
print $q->header(-charset => 'UTF-8');
print qq(<html><head><meta name="robots"
content="noindex,nofollow"></head><body></body></html>\n);
exit;
}
$start がページを表す。 $start == 1 が1ページ目。それ以上だと2ページ目以降。
robots.txt や .htaccess だとうまく書けないので。
というか、URL設計のミスなんだけど今更なので。
この記事に言及しているこのブログ内の記事
