Module 3 · 3.3
Français
robots.txt : ce que vous bloquez et ce que vous ne bloquez pas
Module 3: Les bases techniques d'une page · Temps de lecture : 13 minutes
Objectif pédagogique : À l'issue de cette leçon, vous savez lire et écrire un robots.txt, déterminer vous-même si Googlebot a le droit d'explorer une adresse, expliquer ce qui se passe lorsque le fichier est absent ou inaccessible, et vous savez pourquoi robots.txt n'est ni une protection ni un noindex.
Notions clés : robots.txt (RFC 9309), robot d'exploration, groupe, User-agent, Disallow, Allow, correspondance la plus longue, longueur égale (Allow l'emporte), * et $, Sitemap:, code d'état du robots.txt (4xx, 5xx), 500 Kio, 24 heures de cache, pas une protection, pas un noindex, robots d'IA (Google-Extended, GPTBot)
Un panneau à la porte d'entrée
Un robots.txt est un simple fichier texte placé à la racine de votre site, toujours à la même adresse : https://www.example.com/robots.txt. Un robot d'exploration bien élevé (leçon 1.2) demande d'abord ce fichier et lit quelles parties du site il ne doit pas visiter. C'est un panneau à la porte d'entrée, pas une serrure : Googlebot et Bingbot le respectent, mais un robot malveillant lit le panneau et entre quand même.
Depuis 2022, le protocole est une norme Internet officielle : RFC 9309. Google décrit en outre précisément comment Googlebot lit le fichier. Nous utilisons ces deux sources dans cette leçon.
Quelques règles fixes :
- Le fichier se trouve à la racine de l'hôte. Un robots.txt placé dans
/blog/robots.txtn'est pas lu. - Il ne s'applique qu'à cet hôte, ce protocole et ce port.
https://www.example.com/robots.txtne s'applique pas àhttps://shop.example.com/; celui-ci a besoin de son propre fichier. - C'est du texte brut en UTF-8.
Comment le fichier est construit
User-agent: *
Disallow: /winkelmand/
Disallow: /zoeken
Allow: /zoeken/tips
User-agent: Googlebot
Disallow: /concepten/
Sitemap: https://www.example.com/sitemap.xmlLe fichier se compose de groupes. Un groupe commence par une ou plusieurs lignes User-agent:, suivies des règles Disallow: (ne pas visiter) et Allow: (visiter). Le chemin après Disallow: est le début d'une adresse : Disallow: /zoeken (zoeken signifie « rechercher ») bloque /zoeken, /zoeken?q=rozen et aussi /zoekenmachine, car elles commencent toutes par /zoeken.
La ligne Sitemap: n'appartient à aucun groupe et indique où se trouve votre sitemap (leçon 3.4). Google exige une adresse complète avec https:// et le nom d'hôte.
Un Disallow: sans chemin ne bloque rien. Disallow: / bloque tout.
Quel groupe s'applique ?
Un robot d'exploration choisit un seul groupe : celui dont le nom correspond le plus précisément à lui. Googlebot suit donc le groupe User-agent: Googlebot s'il existe, et ignore alors complètement le groupe *. Dans l'exemple ci-dessus, Googlebot a donc bien le droit d'aller dans /winkelmand/ (le panier) : cette règle ne figure que dans le groupe *. C'est l'une des erreurs les plus fréquentes : si vous créez un groupe distinct pour Googlebot, vous devez y répéter toutes les règles qui valent aussi pour Google.
Le nom n'est pas sensible à la casse (googlebot = Googlebot). S'il y a deux groupes pour le même robot, Google les fusionne.
Quelle règle l'emporte ?
Au sein du groupe, une adresse peut correspondre à plusieurs règles. Dans ce cas :
- La règle correspondante la plus longue l'emporte (le chemin le plus spécifique).
- Si un
Allowet unDisallowont exactement la même longueur, c'estAllowqui l'emporte. Google parle de « la règle la moins restrictive ».
Deux caractères ont une signification particulière :
| Caractère | Signification | Exemple | Correspond à | Ne correspond pas à |
|---|---|---|---|---|
* | zéro ou plusieurs caractères quelconques | Disallow: /*?sessie= | /rozen?sessie=12 | /rozen?kleur=rood |
$ | fin de l'adresse | Disallow: /*.pdf$ | /folder.pdf | /folder.pdf?v=2 |
Exemple de calcul avec le groupe * ci-dessus, pour le robot Bingbot (qui n'a pas de groupe à lui) :
| Adresse | Règles correspondantes | Résultat |
|---|---|---|
/winkelmand/ | Disallow: /winkelmand/ | interdit |
/zoeken/tips | Disallow: /zoeken (7 caractères) et Allow: /zoeken/tips (12) | autorisé : la plus longue l'emporte |
/zoeken?q=rozen | Disallow: /zoeken | interdit |
/bruidsboeketten | aucune | autorisé |
/robots.txt | (toujours) | autorisé : le robots.txt lui-même est toujours accessible |
Si le fichier n'existe pas, ou si le serveur flanche
Ce que fait Google dépend du code d'état avec lequel votre serveur répond à /robots.txt :
| Réponse | Ce que fait Google |
|---|---|
| 200 (trouvé) | Lit les règles |
| Redirection (301, 302) | Suit au moins cinq étapes ; ensuite, Google le traite comme un 404 |
| 4xx, comme 404 ou 403 (sauf 429) | Comme s'il n'y avait pas de robots.txt : tout est autorisé |
| 5xx ou pas de connexion | Pendant les 12 premières heures, Google n'explore pas le site et réessaie ; ensuite, jusqu'à 30 jours, il utilise la dernière bonne version en cache. Si le problème persiste alors que le site fonctionne par ailleurs, Google fait comme s'il n'y avait pas de robots.txt |
Un robots.txt absent n'est donc pas un problème : tout est alors autorisé. Un robots.txt qui renvoie une erreur serveur, en revanche, est un problème : Google arrête temporairement l'exploration. Le RFC 9309 est encore plus strict : si le fichier est inaccessible, un robot doit considérer que tout est interdit.
Par ailleurs :
- Google lit au maximum 500 Kio ; ce qui suit est ignoré.
- Google conserve généralement le robots.txt en cache jusqu'à 24 heures. Une modification n'agit donc pas immédiatement. Dans Search Console, sous Paramètres, vous trouvez le rapport robots.txt : la version que Google a récupérée en dernier, avec les erreurs et les avertissements, et un bouton pour demander une nouvelle exploration.
- Google ne connaît que
User-agent,Allow,DisallowetSitemap. Googlebot ignore les règles commeCrawl-delayouNoindex.
Ce que robots.txt ne fait pas
Ce n'est pas une protection
Tout le monde peut lire votre robots.txt, y compris les personnes malintentionnées. Une règle Disallow: /beheer-oud/ indique justement où se trouve quelque chose d'intéressant. Le RFC 9309 le dit lui-même : ces règles ne sont pas une forme de contrôle d'accès. Pour protéger réellement un contenu, utilisez un mot de passe ou faites refuser l'accès par le serveur, par exemple avec .htaccess (voir Pour aller plus loin).
Ce n'est pas un noindex
C'est le point le plus important. robots.txt gère l'exploration, pas l'indexation (leçon 1.3). Google écrit en toutes lettres que robots.txt n'est pas un moyen d'exclure une page de Google. Si d'autres sites renvoient vers une adresse bloquée, celle-ci peut tout de même apparaître dans les résultats de recherche, simplement sans description.
Si vous voulez exclure une page des résultats de recherche, utilisez noindex (dans une balise <meta name="robots"> ou dans l'en-tête HTTP X-Robots-Tag) ou protégez la page par un mot de passe. Et méfiez-vous du piège classique : si vous mettez aussi une page en noindex en Disallow dans robots.txt, Google ne peut pas visiter la page et ne lira donc jamais le noindex.
Ne bloquez pas les éléments dont Google a besoin
Ne bloquez pas les dossiers contenant les feuilles de style, scripts ou images dont votre page a besoin pour s'afficher correctement. Google affiche votre page comme le fait un navigateur ; sans ces fichiers, Google comprend moins bien la page.
Robots d'IA
De plus en plus d'entreprises collectent des pages web pour l'intelligence artificielle. Certaines d'entre elles peuvent être ciblées via robots.txt :
Google-Extendedn'est pas un robot distinct, mais un nom utilisé dans robots.txt pour indiquer si Google peut utiliser votre contenu pour entraîner les modèles Gemini et pour le grounding. Google indique que cela n'a aucune influence sur votre présence ou votre position dans la recherche Google.GPTBotd'OpenAI collecte des pages qui peuvent servir à l'entraînement de modèles.OAI-SearchBotsert à la fonction de recherche de ChatGPT : si vous le bloquez, votre site n'apparaît pas dans les réponses de recherche de ChatGPT.
User-agent: GPTBot
Disallow: /Le faire ou non est un choix, pas une nécessité technique. Si vous bloquez par erreur un robot de recherche (Googlebot, Bingbot, OAI-SearchBot), vous serez moins bien trouvé dans ce moteur.
En pratique : où se trouve votre robots.txt ?
- L'AI Builder de WebOké crée lui-même, lors de la publication, un robots.txt avec
User-agent: *,Allow: /et une ligneSitemap:. Si vous réglez le site sur « ne pas indexer », ou s'il s'agit d'une démo gratuite, il contientDisallow: /. - WordPress crée un robots.txt virtuel avec un renvoi vers le sitemap. Si vous placez vous-même un fichier
robots.txtdans le dossier web, c'est celui-ci qui prévaut. - Un site personnel sur un hébergement : vous placez
robots.txtdans le dossier web (avec DirectAdmin,public_html) via le Gestionnaire de fichiers ou par FTP.
Chez d'autres prestataires, le principe est similaire : le fichier doit toujours être accessible à l'adresse /robots.txt de votre hôte.
Résumé
- robots.txt se trouve à l'adresse
/robots.txtde chaque hôte et indique aux robots bien élevés ce qu'ils ne doivent pas visiter. - Un robot suit un seul groupe (le nom le plus spécifique, sinon
*). Au sein du groupe, la règle la plus longue l'emporte ; à longueur égale,Allowl'emporte. - Un 404 signifie « tout est autorisé », une erreur serveur fait temporairement arrêter l'exploration par Google. Google lit 500 Kio et met en cache jusqu'à 24 heures.
- robots.txt n'est ni une protection ni un noindex. Ne bloquez pas une page en
noindexdans robots.txt. - Les robots d'IA comme
GPTBotet le nomGoogle-Extendedse règlent séparément, sans conséquence pour la recherche Google.
Quiz
Exercice
Exercice A3.3 : Votre robots.txt passé au crible. Saisissez votre domaine, ainsi que trois adresses de votre propre site (par exemple la page d'accueil, une page produit et votre panier ou votre page de recherche), avec pour chaque adresse votre prévision : Googlebot peut-il l'explorer, oui ou non ? Le programme récupère votre robots.txt, examine le code d'état, la taille, les groupes et la ligne Sitemap:, et calcule pour chaque adresse ce que Googlebot a le droit de faire selon les règles de cette leçon. Votre prévision est-elle correcte ? Vous n'avez pas de site ? Utilisez www.wikipedia.org.
Pour aller plus loin
Les étapes décrites dans ces articles concernent les panneaux de WebOké ; chez d'autres prestataires, le principe est similaire.
- Guide DirectAdmin 11.1: Ouvrir le Gestionnaire de fichiers : les répertoires de votre hébergement
- Bloquer des fichiers via .htaccess, par exemple plugin-googlemap2-proxy.php
- Guide DirectAdmin 11.4: Afficher et modifier les fichiers cachés comme .htaccess
- Google Search Central, Comment Google interprète le fichier robots.txt : https://developers.google.com/search/docs/crawling-indexing/robots/robots_txt
- Google Search Central, Introduction au fichier robots.txt : https://developers.google.com/search/docs/crawling-indexing/robots/intro
- RFC 9309, Robots Exclusion Protocol : https://www.rfc-editor.org/rfc/rfc9309.html
- Google, Présentation des robots d'exploration (Google-Extended) : https://developers.google.com/crawling/docs/crawlers-fetchers/google-common-crawlers
- OpenAI, Présentation des robots d'exploration (GPTBot, OAI-SearchBot) : https://developers.openai.com/api/docs/bots
