Robots.txt et SEO : le guide complet

Portrait de Joshua Hardwick

Par Joshua Hardwick

Ancien chef du contenu chez Ahrefs

April 26, 20267 min de lecture
Contenus
    Letaido

    Le fichier robots.txt est un fichier texte simple que vous placez à la racine de votre site pour indiquer aux robots des moteurs de recherche les pages qu’ils peuvent ou ne peuvent pas explorer. Bien utilisé, il peut avoir un impact positif sur votre SEO. Mal utilisé, il peut causer de sérieux problèmes. 

    Ce guide vous explique tout ce que vous devez savoir sur robots.txt, de sa syntaxe aux erreurs à éviter.

    Qu’est-ce qu’un fichier robots.txt ?

    Le fichier robots.txt est un fichier texte qui respecte le protocole d’exclusion des robots (Robots Exclusion Protocol). Il se trouve à la racine de votre domaine, par exemple : domaine.com/robots.txt.

    Son rôle est d’indiquer aux robots des moteurs de recherche (Googlebot, Bingbot, etc.) quelles pages ou quelles sections de votre site ils sont autorisés à explorer.

    Note.

    Le fichier robots.txt n’est pas un mécanisme de sécurité. Si vous souhaitez protéger des pages contre l’accès non autorisé, utilisez d’autres mécanismes comme un mot de passe ou des contrôles d’accès côté serveur.

    Comment fonctionne robots.txt ?

    Lorsqu’un robot visite votre site, il commence par vérifier l’existence d’un fichier robots.txt. S’il en trouve un, il lit les directives qu’il contient avant de commencer à explorer votre site.

    Voici un exemple simple :

    User-agent: *
    Disallow: /private/

    Ce code indique à tous les robots (*) de ne pas explorer le répertoire /private/.

    Syntaxe et directives robots.txt

    Un fichier robots.txt est composé de groupes de règles. Chaque groupe contient au moins une directive User-agent et une ou plusieurs directives Allow ou Disallow.

    User-agent

    La directive User-agent indique à quel robot les règles s’appliquent. Utilisez * pour cibler tous les robots, ou le nom d’un robot spécifique (par exemple Googlebot ou Bingbot).

    User-agent: *
    Disallow: /
    User-agent: Googlebot
    Disallow: /

    Disallow

    La directive Disallow indique au robot les URL qu’il ne doit pas explorer. Vous pouvez bloquer un répertoire entier, un fichier spécifique ou même toutes les pages du site.

    User-agent: *
    Disallow: /dossier/

    Allow

    La directive Allow est utilisée pour lever partiellement une restriction imposée par une règle Disallow. Elle est principalement reconnue par Googlebot.

    User-agent: Googlebot
    Disallow: /dossier/
    Allow: /dossier/page-autorisee.html

    Sitemap

    Vous pouvez indiquer l’emplacement de votre sitemap XML directement dans le fichier robots.txt. C’est une bonne pratique recommandée.

    Sitemap: https://domaine.com/sitemap.xml

    Crawl-delay

    La directive Crawl-delay indique au robot combien de secondes il doit attendre entre chaque requête. Googlebot ne respecte pas cette directive — utilisez plutôt les paramètres de crawl dans Google Search Console.

    User-agent: *
    Crawl-delay: 10

    Commentaires

    Vous pouvez ajouter des commentaires dans votre fichier robots.txt en faisant précéder une ligne d’un #. Les robots ignorent tout ce qui figure sur ces lignes.

    # Ceci indique à Bing de ne pas explorer notre site.
    User-agent: Bingbot
    Disallow: /

    Les robots ignorent tout ce qui se trouve sur les lignes commençant par un dièse.

    Utilisez un fichier robots.txt distinct pour chaque sous-domaine

    Le fichier robots.txt ne contrôle le comportement du crawl que sur le sous-domaine où il est hébergé. Si vous souhaitez contrôler le crawl sur un autre sous-domaine, vous aurez besoin d’un fichier robots.txt distinct.

    Par exemple, si votre site principal est sur domaine.com et votre blog sur blog.domaine.com, vous aurez besoin de deux fichiers robots.txt : l’un à la racine du domaine principal, l’autre à la racine du blog.

    Exemples de fichiers robots.txt

    Voici quelques exemples de fichiers robots.txt. Ils sont proposés à titre d’inspiration. Si l’un d’eux correspond à vos besoins, copiez-collez-le dans un document texte, enregistrez-le sous le nom « robots.txt » et uploadez-le dans le répertoire approprié.

    Accès libre pour tous les robots

    User-agent: *
    Disallow:

    Note.

    Ne pas déclarer d’URL après une directive rend cette directive sans effet. Autrement dit, les moteurs de recherche l’ignorent. C’est pourquoi cette directive Disallow n’a aucun effet sur le site : les moteurs de recherche peuvent toujours explorer toutes les pages et tous les fichiers.

    Aucun accès pour tous les robots

    User-agent: *
    Disallow: /

    Bloquer un sous-répertoire pour tous les robots

    User-agent: *
    Disallow: /dossier/

    Bloquer un sous-répertoire pour tous les robots (avec un fichier autorisé à l’intérieur)

    User-agent: *
    Disallow: /dossier/
    Allow: /dossier/page.html

    Bloquer un fichier pour tous les robots

    User-agent: *
    Disallow: /ce-fichier.pdf

    Bloquer un type de fichier (PDF) pour tous les robots

    User-agent: *
    Disallow: /*.pdf$

    Bloquer toutes les URL paramétrées pour Googlebot uniquement

    User-agent: Googlebot
    Disallow: /*?

    Comment auditer votre fichier robots.txt

    Les erreurs dans le fichier robots.txt peuvent passer inaperçues assez facilement. Il vaut donc mieux rester vigilant et effectuer des vérifications régulières.

    Pour cela, consultez régulièrement le rapport « Couverture » dans Search Console pour détecter les problèmes liés à robots.txt. Voici quelques-unes des erreurs que vous pourriez rencontrer, leur signification et comment y remédier.

    Vous devez vérifier les erreurs liées à une page précise ? Collez une URL dans l’outil d’inspection d’URL de Google dans Search Console. Si elle est bloquée par robots.txt, vous devriez voir quelque chose comme ceci :

    URL bloquée par robots.txt dans l’outil d’inspection d’URL

    URL soumise bloquée par robots.txt

    URL soumise bloquée par robots.txt dans Search Console
    URL soumise bloquée par robots.txt dans Search Console

    Cela signifie qu’au moins une des URL de votre/vos sitemap(s) soumis(s) est bloquée par robots.txt.

    Si vous avez créé votre sitemap correctement en excluant les pages canonicalisées, noindexées et redirigées, aucune page soumise ne devrait être bloquée par robots.txt. Si c’est le cas, identifiez les pages concernées, puis modifiez votre fichier robots.txt pour supprimer le blocage de ces pages.

    Vous pouvez utiliser le testeur robots.txt de Google pour identifier quelle directive bloque le contenu. Soyez prudent lors de toute modification : il est facile de faire des erreurs qui affectent d’autres pages et fichiers.

    Testeur robots.txt de Google

    Bloquée par robots.txt

    Contenu bloqué par robots.txt dans Search Console
    Contenu bloqué par robots.txt dans Search Console

    Cela signifie que du contenu bloqué par robots.txt n’est pas actuellement indexé dans Google.

    Si ce contenu est important et doit être indexé, supprimez le blocage de crawl dans robots.txt. Vérifiez également que le contenu n’est pas noindexé. Si vous avez bloqué du contenu dans robots.txt dans l’intention de l’exclure de l’index Google, supprimez le blocage de crawl et utilisez plutôt une balise meta robots ou un en-tête x-robots. C’est le seul moyen de garantir l’exclusion du contenu de l’index Google.

    Note.

    Supprimer le blocage de crawl lorsque vous tentez d’exclure une page des résultats de recherche est indispensable. Sans cela, Google ne verra pas la balise noindex ni l’en-tête HTTP — la page restera donc indexée.

    Indexée, bien que bloquée par robots.txt

    Page indexée bien que bloquée par robots.txt
    Page indexée bien que bloquée par robots.txt

    Cela signifie qu’une partie du contenu bloqué par robots.txt est quand même indexée dans Google.

    Encore une fois, si vous tentez d’exclure ce contenu des résultats de recherche Google, robots.txt n’est pas la bonne solution. Supprimez le blocage de crawl et utilisez plutôt une balise meta robots ou un en-tête HTTP x-robots-tag pour empêcher l’indexation.

    Si vous avez bloqué ce contenu par accident et souhaitez le conserver dans l’index Google, supprimez le blocage de crawl dans robots.txt. Cela peut contribuer à améliorer la visibilité du contenu dans la recherche Google.

    FAQ

    Voici quelques questions fréquentes qui ne trouvaient pas naturellement leur place ailleurs dans ce guide. N’hésitez pas à poser vos questions en commentaire si quelque chose manque — on mettra la section à jour.

    Quelle est la taille maximale d’un fichier robots.txt ?

    Où se trouve robots.txt dans WordPress ?

    Au même endroit : domaine.com/robots.txt.

    Comment modifier robots.txt dans WordPress ?

    Manuellement, ou via l’un des nombreux plugins SEO pour WordPress comme Yoast, qui permettent de modifier robots.txt directement depuis le back-office WordPress.

    Que se passe-t-il si je bloque l’accès à du contenu noindexé dans robots.txt ?

    Google ne verra jamais la directive noindex, car il ne peut pas explorer la page.

    Le même piège guette le fichier llms.txt


    Cette logique — créer un fichier d'instructions que les robots ne liront jamais — ne concerne pas que robots.txt. Le fichier llms.txt, conçu pour guider les intelligences artificielles, souffre d'un problème similaire à grande échelle : une étude Ahrefs portant sur 137 000 sites révèle que 97 % de ces fichiers ne sont jamais lus. Avant de multiplier les directives techniques, encore faut-il s'assurer qu'elles atteignent réellement leur destinataire.

    Dernières réflexions

    Le fichier robots.txt est simple, mais puissant. Utilisez-le judicieusement et il peut avoir un impact positif sur votre SEO. Utilisez-le à la légère et vous risquez de le regretter.

    Des questions ? Laissez un commentaire ou contactez Joshua sur Twitter.

    Portrait de Joshua Hardwick
    Publié parJoshua Hardwick

    Ancien chef du contenu chez Ahrefs (ou, en d’autres termes, je dois m’assurer que chaque article de blog que nous publions est ÉPIQUE).