L’une des grandes qualités de WordPress est de permettre à n’importe qui de créer et de mettre en ligne facilement son propre site web. Mais il souffre quand même d’un petit défaut, à savoir que l’on peut très rapidement se retrouver avec des contenus dupliqués si l’on n’y fait pas attention. C’est là que bien configurer son fichier robots.txt pour WordPress devient utile. En effet, en ayant mis en place les bons réglages, on va éviter de se retrouver avec des pages inutiles indexées ou du contenu dupliqué.

A quoi sert le fichier robots.txt ?

Le fichier robots.txt, que l’on trouve à la racine du site (dans le dossier www), permet d’indiquer aux robots d’indexation des différents moteurs de recherche ce qu’ils ont le droit d’indexer ou non sur votre site (pages, fichiers, médias…). Cela est particulièrement utile pour empêcher l’indexation de pages inutiles ou qui viendraient gêner l’indexation de pages plus importantes.

Les commandes par défaut : Allow et Disallow

Lorsque vous êtes sur le panneau d’administration et que vous allez dans Réglages puis Lecture, vous constatez qu’il y a un champ « visibilité pour les moteurs de recherche » avec une case à cocher en face « demande aux moteurs de recherche de ne pas indexer ce site ».

indexation site wordpress

Lorsque la case est cochée, voici ce qui se trouve dans le fichier robots.txt :

User-agent:*
Disallow: /

Cela signifie que nous allons demander à tous les robots de ne rien indexer sur le site

Maintenant, si la case est décochée, voici ce qui s’y trouve :

User-Agent: *
Allow: /

Cela signifie que tous les robots ont le droit d’indexer tout ce qu’ils vont trouver.

La structure des dossiers WordPress

Lorsque vous vous connectez au FTP de votre site, vous pouvez voir à la racine 3 dossiers qui contiennent les différents fichiers qui composent le CMS. Il est important de comprendre le rôle des fichiers et des dossiers de WordPress avant d’autoriser ou de bloquer leur accès aux robots d’indexation.

Le dossier wp-admin : il contient l’ensemble des fichiers liés au panneau d’administration de WordPress. Grâce à lui, vous pouvez vous connecter au back-office pour administrer votre site. Je ne vois donc aucune raison d’autoriser l’indexation du dossier wp-admin.

Le dossier wp-content : ce dossier regroupe tous les éléments de personnalisation que vous avez apportés à votre WordPress : le thème, les plugins, les images, les vidéos… Si le dossier wp-content n’a pas vocation à être indexé, il est sans doute judicieux d’ajouter des exceptions, notamment pour votre dossier d’images.

Le dossier wp-includes : il s’agit du cœur du site, il regroupe les éléments vitaux pour le bon fonctionnement de WordPress. Là encore, vous n’avez pas d’intérêt à permettre l’indexation du dossier wp-includes et des différents fichiers qu’il contient.

Attention : il ne faut pas recopier un fichier robots.txt trouvé au hasard si vous n’êtes pas sur de savoir ce que vous faites. En effet, certain sites peuvent avoir des raisons de ne pas vouloir indexer certains dossiers, alors que pour vous ils seraient essentiels. Afin de ne pas pénaliser votre indexation, il faut donc être vigilant aux lignes que l’on va écrire.

Les lignes de commandes du fichier robots.txt

Voici les principales instructions que vous pouvez utilisez pour bien optimiser votre WordPress :

User-agent : *   
# cela signifie que l’on s’adresse à tous les robots

Disallow: /wp-login.php   
# ne pas indexer la page de connexion du back-office

Disallow: /wp-admin   
# ne pas indexer le dossier wp-admin et ce qu’il contient

Disallow: /wp-content  
# ne pas indexer le dossier wp-content et ce qu’il contient

Disallow: /wp-includes  
# ne pas indexer le dossier wp-includes et ce qu’il contient 

/* Ceci a été changé en 2014. 
Ne pas utiliser disallow pour wp-includes */

Allow: /wp-content/uploads/  
# On autorise l’indexation du dossier uploads contenant les photos et les vidéos... 
# Il s’agit d’une exception, 
# car ce dossier uploads est situé dans le dossier wp-content que l’on n’indexe pas.

Disallow: /cgi-bin 
# on n’indexe pas ce répertoire sensible

Disallow: /*.php$ 
Disallow: /*.inc$
Disallow: /*.gz$
Disallow: /*.cgi$
# on n’indexe pas les différents fichiers sensibles

Disallow: */trackback 
# on n’indexe pas les URL de trackback et ping

Disallow: /*/feed      
# on n’indexe pas les flux RSS sauf le flux RSS principal
# pour qu'aucun flux RSS ne soit indexé, il suffit de retirer le /*

Disallow: /*/comments  
# on n’indexe pas les URL des commentaires laissés par les internautes

Disallow: /*? 
# on n’indexe pas les URL contenant des paramètres particuliers
# cela permet notamment d'éviter les pages avec des contenus dupliqués

Allow: /*css?*  
Allow: /*js?*
# on autorise l’accès aux fichiers CSS et JS 
# pour ne pas être pénalisé sur la recherche par mobile.

Bien configurer le fichier  robots.txt spécialement pour WordPress

Voici un exemple de fichier bien optimisé :

User-agent: *
Disallow: /wp-login.php
Disallow: /*?

Disallow: /*/comments
Disallow: */trackback
Disallow: /*/feed

Disallow: /cgi-bin
Disallow: /*.php$
Disallow: /*.inc$
Disallow: /*.gz
Disallow: /*.cgi

Allow: /*css?*
Allow: /*js?*

Il faudra bien sûr l’adapter en fonction des spécificités de votre site et de ce que vous souhaitez indexer ou non.

Vous pouvez consulter mon propre robots.txt à cette adresse: https://olivier-chauvel.fr/robots.txt

Pour aller plus loin, vous pouvez également consulter le guide proposé par Google sur le sujet.

Tester son fichier robots.txt

Lorsque tout est en place, il vous suffit de rajouter l’extension /robots.txt à la suite de votre nom de domaine dans la barre d’adresse du navigateur pour l’afficher.

Vous pouvez vérifier que vous n’avez pas fait d’erreur en vous rendant sur Google Webmaster Tools. Dans le menu « Exploration », vous allez trouver une rubrique « Outil de test du fichier robots.txt ».

Si vous avez bloqué une URL spécifique, vous pourrez également tester ici si c’est bien le cas.

outil de test du fichier robots.txt de Google Webmaster Tools
L’interface de Google Webmaster Tools pour vérifier que vos commandes fonctionnent correctement.