最近、「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...
Apache2.4でのアクセス制限の書き方
Apache2.4では2.2で使っていたOrder allow,denyなどの記述が変更され、新しい書き方になったみたいです。ということで、その書き方を調べてみました。
アクセス制限の書き方
mod_authz_coreを使ったアクセス制限の書き方
全てのアクセスを許可する
<Directory "/admin">
Require all granted
<...
Bingbotのクローリングを抑制してもらう設定
Webサイトのログを見ていると、Bingbotが短時間に大量のアクセスをしていることが分かり、サーバーの負荷になっているようだったのでrotbots.txtで対策してみました。
robots.txtに追加した設定は以下のような感じです。
User-agent: Bingbot
Crawl-delay: 30
Crawl-delayを追加すると、指定した秒数を空けてアクセスしてく...