htaccess リファラスパム対策

htaccessロゴ

本日はhtaccessファイルによるリファラスパムの対策に関して記載していきたいと思います。

1.リファラスパムに気づいた経緯

最近、ふとGoogle Analyticsのデータを見た際に、存在しないページへのアクセスがあるコトに気づきました。
具体的には「/h/138474.html」「/h/83634.html」などと言ったページです。

analytics管理画面

参照元を見ると、下記画像のように表示されました。

analytics管理画面

autoseo-b2b-seo-services.com
autoseo-b2b-seo-service.com
seo-services-wordpress.com
resell-seo-services.com
auto-seo-service.com
auto-seo-services.net
autoseo-services.net
autoseoservices.net

auto-seo-service.org
autoseo-service.org
autoseoservice.org

your-seo-promotion.com
yourseo-promotion.com
yourseopromotion.com

your-seo-help.com
yourseo-help.com
yourseohelp.com

ほとんど同じような名前で、「auto-seo-service.org」と「autoseo-service.org」はハイフンがautoとseoの間にあるかないかだけなので、見落とし片方だけしか対策に入れないと、対策したはずなのにおかしいなとなってしまうコトもあるかもしれません。

2.htaccessによるリファラスパム対策 記述例

多くのサイトにリファラスパムの対策方法は記載されており、Google Analyticsを利用しているのであれば、フィルタ設定で除外すればデータには反映されなくなります。

しかし、ここではhtaccessを利用したリファラスパムの対策を記載したいと思います。

やり方は簡単で、サーバに設置してあるサイトデータの一番上の階層に「.htaccess」ファイルを設置、もしくは既に設置してある「.htaccess」ファイルの中に、下記記述を追加するだけです。

# リファラスパム対策設定
SetEnvIfNoCase Referer autoseo-b2b-seo-services.com spammer=yes
SetEnvIfNoCase Referer autoseo-b2b-seo-service.com spammer=yes
SetEnvIfNoCase Referer seo-services-wordpress.com spammer=yes
SetEnvIfNoCase Referer resell-seo-services.com spammer=yes
SetEnvIfNoCase Referer auto-seo-service.com spammer=yes
SetEnvIfNoCase Referer auto-seo-services.net spammer=yes
SetEnvIfNoCase Referer autoseo-services.net spammer=yes
SetEnvIfNoCase Referer autoseoservices.net spammer=yes
SetEnvIfNoCase Referer auto-seo-service.org spammer=yes
SetEnvIfNoCase Referer autoseo-service.org spammer=yes
SetEnvIfNoCase Referer autoseoservice.org spammer=yes
SetEnvIfNoCase Referer your-seo-promotion.com spammer=yes
SetEnvIfNoCase Referer yourseo-promotion.com spammer=yes
SetEnvIfNoCase Referer yourseopromotion.com spammer=yes
SetEnvIfNoCase Referer your-seo-help.com spammer=yes
SetEnvIfNoCase Referer yourseo-help.com spammer=yes
SetEnvIfNoCase Referer yourseohelp.com spammer=yes

Order allow,deny
Allow from all
Deny from env=spammer

これだけですが、htaccessファイル内に記述する際は、必ず最後に空の改行を入れるコトを忘れないようにしましょう。
上記で言えば、「Deny from env=spammer」の後に、改行を入れるというコトです。

とりあえずこの設定でリファラスパムは現在止まっております。
もし、お困りの方がいらっしゃいましたらお試しくださいませ。