Définition de la directive Allow
Le fichier robots.txt contient des instructions destinées aux robots d'exploration (Googlebot, Yandexbot, Bingbot, etc.). La directive Disallow interdit l'accès à un chemin ou une section, tandis que la directive Allow crée une exception en autorisant explicitement l'accès à une URL précise au sein d'une zone bloquée.
La directive Allow ne figurait pas dans le protocole d'exclusion des robots d'origine, rédigé en 1994, qui ne connaissait que Disallow. Google l'a introduite et l'a fait entrer dans le standard : depuis septembre 2022, la RFC 9309 de l'IETF définit officiellement allow, disallow, les caractères * et $, et la règle de priorité par longueur de chemin. Googlebot, Bingbot et les principaux robots la respectent. Son absence des vieux gabarits de robots.txt tient à cet historique, pas à un défaut de prise en charge.
Syntaxe et exemples d'utilisation
La syntaxe est identique à celle de Disallow :
User-agent: Googlebot
Disallow: /espace-client/
Allow: /espace-client/mentions-legales/
Dans cet exemple, tout le répertoire /espace-client/ est bloqué sauf la page des mentions légales. Google respectera cette règle et n'explorera que ce chemin spécifique dans cette section.
Un autre cas typique consiste à bloquer un répertoire entier tout en autorisant ses ressources CSS et JavaScript, pour que Google puisse rendre les pages correctement. Google recommande d'ailleurs de ne jamais bloquer ces ressources, parce qu'il en a besoin pour afficher la page comme un navigateur.
User-agent: Googlebot
Disallow: /assets/
Allow: /assets/styles/main.css
Allow: /assets/scripts/app.js
La priorité entre Allow et Disallow
Quand les deux directives s'appliquent à la même URL, Google applique la règle la plus spécifique, c'est-à-dire celle dont le chemin est le plus long, quel que soit l'ordre des lignes. Les caractères * et $ comptent dans cette longueur, ce qui produit des cas moins intuitifs que les trois premiers exemples.
| Règle 1 | Règle 2 | URL testée | Résultat |
|---|---|---|---|
Disallow: /dossier/ |
Allow: /dossier/page.html |
/dossier/page.html |
Autorisé (Allow plus spécifique) |
Disallow: /dossier/page.html |
Allow: /dossier/ |
/dossier/page.html |
Bloqué (Disallow plus spécifique) |
Disallow: / |
Allow: /page/ |
/page/ |
Autorisé (Allow plus spécifique) |
Disallow: /*.htm |
Allow: /page |
/page.htm |
Bloqué (le chemin avec joker est plus long, exemple de la documentation Google) |
Disallow: / |
Allow: /$ |
/ |
Autorisé pour l'accueil seul, tout le reste bloqué : le $ marque la fin de l'URL |
En cas d'égalité, par exemple Allow: /dossier et Disallow: /dossier, Google applique la règle la moins restrictive, donc Allow. Ce comportement est documenté dans ses consignes pour les développeurs. Il en découle une conséquence pratique. Sur un site où le robots.txt a été édité par plusieurs personnes au fil des années, une ligne Allow ajoutée pour débloquer une page peut rouvrir bien plus que prévu si son chemin est court. Chaque ajout se teste sur les URL concernées.
Limites et précautions
Quelques points importants à garder en tête sur la directive Allow :
- Elle n'est pas universelle : certains robots peu scrupuleux ignorent aussi bien
DisallowqueAllow. Le robots.txt est une convention, pas un blocage technique réel. - Elle ne remplace pas une balise noindex : si une page est accessible mais ne doit pas être indexée, c'est la balise
noindexqui s'impose, pas une absence deDisallow. L'indexation Google se contrôle à deux niveaux distincts. - Le robots.txt ne cache pas les URLs : une URL bloquée dans robots.txt peut quand même apparaître dans les résultats si des liens externes pointent vers elle. Google peut indexer l'URL sans en avoir exploré le contenu.
- Tester la configuration : l'ancien outil de test du robots.txt de la Search Console a été retiré fin 2023. Il reste le rapport robots.txt, dans les paramètres de la Search Console, qui montre la dernière version lue par Google et ses erreurs de syntaxe, et l'outil Inspection d'URL, qui dit pour une adresse donnée si l'exploration est autorisée. Pour tester une règle avant de la publier, la bibliothèque open source de l'analyseur robots.txt de Google, ou le testeur intégré à Screaming Frog, font le même travail hors ligne.
- Respecter la taille limite : Google ne lit que les 500 premiers kibioctets du fichier et ignore le reste. Un robots.txt qui a accumulé des milliers de lignes peut voir ses dernières règles, souvent les
Allowajoutés récemment, tomber au-delà de la limite.
Pour une configuration sans erreur du robots.txt, un outil comme Screaming Frog permet d'auditer les directives appliquées à l'ensemble du site et de repérer les pages utiles bloquées par inadvertance.
Questions fréquentes sur la directive Allow
La directive Allow dans robots.txt permet d'autoriser explicitement l'exploration d'URLs précises au sein d'une zone globalement bloquée par Disallow. Par exemple, si vous bloquez tout le dossier /admin/ avec Disallow: /admin/, vous pouvez autoriser une exception comme Allow: /admin/public-page/ pour cette URL spécifique. Sans la directive Allow, il faudrait soit tout autoriser, soit tout bloquer.
Googlebot, Bingbot et les robots des principaux moteurs de réponse la respectent, et elle fait partie du standard depuis la RFC 9309 de septembre 2022, qui a formalisé le protocole d'exclusion des robots avec allow, disallow, les jokers et la règle de priorité par longueur. Les robots écrits avant cette date, ou ceux qui ne suivent que la version de 1994, peuvent l'ignorer, et les robots malveillants ignorent de toute façon l'ensemble du fichier. Pour Google et Bing, qui font l'essentiel du trafic de recherche, vous pouvez compter dessus.
Pour Googlebot, c'est la règle la plus spécifique qui gagne, indépendamment de l'ordre des lignes. Si Disallow: /folder/ et Allow: /folder/page.html sont présentes, la deuxième est plus précise, donc /folder/page.html sera explorée. Si deux règles sont également spécifiques mais contradictoires (par exemple Allow: /folder/ et Disallow: /folder/), Allow l'emporte. Les caractères wildcard (*) et le $ pour la fin d'URL ajoutent de la finesse à cette logique.
Non, ce sont deux mécanismes différents. Allow/Disallow contrôlent l'exploration (le robot accède ou non à l'URL), pas l'indexation. Une page peut être exploitée par Googlebot et bloquée de l'index par une balise noindex. À l'inverse, une page bloquée par robots.txt peut quand même apparaître dans les résultats si des liens externes pointent vers elle. Pour empêcher l'indexation, utilisez la balise noindex sans bloquer dans robots.txt.