Php - Détecter les bots (google, alexa, ask, etc.)

La plupart des moteurs de recherche utilise un "bot" qui parcourt vos pages. Pour diverses raisons, vous pouvez être amené à devoir détecter ces robots. Cette fonction php "is_bot" vous permettra de les détecter.

Usage :
<?php $boolean = is_bot(); ?>

La fonction retourne true s'il s'agit d'un bot, ou false s'il s'agit d'un internaute "normal".

 

La fonction :
<?php
function is_bot(){
$botlist = array(
"Teoma",
"alexa",
"froogle",
"inktomi",
"looksmart",
"URL_Spider_SQL",
"Firefly",
"NationalDirectory",
"Ask Jeeves",
"TECNOSEEK",
"InfoSeek",
"WebFindBot",
"girafabot",
"crawler",
"www.galaxy.com",
"Googlebot",
"Scooter",
"Slurp",
"appie",
"FAST",
"WebBug",
"Spade",
"ZyBorg",
"rabaz");

foreach($botlist as $bot) {
if(ereg($bot, $_SERVER['HTTP_USER_AGENT']))return true;
}
}
?>

 

A tout hasard, je précise tout de même que google n'apprécie pas beaucoup les contenus différents pour son bot et l'internaute. A utiliser, donc, avec parcimonie ou par soucis statistique.

En détails fonctionnels, la fonction définit un tableau contenant une liste d'expressions contenus dans la plupart des bots d'indexation, puis parcourt le tableau en comparant chaque entrée à l'user_agent de l'utilisateur (qui est, d'ailleurs, facilement modifiable via de nombreux plugin firefox, ou chrome)
Gpenverne

Gpenverne

Développeur backend symfonien, qui trouve toujours moyen de faire des machins avec des bidules même si ce n'est pas utile.

Read More