.htaccess

semalt.comというリファラスパムを.htaccessで遮断する方法

ふとアクセス解析をながめていたところ、リンク元にこんな URL が載っていました。
http://rankings-analytics.com/try.php?u=http://bobi6.com

試しにアクセスしてみたところ、別のアドレスにリダイレクトされました。
http://semalt.com/rankings

ネットで調べると semalt.com というのは海外(ウクライナ)の SEO 業者のようですが、日本ではスパムっぽいからブロックしたという記事がかなり出てきます。海外でも日本と同じくブロック処理されている記事ばかり引っ掛かるので、世間では明らかに嫌われものです。

実際、ASCII.jp の Semalt.com によるリファラスパムを遮断する方法 という記事を読む限り、semalt.com はまともな会社ではなさそうなので、アクセスをブロックするのが賢明でしょう。

【ASCII.jp 記事提供元】
Semalt com によるリファラスパムを遮断する方法 ::SEM R (#SEMR)
http://www.sem-r.com/news-2015/20150205153338.html

一番手っ取く semalt.com をブロックする方法は、semalt.net(運営:semalt.com)から Semalt Crawler をストップするよう申請することです。実際、この方法で semalt.com からのアクセスがなくなったと書かれているブログがあります。

semalt.comスパムクローラーを拒否する方法:IN-A-TRANZブログ
http://in-a-tranz.net/weblog/log/eid2210.html

ただ、この方法を使うとなると自分のドメインが生きていることをみすみす semalt.com に報告することになります。もし、semalt.com が悪質なスパム業者だとしたら、自分のドメイン情報を何に悪用されるか分かりません。そう考えるとこの方法は選択すべきではないでしょう。

もうひとつの方法は、.htaccess の記述でブロックする方法です。

その中で、一般的に広まっている記述は以下になります。

【参考リンク】
semalt.comからやたらアクセスが来るので拒否 | K-TechL@bo
http://biz-crew.com/archives/258
あなたのアドセンス広告、success-seo.comに掲載されてませんか? – アフィリエイトシグナル|初心者の副業脱出プロジェクト
http://www.affiliate-signal.com/2316.html
【wordpress】semalt.comがウザいので.htaccessでブロックする – Gameforecast
https://www.gameforecast.net/201406171152

Apache 関連のサイトにもこの記述が書かれていますが、一般的に広まったのは WordPress Forum のこちらの記事でしょう。

WordPress › Support » How to block semalt.com from visiting your WordPress website…
https://wordpress.org/support/topic/how-to-block-semaltcom-from-visiting-your-wordpress-website

Apache 関連のサイトはこちら。

Fight Blog Spam with Apache:AskApache
http://www.askapache.com/htaccess/fight-blog-spam-with-apache.html

実際、英語で書かれたサイトでもこの記述まんまを紹介しているブログがかなり見受けらるので、海外でも一般的な方法として認知されていることが分かります。

ただ、この記述では以下の記述が謎です。

SetEnvIfNoCase Via evil-spam-proxy spammer=yes
SetEnvIfNoCase Referer evil-spam-keyword spammer=yes

まずこの 2 つの記述ですが、何を spammer として指定しているのかまったく謎です。自分なりに調べてみましたが、まったく分かりませんでした。「悪いスパムプロキシ」と「悪いスパムキーワード」をスパム指定しますよ、という意味でしょうか?くわしい方教えてください。

SetEnvIfNoCase Referer evil-spam-domain.com spammer=yes

これは evil-spam-domain.com というドメインをブロックする記述部分なのですが、このドメインは現在、空きドメインなのでブロックする必要はないでしょう。

SetEnvIfNoCase Referer poker spammer=yes

この記述が一番謎なのですが、ポーカーという文字列をブロックしているのでしょうか?これもよく分かりませんでしたので、くわしい方がいらっしゃいましたら教えていただけるとうれしいです。

いろいろ書きましたが、semalt.com をブロックするだけだったら以下の記述だけで十分です。

【参考リンク】
特定のリファラーからのアクセスを.htaccessで遮断する話:SS女子的WordPress試行錯誤
http://shikosakugo.net/wordpress/deny-semalt/
semalt.com?? | さくっとwordpress∞
http://wp.clean-navi.com/semalt-com%EF%BC%9F%EF%BC%9F-850.html

semalt.com以外のドメインをブロックする場合は、semalt.com の部分をブロックしたいドメインに置き換えて記述します。

SetEnvIfNoCase Referer 【遮断するドメイン名】 spammer=yes

改行して複数追記していくことも可能です。

【参考リンク】
google analyticsに謎の参照元が・・・semalt.comてなんぞや? | CreativeTips
http://11neko.com/wordpress-2/

すべてのリファラスパムをブロックする場合は、こちらの記事を参考にしていただくといいでしょう。2015/12/03 現在のリファラスパムボットはほぼ網羅できているとのこと。

リファラスパムからアクセス解析(Google Analytics)のデータを守る対策:W3G
https://w3g.jp/blog/block_referer-spam-bots

結局のところ、私もW3Gさんの記事に記載されている記述を .htaccess に使用しています。

それにしても Apache は難しいですね。今回はいろいろな記事を参考にさせていただきました。文中にも記載させていただきましたが、その他に参考にさせていただいた記事も紹介させていただきます。

参考サイト

Google アナリティクス:リファラスパム対策 | ARTICLE | goma
http://www.goma.pw/article/2015-03-27-0/
mod_setenvif – Apache HTTP サーバ
http://httpd.apache.org/docs/2.0/ja/mod/mod_setenvif.html
アクセス拒否の方法 | :: plasticdreams ::
http://plasticdreams.org/2006/08/21/deny-refere-spam/
IE6からのアクセスをそろそろ拒否するかもしれない – ヲレサイト
https://woresite.jp/2013/08/02/053114.html
cl.pocari.org – リファラスパムは pinappleproxy というプロキシを経由してくる?
http://cl.pocari.org/2005-12-07-3.html
WordPress › フォーラム » .htaccessの中身の意味がわかりません
https://ja.forums.wordpress.org/topic/24484
rewriteモジュールを使ってProxy経由からのアクセス制限をする – Linux備忘録
http://blog1.papanda.jp/2004/02/rewriteproxy.html
Mod_Rewriteを使って、リダイレクト設定する手順をまとめてみた:ゆとり世代のブログ運営論
http://viral-community.com/seo/mod_rewrite-3019/
たぶん難しくないApache2・挑戦!RewriteRule・その1~基礎編:リダイレクトしてみる~:ぴろにっき:So-netブログ
http://piro791.blog.so-net.ne.jp/2009-12-24
杉浦とホームページ製作~URLを書き換えろ!「Rewrite 機能とは」
http://www.nurs.or.jp/~sug/homep/rewrite/rewrite1.htm

更新履歴

2015.10.29 新規投稿
2016.04.22 ぼび6.com から移動・修正

コメントを残す

*