すべてのウェブサイトの活動とフィルタリングウェブロボットデータを追跡する方法
-
18-09-2019 - |
質問
私は、URL、紹介コード、セッション、時間などをログに記録が、それはロボット(グーグル、ヤフーなど)が殺到なってき見つけることによって、ページビューの非常に初歩的な追跡をやっています。私は効果的な方法は、フィルタリングまたはこれらの統計情報をログに記録しないことです何を思ったんだけど?
私はロボットIPリストのなどを試してきましたが、これは誰にでもありません。
缶「トリック」ロボットまたは非ヒトの相互作用を無視するのrobots.txt、htaccessを、PHPサーバ側コード、ジャバスクリプト又は他の方法(複数可)のいくつかの種類がありますか?
解決
ジャスト追加する - あなたはあなたのインターフェイス内で利用することができる技術は非常に初歩的な、たとえば、特定のユーザー・インタラクション・ビュー/カウンタがインクリメントにつながるアクションをカプセル化するために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
それはあなたが確実に「クリック」された回数何か追跡に役立つだろうが、それは明らかな欠点があり、そしてもちろん、それは本当にあなたが達成しようとしているかに依存します。
他のヒント
それはあなたが何を達成するかに依存します。 あなたが特定のパス/ページを訪問停止するボットを検索したい場合は、robots.txtの中でそれらを含めることができます。よく振る舞うロボットの大半はそれらを打つ停止します。
あなたはこれらのパスのインデックスにボットをしたいが、あなたのレポートでそれらを表示したくない場合は、あなたは、いくつかのフィルタリングロジックを実装する必要があります。例えば。すべての主要なボットは非常に明確なユーザーエージェント文字列(例えば、Googlebotが/ 2.1)を持っています。あなたの報告から、これらのヒットをフィルタリングするためにこれらの文字列を使用することができます。
まあロボットはすべて、特定のユーザーエージェントを使用しますので、あなただけのこれらの要求を無視することができます。
しかし、また、あなただけのrobots.txtを使用して、訪問からそれらを拒否した場合。よくそれはあまりにも動作します。
WEELをredescoverしないでください!
現時点ではいずれも統計的ツールは、ロボットの要求をフィルタリングします。あなたが共有ホスティングを持っている場合でも、AWStatsの(オープンソース)をインストールすることができます。ご使用のサーバーにソフトウェアをインストールしない場合、あなたはあなたのページの末尾にだけスクリプトを追加するGoogle Analyticsを使用することができます。どちらのソリューションは非常に優れています。このように、あなただけ(500、404および403は十分にある)あなたのエラーをログに記録する必要があります。