robots.txt WordPress : règles par défaut, modification et exemples sûrs
robots.txt WordPress
robots.txt WordPress : règles par défaut et exemples sûrs | We.Inc
Où WordPress génère son robots.txt virtuel, les lignes exactes affichées par le cœur, comment le remplacer par un vrai fichier ou un filtre, et un générateur de fichier sûr.
Par défaut, WordPress n'a aucun fichier robots.txt sur le disque. Quand quelqu'un demande /robots.txt, le cœur en génère un à la volée : User-agent: *, Disallow: /wp-admin/, Allow: /wp-admin/admin-ajax.php, plus une ligne Sitemap sur les sites publics depuis la version 5.5. Envoyer un vrai robots.txt à la racine du site remplace cette version virtuelle.
Ce que le cœur de WordPress affiche à /robots.txt
Ligne
D'où elle vient
Pourquoi
User-agent: *
do_robots()
Les règles s'appliquent à tous les robots d'exploration
Disallow: /wp-admin/
do_robots(), chemin de admin_url()
Tient les robots à l'écart du tableau de bord
Allow: /wp-admin/admin-ajax.php
do_robots()
Les thèmes et extensions appellent ce fichier depuis les pages publiques
Sitemap: .../wp-sitemap.xml
WP_Sitemaps::add_robots() (5.5+)
Indique aux robots l'index du sitemap du cœur ; uniquement sur les sites publics
Comme le fichier par défaut est généré par du code, vous ne le trouverez ni avec un client FTP ni dans le gestionnaire de fichiers de votre hébergeur, ce qui déroute de nombreux propriétaires de sites. Vous pouvez le modifier de trois façons : envoyer un vrai fichier, laisser une extension SEO le modifier, ou ajouter un petit filtre dans le code. Créez une version sûre avec le générateur ci-dessous.
Ouvrez votresite.com/robots.txt dans un navigateur pour voir ce qui est servi actuellement.
Choisissez dans le générateur les options adaptées à votre site et saisissez l'adresse de votre sitemap.
Vérifiez les chemins de test en dessous : le CSS, le JavaScript et les médias envoyés doivent tous apparaître comme autorisés.
Enregistrez le résultat sous le nom robots.txt dans le dossier qui contient wp-config.php, ou collez-le dans l'éditeur de votre extension SEO.
Ne bloquez jamais /wp-content/ ni /wp-includes/. Les feuilles de style, scripts et images de votre thème s'y trouvent, et Google en a besoin pour voir la page comme les visiteurs.
Si vous utilisez une extension SEO qui génère son propre sitemap, indiquez l'adresse de ce sitemap dans le fichier plutôt que celle du cœur.
Un vrai fichier prend le dessus sur tout, y compris sur les modifications d'extensions qui passent par le fichier virtuel : supprimez donc un ancien fichier envoyé avant d'utiliser l'éditeur d'une extension.
N'essayez pas de cacher des pages privées avec robots.txt. Le fichier est public et liste précisément les chemins que vous vouliez cacher.
Questions fréquentes
Où se trouve le fichier robots.txt dans WordPress ?
Généralement nulle part. La fonction do_robots écrit la réponse à chaque demande de /robots.txt. Il n'existe un fichier à modifier que si vous ou une extension avez envoyé un vrai robots.txt dans le dossier racine.
L'option Demander aux moteurs de recherche de ne pas indexer ce site modifie-t-elle robots.txt ?
Plus depuis WordPress 5.3. L'article sur les Réglages de lecture indique que l'option ajoute désormais une balise meta robots avec noindex,nofollow dans le head de chaque page. Jusqu'à la version 5.2, elle faisait envoyer Disallow: / par robots.txt.
Comment modifier robots.txt sans extension ?
Soit vous envoyez un fichier texte brut nommé robots.txt à la racine du site, soit vous vous branchez sur le filtre robots_txt dans une petite extension ou votre thème enfant. Le filtre reçoit le texte généré et un indicateur précisant si le site est public.
Pourquoi mon robots.txt affiche-t-il autre chose que les réglages de mon extension ?
L'article sur les Réglages de lecture précise que le comportement intégré ne fonctionne que si WordPress est installé à la racine du site et qu'aucun robots.txt n'existe. Un fichier physique, une règle au niveau de l'hébergeur ou une couche de cache peut servir autre chose.
Faut-il vraiment bloquer /wp-admin/ ?
Le fichier par défaut le fait déjà, et c'est très bien : le tableau de bord n'a rien à positionner. Gardez la ligne Allow pour admin-ajax.php afin que les fonctions publiques qui l'appellent ne soient pas bloquées.
Comment le fichier virtuel est construit
WordPress dirige /robots.txt vers la fonction do_robots. Elle commence la sortie par User-agent: *, ajoute une ligne Disallow pour le dossier d'administration et une ligne Allow pour admin-ajax.php, puis fait passer le résultat par le filtre robots_txt. La classe WP_Sitemaps utilise ce même filtre pour ajouter la ligne Sitemap lorsque le site est public.
Les extensions se branchent sur le même filtre, c'est pourquoi une extension SEO peut proposer un éditeur de robots.txt sans créer de fichier.
Des règles utiles pour une boutique ou un blog
Les pages de résultats de recherche interne (adresses avec ?s=) peuvent créer une infinité de pages pauvres, c'est pourquoi beaucoup de sites les bloquent. Les boutiques WooCommerce bloquent souvent les pages panier, commande et compte, qui n'ont jamais besoin d'apparaître dans les résultats de recherche.
Gardez la liste courte. Chaque ligne supplémentaire est une occasion de bloquer par erreur quelque chose d'important, et robots.txt n'est pas un outil de confidentialité.
Modifier le fichier virtuel avec le filtre robots_txt
Ajoutez ceci à une petite extension personnalisée ou au functions.php de votre thème enfant. Cela ne s'exécute que si aucun vrai robots.txt n'existe à la racine.
Ajouter des règles et un sitemap personnalisé
Le second argument vous indique si le site est public, pour laisser tranquille une copie de préproduction.
À quoi ressemble le fichier par défaut sur un site public
Généré par le cœur sur un site installé à la racine du domaine, avec le sitemap du cœur activé.
Générateur de robots.txt WordPress
Bloquer les résultats de recherche interne
Bloquer le panier, la commande et le compte WooCommerce
Ceci est une copie de préproduction (tout bloquer)
Adresse du sitemap
Votre robots.txt
Copier
Copié
Test Googlebot sur votre fichier
Généré dans votre navigateur. Rien n'est envoyé ni récupéré.