Autoriser uniquement les robots Google et Bing à explorer un site

10

J'utilise le fichier robots.txt suivant pour un site: l'objectif est de permettre à googlebot et bingbot d'accéder au site à l'exception de la page /bedven/bedrijf/*et d'empêcher tous les autres bots d'explorer le site.

User-agent: googlebot
Disallow: /bedven/bedrijf/*
Crawl-delay: 10

User-agent: google
Disallow: /bedven/bedrijf/*
Crawl-delay: 10

User-agent: bingbot
Disallow: /bedven/bedrijf/*
Crawl-delay: 10

User-agent: bing
Disallow: /bedven/bedrijf/*
Crawl-delay: 10

User-agent: *
Disallow: /

La dernière règle User-agent: * Disallow: /interdit-elle à tous les robots d'explorer toutes les pages du site?

Konsole
la source
11
Toute cette tâche me concerne. Il existe d'autres moteurs de recherche et quiconque les utilise ne verra pas votre site. theeword.co.uk/info/search_engine_market dit que 4,99% d'Internet n'est pas sur vos moteurs de recherche. Ça fait beaucoup de monde. Une meilleure méthode serait de surveiller votre trafic et de voir si un bot cause réellement des problèmes, puis de les bloquer spécifiquement.
GKFX
8
Un bot qui se comporte mal pourrait tout simplement ignorer totalement votre robots.txtfaçon
Nick T
8
Les robots vraiment mauvais ne se soucient pas de robots.txt
Osvaldo
4
@NickT, dans le monde réel, il n'y a pas de pénurie de bots mal comportés qui suivent robots.txt, ou du moins la Disallow: /règle. Si votre site Web personnel est enfoncé dans le sol parce qu'un programmeur de robots n'a jamais considéré que le serveur pourrait être un Raspberry Pi à la mauvaise extrémité d'une connexion à 256 kbit, une exclusion globale comme celle-ci est utile.
Mark
2
@Console pourquoi?
o0 '.

Réponses:

24

Le dernier enregistrement (commencé par User-agent: *) sera suivi par tous les bots polis qui ne s'identifient pas comme "googlebot", "google", "bingbot" ou "bing".
Et oui, cela signifie qu'ils ne sont pas autorisés à ramper quoi que ce soit.

Vous pouvez omettre le *dans /bedven/bedrijf/*.
Dans la spécification robots.txt d'origine, *n'a pas de signification particulière, c'est juste un personnage comme les autres. Donc, cela ne permettrait que l'exploration des pages qui ont littéralement le caractère *dans leur URL.
Bien que Google ne respecte pas la spécification robots.txt à cet égard, car ils utilisent *comme caractère générique pour "toute séquence de caractères", ce n'est pas nécessaire pour eux dans ce cas: /bedven/bedrijf/*et /bedven/bedrijf/signifierait exactement la même chose: bloquer toutes les URL dont le chemin commence par /bedven/bedrijf/.

Et enfin, vous pouvez réduire votre robots.txt à deux enregistrements, car un enregistrement peut avoir plusieurs User-agentlignes :

User-agent: googlebot
User-agent: google
User-agent: bingbot
User-agent: bing
Disallow: /bedven/bedrijf/
Crawl-delay: 10

User-agent: *
Disallow: /
unor
la source
5
Notez que Google ignore la directive sur le délai d'exploration dans le fichier robots.txt. Vous devez plutôt le définir dans les outils Google pour les webmasters.
DisgruntledGoat
-2

Les bots, en particulier les mauvais, peuvent ignorer le fichier robots.txt. Donc, peu importe ce qui y est écrit, certains robots peuvent explorer votre site.

Atis Luguzs
la source