.htaccessで特定ボットのアクセスを拒否する書き方

最近、「SemrushBot」「Linespider」「BLEXBot」あたりのボットが活発に活動しているようで、Webサーバーに大量のログが残っていました。検索エンジン関係であればボットのアクセスも必要経費と見なせますが、SEO系ボットによるアクセスはサーバーの負荷になるだけなので、余り嬉しくありません。

ということで、特定のボットによるアクセスを拒否したい場合は.htaccessに以下の内容を追加してみると良いと思います。注)

SetEnvIf User-agent "SemrushBot" BadBot
SetEnvIf User-agent "Linespider" BadBot
SetEnvIf User-agent "BLEXBot" BadBot
Deny from env=BadBot

robots.txt

User-agent: SemrushBot
Disallow: /

User-agent: Linespider
Disallow: /

User-agent: BLEXBot
Disallow: /

のようにする方法もありますが、robots.txtを見ないボットもあり一々調べるのも面倒ですから、.htaccessが使えるサーバーであれあば.htaccessで拒否する方が望ましいと思います。


注) SemrushBot、Linespiderなどの文字列はアクセスログからユーザーエージェントを調べてください。(ユーザーエージェントの一部に該当文字列が含まれていれば拒否する設定になっています。)

関連記事

htaccessとhtpasswdを使ったBasic認証の設定
Basic認証は安全性に問題があり本格的に使うことは稀と思いますが、簡単に設置できるので簡易的なアクセス管理に便利です。 .htpasswdの作成 SSHなどで設置先のサーバーにログインできるという前提で説明します。 SSHでログインできない場合は、ローカルPCなどで.htpasswdを作成してアップロードすることになります。注 新規作成 以下はlolipopという...

htaccessでwwwのアリとナシで統一
wwwアリで統一する場合 RewriteEngine on RewriteCond %{HTTP_HOST} ^example\.com$ RewriteRule (.*) http://www.example.com/$1 [R=301,L] wwwナシで統一する場合 RewriteEngine on RewriteCond %{HTTP_HOST} ^www.exa...

Access-Control-Allow-Origin
設置したCGIを違うドメインからでも使えるようにしたい場合は、HTTPヘッダーにAccess-Control-Allow-Originを追加するとできるようになるそうです。 CGI側でヘッダーを追加する場合 次のような感じでHTTPヘッダーを追加します。 print('Access-Control-Allow-Origin: *') print('Content-Type: t...

Bingbotのクローリングを抑制してもらう設定
Webサイトのログを見ていると、Bingbotが短時間に大量のアクセスをしていることが分かり、サーバーの負荷になっているようだったのでrotbots.txtで対策してみました。 robots.txtに追加した設定は以下のような感じです。 User-agent: Bingbot Crawl-delay: 30 Crawl-delayを追加すると、指定した秒数を空けてアクセスしてく...

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です