アフィリエイトサイトのリンクをprettylinksで管理しているのですが
迷惑なクローラーがしょっちゅう来るので困ってます。
ec2-54-159-9-254.compute-1.amazonaws.com
などの
迷惑なクローラーをアクセス拒否
アクセス拒否をするにはhtaccessにアクセス拒否を追記する
以下のコードを.htaccess内に記載
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http(s)?://.*amazonaws\.com [NC,OR]
RewriteCond %{REMOTE_HOST} ^.*\.compute-1\.amazonaws\.com$ [NC,OR]
RewriteCond %{REMOTE_HOST} ^.*\.compute\.amazonaws\.com$ [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^AppEngine-Google [NC]
RewriteCond %{HTTP_USER_AGENT} ^Wget[NC]
RewriteRule ^(.*)$ – [F,L]
参考にさせていただいたサイト様
WordPressサイトの場合
サーバーのサイトがある階層に.htaccessがあるので
そちらを編集するといいでしょう。
サーバーへFTP接続とか面倒くさい
そういう方はプラグインで.htaccessを編集しちゃいましょう。
WordPressのhtaccessを管理ページから操作するプラグイン
プラグイン名
Htaccess File Editor – Safely Edit Htaccess File
作者: WebFactory Ltd
Htaccess File Editor と検索すれば見つかります
Htaccess File Editorの管理画面
初期設定で赤い部分に注意書きがあります
I understand Enable editor.
をクリックすると編集できるようになります。
編集状態になると
以下のようにWordPressが自動で生成したhtaccessの中身が表示されます。
.htaccessの文字列がたくさんありますが
下の方の空白部分に適当に改行して
さきほどのコード
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http(s)?://.*amazonaws\.com [NC,OR]
RewriteCond %{REMOTE_HOST} ^.*\.compute-1\.amazonaws\.com$ [NC,OR]
RewriteCond %{REMOTE_HOST} ^.*\.compute\.amazonaws\.com$ [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^AppEngine-Google [NC]
RewriteCond %{HTTP_USER_AGENT} ^Wget[NC]
RewriteRule ^(.*)$ – [F,L]
こちらをコピペします。
Save Changesをクリックして完了です。
セーブする前にTestすることもできます。
不安な人はテストしてみるといいでしょう。
以上
WordPressのサイトで迷惑なクローラーをアクセス拒否する手順でした。
IPアドレスで除外
一般的にクローラーはIPをいくつも変えて訪問してくるのでその際はIPアドレスで拒否しましょう。
IPアドレスで拒否する
記載例
order deny,allow
deny from 34.210.3.55
Amazon.comのボット例(実際のIP)
54.159.9.254
3.95.189.144
174.129.51.52
かなり複数のパターンでアクセスしてきます。
ひとつひとつ入力するのは面倒なので以下のように*で一括ブロック設定も可能です
54.159.9.*
3.95.189.*
174.129.51.*
order deny,allow
deny from
54.159.9.*
3.95.189.*
174.129.51.*
さらにサーバーによっては、
下の2つの数値(0-255)をまとめて登録出来る場合もあるみたいです。
以下のような表記も試してみるといいでしょう。
54.159.*
3.95.*
174.129.*
order deny,allow
deny from
54.159.*
3.95.*
174.129.*
いjy