2009-08-17 3 views
0

私は、URL、紹介コード、セッション、時間などを記録することによって、ページビューの非常に初歩的な追跡を行っていますが、ロボット(Google、Yahooなど)に爆撃されています。私は、これらの統計情報をフィルタにかけるか、ログに記録するのが効果的な方法ではないかと思います。すべてのウェブサイトの活動を追跡し、ウェブロボットのデータをフィルタリングする方法

私はロボットIPリストなどを実験しましたが、これは絶対確実ではありません。

robots.txt、htaccess、PHPサーバー側のコード、JavaScriptや他の方法でロボットを「騙したり、人間以外のやりとりを無視することはできますか?

答えて

1

ちょうど追加する - インターフェース内で使用できる手法は、Javascriptを使用して特定のユーザインタラクションビュー/カウンタの増分につながるアクションをカプセル化することです。非常に初歩的な例では、ロボットは従い

<a href="javascript:viewItem(4)">Chicken Farms</a> 

function viewItem(id) 
{ 
    window.location.href = 'www.example.com/items?id=' + id + '&from=userclick'; 
} 

追跡するこれらのクリックを簡単にするために、彼らはあなたが確実に何かが「クリック」された回数を追跡し、それは明らかに持っている役立つだろうな

www.example.com/items?id=4&from=userclick 

として要求をもたらすかもしれません欠点はもちろん、実際にはwに依存しますあなたが達成しようとしている帽子。

+0

ほとんどの/すべてのロボットがJavaScriptに従わないと仮定しましたか?この手法を使用する主な欠点は、JavaScriptを無効にしているユーザーにとって、侵入型JavaScriptおよびコンテンツにアクセスできないことです。しかし、これは、よりアクセスしやすいコードで簡単に修正でき、2つのトラッキングシステム(JavaScriptを使用した訪問とWITHOUT以外の訪問)を持つことで簡単に修正できます。ロボットではなく、ユーザエージェントによってフィルタリングされることはありません。 –

+0

@Peter - 彼らはJavascriptに従うことはできません。それはSEOのために侵入して悪いものです。私は、この技術を指摘する必要性を感じました。私は、開発者がGoogleのページに「spamdexes」というフラグを付けるのを防ぐために、膨大な数のリンクを隠すためにそれを使用していることを知っています。 – karim79

+0

@Peter - ...と私はしませんそれは自分:) – karim79

0

さて、ロボットはすべて特定のユーザーエージェントを使用するため、これらの要求を無視できます。

robots.txtを使用して訪問を拒否しただけでも、まあそれも動作します。

+0

ほとんどのロボットはロボットのテキストに従いますが、他のロボットはそれらを無視します。ユーザエージェントはまた、正確な情報を保持するために完全なリストアップと更新が必要です。 –

1

何を達成するかによって異なります。 検索のボットに特定のパスやページのアクセスを停止させたい場合は、それらをrobots.txtに含めることができます。よく動作するボットの大半は、それらを打つのをやめます。

ボットにこれらのパスのインデックスを付けるが、レポートでそれらを表示したくない場合は、いくつかのフィルタリングロジックを実装する必要があります。例えば。すべての主要なボットは、非常に明確なユーザエージェント文字列(たとえば、Googlebot/2.1)を持っています。これらの文字列を使用して、これらのヒットをレポートから除外することができます。

+2

ここをクリックしてください: http://www.useragentstring.com/pages/Crawlerlist/ 検索ボットで使用されるユーザーエージェント文字列があります。 – DmitryK

+0

私はボットがいつものようにすべてのページを訪れるようにしたいので、ユーザーエージェントは最も単純なフィルタリング方法かもしれません。 http://www.user-agents.org/は別の情報源ですが、これらはまだ定期的な更新とそれを介したフィルタリングの簡単な方法が必要ですね –

0

weelを再調査しないでください!

現時点で統計ツールは、ロボットのリクエストにフィルタをかけます。共有ホスティングがあっても、AWSTATS(オープンソース)をインストールできます。サーバーにソフトウェアをインストールしない場合は、ページの末尾にスクリプトを追加するだけでGoogleアナリティクスを使用できます。両方のソリューションは非常に良いです。このようにすれば、エラーを記録するだけで済みます(500,404、および403で十分です)。

+0

私はすでにawstatsとGoogle Analyticsを使用していますが、Analyticsには1つの代替オプションが必要です統計情報を表示するのに1日の遅れがあり、他のツールでは提供されていない、より具体的なアクティビティをトラッキングする必要があります。 –