J'ai un système qui liste les utilisateurs qui demandent trop de pages trop rapidement s'ils ne sont pas dans ma liste blanche. Nous sommes simplement inquiets pour les principaux moteurs de recherche et pour être honnête, Google est le seul qui inquiète mes patrons.
nom_industriel - localisateur_hôte
Googlebot - .googlebot.com
Yahoo! Slurp - crawl.yahoo.net
MSNBot - search.msn.com
Si HTTP_REQUEST_HEADER contient le nom du robot et que le nom de l'hôte (recherche DNS inversée de l'IP) contient le robot_Hôte de l'un des éléments ci-dessus, nous leur laissons demander le nombre de pages qu'ils souhaitent.
Cette liste est-elle suffisante? Cela couvrira-t-il les principaux moteurs de recherche? Ou pourrions-nous bloquer accidentellement un?
Modifier:
Je l’ai testé à l’aide de la fonctionnalité "Récupérer en tant que GoogleBot" de Google Webmaster Tools et il fonctionne comme prévu.
Selon Microsoft "Bing exploite aujourd'hui trois robots: bingbot, adidxbot, msnbot". C'est bien, je peux ajouter bingbot et adidxbot mais leurs noms d'hôtes résolus contiendront-ils encore "search.msn.com"?
C'est la mauvaise stratégie. En outre, les en-têtes sont triviaux pour usurper.
Honnêtement, les protections anti-chenilles sont très fragiles et généralement imprudentes. Vous risquez de bloquer les utilisateurs légitimes (qui seront ennuyés) ou d’oublier votre code, de le rendre obsolète et de bloquer les robots que vous souhaitez autoriser.
Vous pouvez toutefois vérifier si un bot appartient à Google - conseils ici: http://www.google.com/support/webmasters/bin/answer.py?answer=8055
Je ne suis pas sûr que la même chose soit possible avec d'autres robots. Franchement, ce n'est pas une stratégie que j'emploierais.