Robots.txt WordPress : Définition, usages et mise en place

Le fichier “Robots.txt” utilise le “protocole d’exclusion des robots (bots)”. Il est situé à la racine de votre site WordPress et c’est le premier fichier analysé par les robots des moteurs de recherches (tels que Google, Bing, Yahoo…).

Il permet de donner des instructions sur l’indexation de vos pages et autres éléments de votre site web. Si WordPress propose un fichier « robots.txt » virtuel fourni dès son installation, le modifier vous permet de mieux gérer le contenu indexé sur les moteurs de recherche.

Nous allons voir dans cet article tutoriel, la définition, les usages et la mise en place d’un fichier Robots.txt pour WordPress.

robots txt pour WordPress

Pourquoi paramétrer son fichier Robots.txt ?

Lorsque vous créez votre site web, il se peut que vous n’ayez pas envie de référencer certaines de vos pages sur les moteurs de recherche.

Par exemple, votre site propose le téléchargement de documents PDF, accessibles après le remplissage d’un formulaire. Vous souhaitez que les pages qui présentent ces PDF soient indexées mais pas le document PDF en lui-même. C’est là que le fichier “robots.txt” intervient. Vous pouvez lui donner l’instruction de ne pas indexer votre PDF dans les résultats des moteurs de recherche.

En tout, vous pouvez définir quatre instructions :

  1. Demander aux robots d’ignorer toutes vos pages (dans ce cas, aucune de vos pages ne sera référencée sur les moteurs de recherche)
  2. Interdire à certains robots d’indexer les pages de votre site (uniquement Google par exemple)
  3. Interdire l’exploration de certaines pages, dossiers ou fichiers à tous les robots
  4. Interdire l’exploration de certaines pages, dossiers ou fichiers à certains robots

Attention, le fichier robots.txt n’est pas nécessairement pris en compte par les « bots ». Il ne s’agit que d’un indicateur et l’indexation de vos pages dépend également d’autres éléments (comme par exemple, les liens qui pointent vers votre site).

Il se peut que certaines d’entre elles s’affichent dans les résultats des moteurs de recherche car des sites y font référence alors que vous aviez donné l’instruction de les ignorer. Dans ce cas, si les bots ont respecté vos instructions, votre page s’affichera dans les résultats de recherche mais sans Méta Description. Google indiquera simplement :

non accessible google cause robots

Comment paramétrer son fichier Robots.txt ?

Sur WordPress, un fichier robots.txt virtuel est créé de base. Pour accéder à la version de votre robots.txt, saisissez dans votre barre d’adresse : monnomdedomaine.fr/robots.txt. Le fichier virtuel installé par WordPress établit la configuration suivante :

fichier virtuel installé par WordPress

Nota : Tout le monde peut accéder à votre fichier « robots.txt » grâce à l’url votrenomdedomaine.fr/robots.txt. N’utilisez donc jamais le fichier « robots.txt » pour cacher du contenu sur votre site internet car les utilisateurs et robots malveillants connaîtront exactement les URLs et/ou dossiers que vous souhaitez ne pas indexer.

Notez également que si vous avez déjà créé un fichier « sitemap.xml », celui-ci sera automatiquement ajouté à votre fichier robots.txt.

Comme il s’agit d’un fichier virtuel, vous ne trouverez pas de fichier « robots.txt » sur votre serveur. Pour pouvoir paramétrer celui-ci, il vous faut ajouter une extension ou le créer vous-même et l’uploader sur votre serveur.

Pour créer manuellement un fichier robots.txt :

  1. Utilisez votre éditeur de texte préféré et créez un fichier texte
  2. Enregistrez le fichier vide avec le nom robots.txt
  3. Téléchargez ce fichier via FTP à la racine de votre WordPress

A noter également que WordPress propose de nombreuses extensions gratuites :

WordPress propose de nombreuses extensions gratuites

Prenons l’exemple de l’extension Virtual Robots.txt :

Virtual Robots.txt

Lorsque vous installez et activez l’extension Virtual Robots.txt, elle s’ajoute dans votre barre de menu à gauche de votre Dashboard, dans l’onglet “Réglages”.

Dashboard, dans l’onglet “Réglages

Ici, vous pouvez modifier votre robots.txt comme bon vous semble. Par défaut, une configuration est déjà en place. Nous verrons dans la dernière partie comment définir celle qui répond le mieux à vos besoins.

modifier votre robots.txt

Notez que là encore, les extensions ne crée pas de fichier « robots.txt » sur votre serveur. Il s’agit d’un fichier virtuel. Reprenons l’exemple de Virtual Robots.txt. Si j’installe l’extension sur mon site et que j’accède à l’adresse www.monnomdedomaine.fr/robots.txt, le navigateur m’informe qu’il s’agit d’un fichier virtuel géré par le plugin Virtual Robots.

fichier virtuel géré par le plugin Virtual Robots

Si vous utilisez le plugin Yoast SEO :

Si vous êtes un adepte de l’excellent plugin Yoast SEO, sachez que vous pourrez aussi éditer et modifier le Robots.txt via son interface. Pour cela rendez-vous dans  SEO >> Outils et cliquez sur Éditeur de fichiers.

Nota: Ce menu n’apparaîtra pas, si vous avez désactivé l’édition de fichiers dans WordPress.

editer robots.txt via Yoast SEO

 

Abordons maintenant les bonnes pratiques pour mettre en place votre fichier “robots.txt” et la signification des différentes instructions ci-dessus.

Mettre en place un Robots.txt pour WordPress

Etape 1 : comprendre son site WordPress

Avant de se lancer dans la rédaction de votre fichier “robots.txt”, il est important de bien connaître la structure de votre site web. Cela permet de les reporter plus facilement dans le fichier “robots.txt”.

Lorsque vous utilisez WordPress et que vous accédez au serveur de votre site web, vous identifiez des fichiers et les répertoires “wp-admin”, “wp-content” et “wp-include”.

répertoires “wp-admin”, “wp-content” et “wp-include”

  • Le dossier “wp-admin” : il comporte tous les éléments de back-office, d’administration de votre site web.
  • Le dossier “wp-content” : il contient vos thèmes, plugins, les images que vous hébergez sur votre site, les fichiers de cache…
  • Le dossier “wp-include” : il s’agit de l’ensemble des fichiers de WordPress.

Il y a peu d’intérêt à indexer les dossiers comportant les éléments d’administration du site web et encore moins les éléments constitutifs de WordPress. Le dossier “wp-content” est donc le seul qui comporte les éléments qui nous intéressent (pages, images, articles…). Nous verrons plus bas comment définir ces règles.

Etape 2 : nommer correctement son fichier

Il est important d’insister sur le nommage du fichier. Si celui-ci ne se nomme pas “robots.txt” avec un “s” et tout en minuscules, les robots le considèrent comme inexistant. Ce fichier est un fichier au format texte, qu’il est possible de paramétrer via un outil texte traditionnel (le fichier doit être en .txt) et qui doit toujours être placé à la racine de votre site web.

Pour rappel, il sera toujours accessible à l’adresse : monnomdedomaine.fr/robots.txt.

Etape 3 : comprendre les paramètres de base d’un fichier Robots.txt

Voici à quoi ressemble un fichier “robots.txt” de base :

robots.txt de base

La première instruction “User-agent” définit le robot. Si vous indiquez “*”, cela signifie que tous les robots peuvent accéder à votre site. En revanche si vous indiquez :

tous les robots peuvent accéder à votre site

Cela signifie que tous les robots peuvent indexer votre site sauf celui de Google. La seconde instruction “Disallow” indique les contenus que vous ne souhaitez pas indexer. Par défaut, tous les contenus sont indexés par les robots.

Lorsque vous souhaitez interdire l’indexation des pages à tous les moteurs de recherche, il faudra faire suivre “Disallow” d’un “/”. Exemple ci-dessous :

interdire l’indexation des pages

Ici, j’interdis à tous les moteurs de recherches (User-agent:*) d’indexer mon site (dans son intégralité grâce au “/”). Ceci est utile lorsque votre site web est encore en création. Notez que vous pouvez définir ces instructions via votre Dashboard WordPress. Rendez-vous dans les réglages, puis dans le sous-onglet « lecture ».

Dashboard WordPress

Si vous cochez la case « Demander aux moteurs de recherche de ne pas indexer ce site », votre robots.txt affichera par défaut :

interdire l’indexation des pages

Voyons maintenant comment interdire l’accès à certaines pages ou certains dossiers de votre site web.

Etape 4 : restreindre l’indexation de mes pages ou de mes dossiers

Reprenons la structure classique d’un site WordPress :

répertoires “wp-admin”, “wp-content” et “wp-include”

Comme vu précédemment, nous ne souhaitons pas indexer le dossier “wp-admin” qui contient les éléments de back-office ni le dossier “wp-includes” propre à WordPress. Ceci devra s’appliquer à l’ensemble des moteurs de recherche. Il conviendra donc d’écrire :

pas indexer le dossie

  • User-agent : *” : les instructions s’appliquent à tous les moteurs de recherches.
  • Disallow: /wp-admin et Disallow:/wp-includes” : j’interdis à tous les robots d’indexer les contenus présents dans les dossiers “wp-admin” et “wp-includes” et j’autorise l’indexation du dossier “wp-content” car il prend en compte mes images.

Cependant, certains des fichiers présents dans ce dossier n’ont aucun intérêt à être indexés. Je souhaite indexer uniquement les images contenues dans le sous-dossier “uploads”. Je vais donc utiliser l’instruction: “Allow” spécifiquement sur le chemin suivant “wp-content/uploads” et interdire “wp-content” :

indexer uniquement les images

Ici, je demande au robot de ne pas indexer le contenu présent dans le dossier “wp-content” SAUF celui du dossier “uploads” qui est justement celui des images présentes sur le site.

Enfin, si vous souhaitez ne pas indexer une page en particulier (exemple ici avec mapageperso.html), vous pouvez indiquez l’adresse à laquelle elle est accessible :

ne pas indexer une page en particulier

Encore une fois nous insistons sur le fait que n’importe qui peut avoir accès à votre robots.txt. Il ne conviendrait donc pas d’ajouter l’url d’une page confidentielle.

Etape 5 : Définir une configuration optimisée pour WordPress

Il existe beaucoup de sites internet qui proposent des configurations optimisées pour WordPress. Cependant, comme chaque site internet est unique, leur fichier robots.txt doit l’être également. Il doit être travaillé en fonction de l’architecture du site.

Tout dépendra de la façon dont votre WordPress est configuré : avec catégories pour mise en place de Silos, utilisation des étiquettes ou non, utilisation des flux RSS, utilisation d’un site ecommerce, etc… De fait, nous vous proposons la configuration suivante, mise en place pour WPFormation :

User-agent: * 
# URLs que je ne veux pas indexer : Login Trackbacks Commentaires
Disallow: /wp-login.php
Disallow: */trackback
Disallow: /*/comments
Disallow: /cgi-bin
Disallow: /*.php$
Disallow: /*.inc$
Disallow: /*.gz
Disallow: /*.cgi
# URLs autorisées CSS JS Analytics pour les Bots
Allow: /*css?*
Allow: /*js?*
Allow: /*?utm*
Allow: /css/?
# Autoriser Google Image
User-agent: Googlebot-Image
Allow: /*
# Autoriser Google AdSense
User-agent: Mediapartners-Google*
Allow: /*

Sitemap: https://monsite.com/sitemap_index.xml

Etape 6 : Tester votre Robots.txt

Pour tester votre fichier robots.txt, vous devez vous rendre sur la Search Console de Google accessible à cette adresse : https://www.google.com/webmasters/tools/. Si ce n’est pas déjà fait, vous devez « ajouter une propriété » pour ajouter votre WordPress à la Search Console.

Search Console

Saisissez l’adresse de votre site internet pour créer cette nouvelle propriété :

nouvelle propriété

La prochaine étape consiste à confirmer que vous êtes bien le propriétaire de ce site web. Pour ce faire, Google vous propose d’uploader un fichier HTML sur votre site web. Voyons comment procéder.

Téléchargez le fichier de validation HTML :

fichier de validation HTML

Connectez-vous sur votre serveur FTP via le client FTP que vous utilisez et uploadez le fichier que vous venez de télécharger à la racine de votre site web. Une fois cette étape réalisée, retournez sur la Search Console de Google, confirmez que vous n’êtes pas un robot et validez l’opération.

Search Console de Google

Vérifions maintenant le fonctionnement de votre fichier « robots.txt ». Lorsque vous cliquez sur « continuer », vous accédez à une fenêtre proposant plusieurs possibilités sur la barre latérale gauche. Dans le sous-onglet « exploration », sélectionnez « outil de test du fichier robots.txt ».

outil de test du fichier robots.txt

L’outil vous affiche s’il détecte des erreurs dans votre fichier. Vous pouvez aussi tester vos différentes URLs pour voir si elles sont bloquées par votre robot ou non.

test robots txt WordPress

Bonus : Le fichier Humans.txt

Il n’y a pas que les robots dans la vie ! Il y a aussi les humains ;)

Qu’est-ce que c’est ?
C’est une initiative dont le but est de connaître les personnes qui se cachent derrière un site web. C’est un fichier TXT qui contient des informations au sujet des différentes personnes qui ont contribué à la construction du site.

Pourquoi un fichier TXT ?
Parce que c’est simple et rapide à faire. Parce que ça n’a pas d’impact sur le code. Assez souvent, les propriétaires du site ne souhaitent pas que les auteurs y ajoutent leur signature ; soi-disant parce que ça alourdit les pages et rend le site moins rapide.

On le met où ?
A la racine du site. Just à côté du fichier robots.txt. Si c’est possible, vous pouvez aussi ajouter un tag author dans le <head> des pages du site: <link type=”text/plain” rel=”author” href=”http://domain/humans.txt” />

Et je dois le faire parce que ?
Ce n’est pas obligatoire. L’unique but de cette initiative est de connaître les auteurs des sites internet que l’on visite.

Qui je mentionne ?
Qui vous voulez, à condition qu’il/elle soit d’accord. Par exemple, vous pouvez inclure le développeur, le designer, le rédacteur, le SEO, SEM, SMO … La liste peut être longue, puisqu’elle peut inclure tous les acteurs de la conception d’un site web.

Plus d’information sur le fichier Humans.txt. Voir celui de WPFormation.

 

Conclusion

Si le fichier “robots.txt” n’est pas obligatoire sur votre site WordPress, il vous permet de gérer le contenu qui peut être indexé par les robots des moteurs de recherche. Pour savoir si vous en avez besoin, identifiez si vous souhaitez ne pas indexer certaines parties de votre site.

Pour connaître les pages de votre site web visibles par Google, vous pouvez taper sur la barre de recherche “site:monsite.fr”. Il affichera alors toutes les pages indexées.

Exemple ci-dessous avec les pages indexées à partir du site de WPFormation. Le “Environ 501 résultats (0,26 secondes)” vous permettra de voir rapidement ce qui est indexé ou pas. Si le chiffre vous parait anormalement élevé ou bas, il faudra corriger votre robots.txt.

index site wpformation

La tendance actuelle est aujourd’hui de bloquer le moins possible les robots des moteurs. Certains sites (tels que Yoast par exemple) ne limitent quasiment en rien les bots des moteurs. Ils partent du principe que les moteurs de recherche savent faire le distinguo entre les différents contenus.

Vous pouvez aussi :

Maintenant, c’est à vous de jouer ! A vos Robots.txt ;)

wpformation
NE MANQUEZ PLUS RIEN !
Inscrivez-vous pour recevoir le meilleur de WordPress dans votre boîte de réception, chaque mois.

Nous ne spammons pas ! Consultez notre politique de confidentialité pour plus d’informations.

A propos de l'auteur...

Avatar de WPFormation

WPFormation

Fabrice Ducarme, spécialiste & formateur WordPress je suis éditeur, auteur et fondateur de WP Formation.com. Conférencier lors des WordCamp Paris 2013 & 2015, Marseille 2017 et au WP Tech Nantes 2014, je vous propose plus de 500 articles & tutoriaux à propos de WordPress, mes trucs & astuces mais aussi des coups de gueule...

15 commentaires pertinents à ce jour ;)

  • Merci Fabrice pour cet article très intéressant. Tout ça reste assez complexe pour moi. Aussi tes informations sont précieuses.
    J’ai testé la requête :sitemonsite .fr et aussi :sitewww.monsite .fr et je n’ai pas du tout le même nombre de page. Est-ce que ça veut dire que mon site est indexé 2 fois et que j’ai du Duplicated Content ? Pourtant, quand je teste monsite .fr/robots.txt , ça me ramène bien à mon fichier www. monsite .fr/robots.txt

  • Bonjour @Lilas
    Il faut tester comme suit: site:nomdedomaine.com (donc sans les www). Google affiche ainsi toutes les URLs du site qui sont indexées.

  • c’est pour mon site stick2music .com que j’ai fait le test. Et dans un cas (sans www) j’ai 89 pages et avec les www j’ai 123 résultats. Je m’aperçois d’ailleurs que dans la Google search console, j’ai les 2 propriétés (avec et sans les www). Est-ce que j’ai fait une erreur ?

  • Non c’est tout bon j’ai 123 ! Il faut tester uniquement sur le domaine. Votre site est indexé sur Google avec les www et l’URL sans les www redirige coorectement.

    En revanche, certaines pages sans intérêt pour le SEO sont indexées (ex : CGU, Crédits, etc…)

  • Merci beaucoup. Je me suis toujours demandé si je devais indexer ces pages ou pas. Maintenant, j’ai la réponse. Bonne journée. Et longue vie à WPFormation !

  • Pouvez-vous nous expliquer à quoi correspond chaque ligne de la configuration du fichier robots.txt utilisé sur le site WPFormation, svp ?

  • Bonjour @Bertrand,
    le mode d’emploi est dans l’article :
    Disallow = interdire
    Allow = autoriser

    Comme dit également, cette configuration est spécifique à WPFormation et ne sera pas forcément adaptée à votre site.

  • Encore un article de grande qualité !!! Merci.
    Petite question : que signifie la ligne :
    Allow: /wp-admin/admin-ajax.php

    Autre question : avec secupress, si on active le “trou noir” pour les robots, on obtient ce fichier :
    User-Agent: *
    Crawl-delay : 60
    Disallow : /*calendar*
    Disallow : /*guestbook*
    Pouvez-vous m’éclairer quant à sa signification ?

    Ne comprenant pas tout pour le moment, je me suis contenté de :
    User-agent: *
    Disallow: /wp-admin/
    Disallow: /wp-includes/
    Allow: /wp-admin/admin-ajax.php

    Est-ce suffisant ?

  • Bonjour @Mathieu,

    Allow: /wp-admin/admin-ajax.php # Autorise l’indexation du fichier admin-ajax.php

    User-Agent: *
    Crawl-delay : 60
    Disallow : /*calendar*
    Disallow : /*guestbook* # Autorise tous les robots avec un crawl à 60 et interdit toutes les URLs contenant calendar et guestbook

    Je ne connais pas votre configuration mais moins vous interdisez sur un Robots.txt, mieux c’est !

  • Merci ! jai cherché ces infos toute la journée article très clair et précieux!

  • Super !! Merci beaucoup pour toutes ces explications toujours très complètes et très structurées !! ;-)

  • Bonjour Fabrice. J’espère que vous allez très bien.

    Je viens de lire votre article et je le trouve super. Il m’a appris tout ce que je voulais savoir sur le robots.txt .
    Cela dit, j’ai une question qui me taraude maintenant.

    En fait, dans mes recherches, je suis tombé sur un article qui parle de l’utilisation des balises méta robots pour empêcher l’indexation de certaines pages. Une méthode que j’ai trouvé assez cool aussi. Mais làbas, nulle part, il n’a été cité le mot robot.txt . Et ici aussi, vous n’avez pas parlé du tout des balises métas.

    Ma question est celle-ci : Les deux méthodes se complètent-elles ? Ou est-ce qu’on peut choisir l’une ou l’autre ?

    Merci de me répondre.

  • Les méthodes sont complémentaires mais uniquement si elles ne s’excluent pas.
    Si le robots.txt autorise le référencement mais que la balise meta de l’article l’interdit, la balise meta aura le dernier mot.
    Si le robots.txt refuse l’indexation, la page sera certainement visitée à un moment, et, la balise meta définira si il faut ou non référencer la page.

    Enfin, on parlait ici des ” gentils ” moteurs de recherche, qui suivent les règles.
    D’autres outils sont moins regardants peuvent tout de même référencer votre contenu, ou l’exclure, en fonction de leurs critères.

    Lire cette synthèse qui parle du fichier robots.txt et du fichier sitemap.xml. La liste des balises meta est également présente.
    https://www.visionduweb.eu/wiki/index.php?title=Accueil_SEO#Les_balises_meta
    https://www.visionduweb.eu/wiki/index.php?title=Accueil_SEO#Indexation_avec_les_robots

  • Bonjour , comment enlever certaines pages indexées sans intérêt pour le SEO (ex : CGU, Crédits, etc…) ?