2012-03-25 9 views
0

私はこれについていくつかの考えを持っていますが、私は両方の問題を見ることができます。 100%正確なデータは必要ありません。私がユーザーにルーティングしている最も一般的なドメインについての一般化を可能にする80%の解決策はうまくいきます。ボットを追跡せずに発信リンクのクリックを追跡するにはどうすればよいですか?

オプション1 - PHPを使用してください。経路をクリックして、参照ページが自分のドメインにあることを確認してから、クリックをトラッキングするファイルtrack.phpにリンクします。このページでは、ユーザーを最終的なURLにルーティングします。明らかにボットはこれを偽装することができます。多くをしますか?また、ユーザーエージェントをチェックすることもできます。繰り返しますが、私は多くのボットがこれを偽っていることを知っています。

オプション2 - JavaScriptを使用してください。クリックをデータベースに書き込んだら、ユーザーを最終的なURLに誘導するJavaScript on click機能を実行します。

これらの方法はどちらも、発信リンクに続くクローラに問題を引き起こす可能性があると感じています。これらの発信クリックをトラッキングする最も効果的な方法は何ですか?

答えて

1

発信リンク(Facebook、Twitter、ほぼすべての検索エンジンで使用されています)を追跡する最も効果的な方法は、 "track.php"タイプのファイルです。 http://duckduckgo.com/?q=how+to+detect+http+bots+site%3Astackoverflow.comしかし、User-Agentで "bot"という単純な文字列検索を実行すると、おそらく80%*に近づくでしょう。 (ヒット数が/robots.txtになるのを見て、あなたが扱っているボットのタイプによっては、95%*になるでしょう)。

*:半推測、ゼロ具体的なデータ

1

まあ、グーグル・アナリティクスとPiwikのそのためにJavascriptを使用に基づきます。

ボットはJSを使用できないため、人間だけがいることになります。他の方法では、人間もJSを無効にすることができます(ただし、誠実ではありません)。

Facebook、Deviantart、WLMなどは、サーバーのサイドスクリプトを使用して追跡します。私は彼らがボットをどのようにフィルタリングするのか分かりませんが、1つまたは2つのフィルタを備えた素敵なrobots.txtとそれは私が推測する80%を得るのに十分なはずです。

関連する問題