Le fichier robots.txt
Portrait Olivier Duffez

Olivier Duffez

Créateur de WebRankInfo,
consultant en référencement

SEO : 21 conseils sur le fichier robots.txt à ne pas rater

Le fichier robots.txt permet de bloquer le crawl des moteurs de recherche pour certaines URL ou parties d'un site. Ce dossier détaille tout, avec plein de conseils SEO que vous ne connaissiez peut-être pas...

Article mis à jour le 03/07/2019 (noindex), publié initialement le 01/07/2014

Il n'a l'air de rien ce fichier texte, mais le fichier robots.txt joue pourtant un rôle majeur dans le SEO. Lisez donc ce dossier avec attention...

Conseils SEO sur le fichier robots.txt

Le Standard for Robot Exclusion fut créé pour éviter que des crawlers consomment trop de ressources du serveur et fassent "tomber" un site web. Il faut dire qu'en 1994, la bande passante était vraiment limitée.

Voici les erreurs les plus courantes :

  1. Google télécharge le fichier robots.txt en moyenne une fois par 24h depuis l'an 2000 (avant c'était plutôt une fois par semaine). Parfois, cette fréquence est modifiée (voir les détails ici). Cela signifie que si vous souhaitez bloquer une URL, il est plus prudent de l'ajouter aux blocages dans le fichier robots.txt au moins 24h avant de mettre l'URL en ligne
  2. Si une URL a déjà été indexée par Google, alors la bloquer dans le robots.txt ne changera rien : en tout cas l'URL restera indexée. En effet, Google n'ayant plus l'autorisation de crawler la page, celle-ci ne sera plus crawlée et restera dans l'index telle quelle. Pour désindexer une URL, il faut autoriser son crawl et utiliser une balise meta robots noindex ou un entête HTTP X-Robots-Tag (ou bien, exception, aller faire une demande de suppression d'URL dans Google Search Console).
  3. En 2008, Google a indiqué que son robot Googlebot tient compte de directives supplémentaires, non définies dans le standard. Il s'agit des caractères joker $ et *, de la commande Allow et de la déclaration de fichier sitemap (lisez mon tuto sitemaps pour les détails).
  4. Ne bloquez pas le crawl des URL qui se font rediriger, sinon les moteurs ne pourront pas se rendre compte de cette redirection
  5. Les commentaires sont autorisés (la ligne doit commencer par #) mais ils sont totalement ignorés
  6. Le fichier robots.txt ne sert pas à protéger l'accès à une URL ou une rubrique (il faut plutôt exiger un login) : n'indiquez donc pas des URL "sensibles"...
  7. La taille maximale d'un fichier robots.txt est de 500Ko (attention, ce qui dépasse sera ignoré par Google)
  8. Dans certains cas, Google indique dans Google Search Console qu'il rencontre des problèmes d'exploration du fichier robots.txt. Google doit obtenir soit un code 200 (le fichier existe bien et lui est accessible) ou un code 403 ou 404 (le fichier n'est pas accessible mais le code HTTP renvoyé est cohérent).
  9. le fichier robots.txt peut se retrouver lui-même indexé dans Google. Pour le désindexer, vous devez soit utiliser X-Robots-Tag soit interdire le crawl du fichier puis le faire supprimer de l'index dans Google Search Console.
  10. La directive Crawl-delay est gérée par Bing mais ignorée par Google (pour ce dernier, il faut configurer ce paramétrage dans GSC).
Pour d'autres infos sur le robots.txt voyez mon tuto sur le fichier robots.txt

Je complète avec mes autres conseils sur le robots.txt :

  1. si en préprod vous avez bloqué le crawl de tout le site (Disallow: /), pensez à retirer cette directive avant de mettre le site en prod...
  2. l'URI doit toujours commencer par un slash
  3. faites bien attention à l'ordre des directives Allow: et Disallow: (attention, Allow n'est pas standard, même si Google la gère)
  4. le nom du fichier doit obligatoirement s'appeler robots.txt, avec un S à robots, en minuscules exclusivement
  5. il doit y avoir un fichier robots.txt pour chaque sous-domaine
  6. il doit y avoir un fichier robots.txt pour chaque protocole (HTTP et HTTPS)
  7. contrairement aux autres, Google accepte le fichier robots.txt sur le protocole FTP
  8. ce fichier texte doit préférablement être encodé en UTF-8. Si vous incluez un BOM au début, il sera ignoré.
  9. Les espaces sont optionnels (mais recommandés pour améliorer la lisibilité du fichier)
  10. Seules 4 directives sont prises en compte par Google (la casse est ignorée pour ces directives) : user-agent, disallow, allow, sitemap
  11. La directive noindex n'est pas standard, vous ne devez pas l'utiliser dans le fichier robots.txt, surtout que depuis le 1er septembre 2019 elle n'est plus supportée par Google (source)
Je vous propose une astuce sur le robots.txt regardez-la en vidéo !

FAQ fichier robots.txt

A quoi sert le fichier robots.txt ?

  • Par défaut, Google (et les autres robots) s'autorise à crawler toutes les URL de votre site
  • Sauf celles que vous avez explicitement interdites dans le fichier robots.txt
  • C'est utile pour économiser du "budget de crawl"
  • Si c'est bloqué dès leur mise en ligne, cela permet aussi d'éviter que des pages soient indexées

Que faut-il mettre dans son fichier robots.txt ?

Indiquez ce qui n'a pas besoin d'être crawlé (et donc indexé), par exemple :

  • des types d'URL qui n'ont aucun intérêt pour le référencement (tri, modes d'affichage, etc.)
  • des rubriques du site (répertoires) qui ne doivent jamais être indexées, si le cas se présente pour vous
  • des types de fichiers qui ne doivent pas être indexés (par exemple les PDF si c'est le cas pour vous)

A quoi sert Disallow dans le robots.txt ?

Cette directive interdit aux robots des moteurs de recherche de crawler une ou plusieurs URL correspondant au motif indiqué dans la seconde partie de la ligne. Ce motif doit impérativement commencer par un slash (/), qui représente la racine du site (sous-domaine).

Par exemple la ligne ci-dessous interdit le crawl du répertoire /recherche/ situé à la racine du même sous-domaine que celui du fichier robots.txt :

Disallow: /recherche/ 

Faut-il déclarer son sitemap dans le robots.txt ?

Vous pouvez déclarer un ou plusieurs fichiers sitemaps dans chaque fichier robots.txt, mais ce n'est pas obligatoire. Vous pouvez aussi les déclarer directement dans la Search Console de Google et dans Bing Webmaster Tools.

Ayez conscience que l'accès à ce fichier étant public, n'importe qui aura connaissance de l'URL de votre sitemap (dont le choix est totalement libre).

Est-ce grave de ne pas avoir de fichier robots.txt ?

Non ! Sachez cependant que dans ce cas cela signifie que vous autorisez à tous les crawlers d'aller partout sur votre site.

Le petit inconvénient est qu'à chaque fois qu'un moteur de recherche tente d'accéder à votre fichier robots.txt (Google le fait plusieurs fois par semaine), cela génère une erreur 404.

Peut-on avoir un fichier robots.txt vide ?

Oui, cela ne pose aucun problème. Cela signifie que tout est autorisé au crawl.

Comment configurer le crawl-delay dans le robots.txt pour Google ?

Ce n'est pas possible ! La directive crawl-delay n'est pas prise en compte par Google (par contre le robot de Bing en tient compte).

Si vous souhaitez ralentir Googlebot, faites la demande dans votre compte Search Console. Cela étant, cela ne devrait pas arriver souvent, ou alors vous avez besoin d'améliorer les performances de votre serveur.

Comment trouver et lire le fichier robots.txt ?

Ce fichier est public, n'importe qui peut le consulter. Il suffit de vous rendre à l'URL du fichier, qui est toujours la même : /robots.txt dans le sous-domaine qui vous intéresse.

Faut-il un robots.txt pour le site en HTTPS ?

Si votre site a basculé de HTTP à HTTPS, alors le fichier /robots.txt en http est certainement redirigé en code 301 vers le fichier /robots.txt en https. Et c'est sans doute le même fichier sur votre serveur (à vous de vérifier).

Si votre site est consultable aussi bien en HTTP qu'en HTTPS (selon les rubriques ou pages du site), alors vous devez avoir un fichier robots.txt en HTTPS en plus de celui en HTTP.

Comment créer un fichier robots.txt ?

Prenez un éditeur de texte (le plus simple possible, pas Word) et saisissez le contenu souhaité. Si besoin, utilisez un générateur de fichier robots.txt (voir les outils ci-dessous).

Ensuite, uploadez-le par le système prévu sur votre site. Souvent il faut passer par le FTP.

Certains CMS proposent de créer ou modifier le fichier directement depuis votre back-office.

Comment modifier le fichier robots.txt ?

Récupérez la dernière version (a priori celle qui est en ligne sur votre site) et téléchargez le fichier. Il suffit d'aller à l'URL du fichier et de l'enregistrer (Fichier > Enregistrer sous...) au format texte.

Ensuite, libre à vous de le modifier puis de le transférer sur votre site (en général par FTP).

Certains CMS proposent d'éditer votre fichier directement depuis votre back-office.

Comment supprimer un fichier robots.txt ?

De la même manière que vous l'avez créé, vous devriez pouvoir le supprimer.

Généralement, pour supprimer un fichier robots.txt il faut passer par FTP et aller dans le même répertoire que celui de la page d'accueil du site.

Où trouver un générateur de robots.txt ?

Vous devriez faire très attention si vous utilisez un outil externe de type "robots.txt generator" car il faut bien comprendre ce qu'on autorise et ce qu'on bloque.

Il existe de nombreux générateurs de robots.txt, essayez par exemple celui de ryte.com et celui de seobook.com

Faut-il utiliser le robots.txt ou les balises meta ?

Ils ne servent pas à la même chose :

  • le robots.txt sert à gérer le crawl, c'est-à-dire en amont, avant que le crawler vienne consulter vos pages
  • les balises meta servent à gérer l'indexation, c'est-à-dire en aval, une fois que le crawler est venu consulter vos pages
Pour ne plus confondre, lisez le dossier balises meta ou fichier robots.txt ?

Avec quel délai Google tient-il compte du fichier robots.txt ?

Une fois que vous l'avez modifié, il faut attendre que son robot le récupère, ce qui prend quelques heures ou quelques jours en général. Mais si vous êtes pressé, il suffit d'utiliser Search Console pour signaler à Google que votre fichier robots.txt a changé. Pour cela, consultez mon tuto en vidéo. En gros :

  1. Allez dans la rubrique Exploration
  2. Cliquez sur Outil de test du fichier robots.txt
  3. Cliquez sur "Envoyer"
  4. Dans le popup, repérez "Demander la mise à jour à Google" et cliquez sur "Envoyer"

Peut-on utiliser noindex dans le fichier robots.txt ?

Pendant des années, Google gérait cette directive bien qu'elle ne soit pas officielle. Non seulement Google ne crawlait plus les URL concernées, mais il les désindexait rapidement.

Ce n'est plus possible : en juillet 2019, Google a décidé de rationaliser les choses. Le fichier robots.txt sert à gérer le crawl (exploration) et non pas l'indexation. La directive noindex ne sera donc plus supportée à partir du 1er septembre 2019.

Solutions de substitution : comment désindexer des pages ?

Peut-on bloquer les CSS et JS dans le fichier robots.txt ?

En théorie oui, vous pouvez, mais c'est déconseillé.

En effet, sauf cas particulier, ces fichiers peuvent être nécessaires au rendu des pages de votre site. Si vous interdisez les robots des moteurs de recherche à y accéder, ils ne pourront pas se rendre compte à quoi ressemblent vos pages. Dans certains cas, ils pourraient même ne pas accéder à tout votre contenu (s'il nécessite les codes Javascript que vous bloquez).

Donc en pratique, ne bloquez pas les fichiers CSS et Javascript dans le robots.txt. D'ailleurs, si vous le faites, il est probable que Google vous avertira que vous "bloquez des ressources".

Le fichier robots.txt avec Wix

Si votre site est géré par Wix, alors un fichier robots.txt est automatiquement créé avec certaines instructions pour interdire le crawl de certaines ressources.

Vous ne pouvez pas modifier votre fichier robots.txt sous Wix...

Si vous avez d'autres questions sur ce fichier, posez-les ici en commentaires.

Ressources sur le fichier robots.txt

Voilà encore d'autres infos qui peuvent vous servir :

Ranking Metrics

A ne pas manquer : Utilisez également mon outil RM Tech sur My Ranking Metrics pour analyser votre SEO sur le plan technique. Il respecte les directives de vos fichiers robots.txt comme le fait Google ; il vous aidera à découvrir tous les points techniques qui bloquent ou pénalisent votre référencement naturel. Cet outil payant dispose d'une version gratuite.

Cet article vous a-t-il plu ?

Note : 4.3 (16 votes)
Cliquez pour voter !

Laisser un commentaire

Remarques :

  • Si vous souhaitez poser une question ou détailler un problème technique, il ne faut pas utiliser le formulaire ci-dessous qui est réservé aux avis. Posez votre question directement dans le forum Gmail de WebRankInfo. L'inscription est gratuite et immédiate.

  • En postant un avis, vous acceptez les CGU du site WebRankInfo. Si votre avis ne respecte pas ces règles, il pourra être refusé. Si vous indiquez votre adresse email, vous serez informé dès que votre avis aura été validé (ou refusé...) ; votre adresse ne sera pas utilisée pour vous envoyer des mailings et ne sera pas revendue ou cédée à des tiers.

14 commentaires

bigbear67530

quel droit d'accès d'un fichier robot.txt ?
est ce que 604 suffit ou plus?

Répondre
Olivier Duffez

Le fichier doit être accessible à un visiteur (ou robot). 644 va aussi, maintenant je ne sais pas pour les détails.

Répondre
Aurelie

Bonjour, merci pour ce dossier très complet.
J'ai cependant une interrogation : dans le cas d'un site qui gère les versions de langue via les répertoires (ex : sous-domaine.monsite.com/fr/) comment gère-t-on le robots.txt ? Notamment pour l'indication du sitemap ? Puisque logiquement le robots.txt devrait se trouver sur l'url sous-domaine.monsite.com/robots.txt ?

Répondre
Olivier Duffez

Le fichier robots.txt ne peut jamais se mettre dans un répertoire, il est forcément à la racine du sous-domaine.
Inutile de déclarer les fichiers sitemaps dans le robots.txt, autant le faire directement dans la search console ou dans Bing Webmaster Tools.

Répondre
Bernard G.

Bonjour,

Il semblerait qu'à ce jour Google ne sait plus lire le fichier robots.txt ou n'en tient plus compte.

Répondre
Olivier Duffez

Ce n'est pas ce que je remarque (à part qu'il indique en erreur dans search console les URL intentionnellement bloquées au crawl dans le robots.txt).
Qu'est-ce qui vous fait dire ça ?

Répondre
dumas

Hello,

Encore une fois merci pour tes articles.

Je suis allé voir un peu dans mon GSC et effectivement les robots bloquent pas mal de ressources,

En regardant de plus prêt sur GSC j'ai observé la liste de restriction des robot.txt et il y a des choses qui me surprennent. Ils demandent de bloquer les JS et CSS sans même parler du CRON :-s

Pouvez vous me dire si ca vous parait normal selon vous.

Répondre
Olivier Duffez

désolé, je ne peux pas publier en entier le commentaire ni y répondre, c'est pas super adapté ici. L'idéal serait de poster la question dans le forum (incluant le robots.txt entier) !

Répondre
NGB

Bonjour,
Je souhaite, via le robots.txt, bloquer le crawl d'un site à un certain robot en particulier, mais j'ignore le nom du bot.
Il s'agit plus exactement d'un site (recette.land) qui prétend être un moteur de recherche de recettes et reprend les contenus (type "marque blanche") de nombreux blogs de cuisine.
Avez-vous une idée ? Votre aide serait la bienvenue.
Merci d'avance,
NGB

Répondre
Olivier Duffez

@NGB : à moins d'identifier son IP (si elle est constante), ça risque d'être dur à faire s'il n'utilise pas un user-agent repérable... Au passage, l'IP du crawler n'est pas forcément celle du serveur qui héberge le site qui publie les contenus récupérés...

Répondre
Vincent Duplessy

Bonjour,

J'ai une petite question concernant ce robots.txt : si on a des règles de réécritures d'url qui redirigent /accueil.php?sportifid=123 vers /mon_sportif_123.html, est-ce que ça peut nuire si l'on bloque accueil.php ?

Vincent

Répondre
Olivier Duffez

@Vincent : déjà, il faut savoir si tu parles de réécriture ou de redirection.
si je comprends ta situation, tu as une réécriture d'URL qui fait que quand un internaute tape /mon_sportif_123.html, le serveur appelle en réalité /accueil.php?sportifid=123 (mais l'internaute n'est pas redirigé vers /accueil.php?sportifid=123)
tu as peut-être également une redirection de /accueil.php?sportifid=123 vers /mon_sportif_123.html (ce qui serait normal si jamais un jour les URL comme /accueil.php?sportifid=123 ont été indexées)
quoi qu'il en soit, il ne faut pas bloquer le crawl des URL du type /accueil.php?sportifid=123
mais d'ailleurs, pourquoi vouloir les bloquer ?

Répondre
Kalagan

J'ai enfin l'information que je cherchais : le fichier robots.txt ne permet pas de désindexer certaines pages. Très bon à savoir. Merci.

Répondre
jerome

Merci beaucoup pour cette synthèse.

Répondre