私のウェブページでは、訪問者の活動を分析のために登録しています。
ただし、結果はボットの訪問の影響を受けます。
DB にデータを保存する前に user_agent をチェックすることが賢明なアプローチであるかどうかを知りたいです (下部の関数を参照)。Web の負荷が高すぎて心配です。多くのボットがあり、各訪問で user_agent と 30 のボット リストをチェックするのが効率的かどうかはわかりません。
$bots = array( 'googlebot', 'msnbot', 'baidu', ... up to 30 );
$isRobot = false;
$ua = strtolower( $_SERVER['HTTP_USER_AGENT'] );
foreach ( $bots as $bot ) {
if ( strpos( $ua, $bot ) !== false )
$isRobot = true;
}
if ( !$isRobot ) {
// insert in the db
}
}
代わりに、DB への挿入を許可し、後で削除することもできます。