0

特定のページのビューをカウントする 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
}

ボットで見つかった文字列など、これに関する他の更新がある場合は、気軽に回答してください。

ありがとう。

4

2 に答える 2