特定のページのビューをカウントする Web サイト プロジェクトがあります。これらのビューを IP アドレスと日付として保存するので、ユーザーがそのページを数回クリックしても、1 回しかカウントされないことがわかります。
問題は、検索ボットが私の Web サイトにアクセスしたときに、実際のユーザーとしてカウントされないようにすることです。
私は通常、IPを実際のアドレスに変換し、「google」などの文字列と比較することにより、他のサイトでこれを行っています
しかし、それが実際のアドレスに変換されるまでに 3 ~ 4 秒かかることがあり、これが私のウェブサイトの速度を低下させます。
どうすればこの問題に取り組むことができますか?
アップデート
私はいくつかをさらに調査し、この簡単な解決策を思いつきました(あなたの答えに基づいて)
$global_bots = array("bot", "slurp", "spider", "crawl", "archiver", "facebook");
// 上記のこの変数は、すべてのファイルに含まれるグローバル設定ファイルに入れられます
$user_agent = $_SERVER['HTTP_USER_AGENT'];
$bot_count = 0;
do{
$pos = stripos($user_agent, $global_bots[$bot_count]);
$bot_count++;
}while($pos===false && ( $bot_count < count($global_bots) ) );
if($pos!==false){
//check if user already clicked today on this page, else record his ip
}else{
//don't record it, it's mostly a BOT
}
ボットで見つかった文字列など、これに関する他の更新がある場合は、気軽に回答してください。
ありがとう。