Comment empêcher les bots et les logiciels automatisés d’explorer mon site à la recherche de données/images sans bloquer les moteurs de recherche


TL;DR : en ajoutant des règles dans votre fichier robots.txt et en utilisant un piège à pot de miel (comme dans cet exemple : Utiliser un simple piège à pot de miel pour bloquer les mauvais bots)

Si nous supposons que les bots suivront vos règles robots.txt, vous devez créer un fichier robots.txt dans votre répertoire racine et ajouter ce qui suit:


User-agent : Googlebot
Disallow :
User-agent : googlebot-image
Disallow :
User-agent : googlebot-mobile
Disallow :
User-agent : bingbot
Disallow :
User-agent : MSNBot
Disallow :
User-agent : Slurp
Disallow :
User-agent : *
Disallow : /

Cela empêchera tous les spiders (en dehors de ceux explicitement listés ci-dessus) de crawler votre site web.

Cependant, si un spider ne respecte pas les règles de votre robots.txt, vous devez créer un script pour détecter les navigateurs automatisés. Comment faire ? Eh bien, il y a plusieurs choses que les crawlers ont en commun (en général) mais que les vrais visiteurs n'ont pas:

  1. Le nombre de requêtes par seconde sur votre site web est beaucoup plus élevé que celui d'un visiteur typique
  2. Ils suivront n'importe quel lien qu'ils rencontrent
  3. Ils n'ont généralement pas javascript activé, pour des raisons de performance. Cependant, ne soyez pas dupes car certains d'entre eux peuvent utiliser un navigateur sans tête (comme PhantomJS)
  4. Ils ont généralement des en-têtes spécifiques (ou en manquent), contrairement aux vrais navigateurs (Chrome, Firefox)

Utilisez un piège à pot de miel pour les détecter et les bloquer. Un bon exemple est ici : Utiliser un piège simple pour bloquer les mauvais bots

J'espère que cela vous aidera!