2012-01-14 5 views
4

私は、タスクとユーザーがタスクを完了したことを追跡するオンラインツールを用意しています。プロセスの一部として、私は$_SERVER['HTTP_USER_AGENT']を記録します。しかし、しばらくして、私は様々なボットやクローラーからの訪問を得る。 「自分の気持ちを傷つけることなく」他の場所で優しくリダイレ​​クトするにはどうすればよいですか?クローラのリダイレクト

私は、ボット名で配列を構築し、各エージェント情報を実行して、アレイ内に見つかった場合はリダイレクトすることを考えていました。

もっと良い方法がありますか?

+2

もしあなたが 'header(" Vary:User-Agent ");' – mario

+0

を送信することを忘れないでください。実際のユーザとクローラに異なる内容を与えることは、おそらく大規模な検索エンジンをあなたのサイトのランク検索結果に表示されます – ThiefMaster

+0

ああ、私はこれをチェックする必要があります。私は "Vary"に精通していません。ありがとう。 – santa

答えて

6

まだ完了していない場合は、robots.txtファイルを利用してほとんどのクローラを取り除くことができます。 See here.これは厳密には守られていません。クロールを続けている人は、IPで禁止することができます。これはiptablesを使ってLinux上で行うことができます。例:

iptables -A INPUT -s IP-ADDRESS -j DROP 
+0

私はrobots.txtを持っています。主に "悪い"ボットを禁止し、特定のディレクトリに移動することを禁止しています。訪問でき​​ないページを追加することはできますか?ページは動的で、常に同じ接頭辞で始まります:/ plan .../planDWXWS5WsD?ありがとう。 – santa

+1

'disallow/plan *'はgoogleで動作するかもしれませんが、ワイルドカードはダムクローラではサポートされていません。リンクごとにrel = "nofollow"というサフィックスを組み合わせる必要があります[http://support.google.com/webmasters/bin/answer.py?hl=ja&answer=96569](http://support.google.com/ webmasters/bin/answer.py?hl = ja&answer = 96569)。 –

+0

ええ、私はrel = "nofollow"を持っていますが、リンクを再投稿するユーザーがいると思います。今のところ私はワイルドカードソリューションを試して、とにかくボットを取得するかどうかをさらに監視するつもりだと思います。 – santa

3

メイクリストneeded spidersとし、このコードでリダイレクトします

header('HTTP/1.1 301 Moved Permanently'); 
header('Location: NEED_URL_HERE'); 

Actualy(クローラはそれを使用する場合)あなたが.htaccessrobots.txtを使用することができます

User-agent: * 
Disallow:/

UPD:これをSEO(クロウキング)に使用すると、検索エンジンによって罰せられることがありますのでご注意ください。

+0

User-agent:* Disallow:/私が保護しようとしているページが/ planDWXWS5WsDのように/ planで始まる場合、/ plan。 – santa

+0

.httpaccessとは何ですか? – Vultour

+1

私は '.htaccess'コースを意味します。このコードの使用を禁止することができます:User-agent:* Disallow:/ plan * – Barif

関連する問題