Définition de la directive Allow

Panneau de signalisation, image de la règle qui autorise ou interdit l'accès

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 :

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

À quoi sert 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.

Tous les robots reconnaissent-ils Allow ?

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.

Quelle est la règle de priorité entre Allow et Disallow ?

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.

Allow remplace-t-il la balise noindex ?

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.