Qu'est-ce que robots.txt ?

Définition
robots.txt est un fichier texte situé dans le répertoire racine d'un site web qui indique aux robots d'exploration des moteurs de recherche (bots) quelles pages ils peuvent explorer et lesquelles ils ne doivent pas explorer. Ce fichier suit une norme appelée Protocole d'Exclusion des Robots ou Standard d'Exclusion des Robots.
Le fichier robots.txt agit comme un contrôleur de trafic pour votre site web. C'est le premier fichier que les bots des moteurs de recherche vérifient lorsqu'ils visitent un site web, et grâce à lui, ils comprennent la politique d'exploration du propriétaire du site. Par exemple, vous pouvez spécifier des zones que vous ne souhaitez pas voir apparaître dans les résultats de recherche, telles que les pages d'administration, le contenu dupliqué ou les pages de test.
Un point important est que robots.txt est une "demande", pas un "ordre". Bien que la plupart des bots légitimes de moteurs de recherche (Google, Naver, Bing, etc.) respectent les règles de ce fichier, les bots malveillants ou les scrapers peuvent les ignorer. Par conséquent, robots.txt seul n'est pas suffisant pour protéger les informations sensibles, et des mesures appropriées de contrôle d'accès ou de chiffrement sont nécessaires.
Caractéristiques
- Optimisation du budget de crawl : En bloquant l'exploration de pages sans importance, vous pouvez encourager les moteurs de recherche à allouer plus de ressources aux pages qui comptent vraiment.
- Prévention du contenu dupliqué : Vous pouvez prévenir les problèmes de SEO en bloquant les pages avec un contenu similaire ou les URLs dupliquées générées par divers paramètres.
- Spécification de l'emplacement du sitemap : Vous pouvez spécifier l'emplacement du sitemap dans le fichier robots.txt afin que les moteurs de recherche puissent facilement le trouver.
- Format simple et standardisé : Il peut être facilement écrit et modifié avec un éditeur de texte sans connaissances techniques particulières.
- Application immédiate : Une fois le fichier téléchargé, il prend effet immédiatement, et les nouvelles règles sont appliquées dès la prochaine visite des bots des moteurs de recherche.
Comment utiliser
Voici comment écrire et gérer efficacement un fichier robots.txt.
Étape 1 : Comprendre la structure de base Le fichier robots.txt est basé sur les directives "User-agent" et "Disallow/Allow". User-agent spécifie à quel bot la règle s'applique, Disallow spécifie les chemins à interdire d'exploration, et Allow spécifie les chemins à autoriser à l'exploration.
Étape 2 : Identifier les zones à bloquer Identifiez les zones de votre site web qui ne doivent pas être exposées aux moteurs de recherche. En général, cela inclut les pages d'administration (/admin), les pages d'informations personnelles, le contenu dupliqué, les pages de test, les pages de résultats de recherche, les paniers d'achat ou les pages de paiement.
Étape 3 : Écrire le fichier robots.txt Écrivez le fichier robots.txt avec un éditeur de texte. Les règles pour tous les bots commencent par "User-agent: *", et vous pouvez également spécifier des règles séparées pour des bots spécifiques.
Étape 4 : Télécharger dans le répertoire racine Téléchargez le fichier robots.txt écrit dans le répertoire racine de votre site web. Le fichier doit être accessible sous la forme https://yoursite.com/robots.txt.
Étape 5 : Tester Utilisez l'outil de test robots.txt de Google Search Console pour vérifier que le fichier est écrit correctement et que les URLs souhaitées sont correctement bloquées ou autorisées.
Étape 6 : Révision régulière Chaque fois que la structure du site web change, le fichier robots.txt doit également être mis à jour. Il est important de vérifier régulièrement que des pages importantes n'ont pas été accidentellement bloquées.
Exemples
Exemple 1 : Structure de base de robots.txt
User-agent: *
Disallow: /admin/
Disallow: /private/
Disallow: /temp/
Allow: /
Sitemap: https://zero-coke.com/sitemap.xml
C'est le fichier robots.txt le plus basique. Il demande à tous les bots des moteurs de recherche de ne pas explorer les répertoires admin, private et temp, et permet tout le reste. L'emplacement du sitemap est spécifié à la fin.
Exemple 2 : Règles pour des bots spécifiques
# Règles Google bot
User-agent: Googlebot
Disallow: /search/
Disallow: /cart/
Allow: /
# Règles Bing bot
User-agent: Bingbot
Disallow: /admin/
Allow: /
# Bot de recherche d'images
User-agent: Googlebot-Image
Disallow: /private-images/
Allow: /
# Bloquer les mauvais bots
User-agent: BadBot
Disallow: /
# Tous les autres bots
User-agent: *
Crawl-delay: 10
Disallow: /admin/
Sitemap: https://zero-coke.com/sitemap.xml
Sitemap: https://zero-coke.com/sitemap-images.xml
Cet exemple montre comment appliquer différentes règles pour différents bots. Des commentaires (#) sont utilisés pour améliorer la lisibilité.
Exemple 3 : Utilisation de caractères génériques
User-agent: *
# Bloquer tous les fichiers PDF
Disallow: /*.pdf$
# Bloquer les URLs avec des paramètres spécifiques
Disallow: /*?sort=
Disallow: /*?filter=
# Bloquer les fichiers avec des extensions spécifiques
Disallow: /*.php$
Disallow: /*.inc$
# Mais autoriser des répertoires spécifiques
Allow: /public/*.pdf$
Sitemap: https://zero-coke.com/sitemap.xml
Vous pouvez créer des règles plus sophistiquées en utilisant des caractères génériques (*) et des spécificateurs de fin de chemin ($).
Exemple 4 : robots.txt de site e-commerce
User-agent: *
# Bloquer les pages liées aux comptes utilisateur
Disallow: /account/
Disallow: /login/
Disallow: /register/
Disallow: /checkout/
Disallow: /cart/
# Prévenir le contenu dupliqué - paramètres de tri et de filtre
Disallow: /*?sort=
Disallow: /*?page=
Disallow: /*?filter=
# Pages de résultats de recherche
Disallow: /search?
# Zone d'administration
Disallow: /admin/
# Autoriser les pages de produits (important !)
Allow: /products/
# Définir le délai de crawl (gestion de la charge du serveur)
Crawl-delay: 5
Sitemap: https://zero-coke.com/sitemap.xml
Sitemap: https://zero-coke.com/sitemap-products.xml
Sitemap: https://zero-coke.com/sitemap-categories.xml
C'est un exemple complet de robots.txt qui peut être utilisé pour les sites e-commerce réels.
Avantages et inconvénients
Avantages
-
Efficacité d'exploration améliorée : Il aide les moteurs de recherche à ne pas perdre de temps et de ressources à explorer des pages inutiles, leur permettant de se concentrer davantage sur le contenu important. C'est essentiel pour gérer efficacement les budgets de crawl, en particulier pour les sites web de grande envergure.
-
Charge du serveur réduite : Vous pouvez réduire la charge du serveur due à un crawl excessif. En utilisant la directive Crawl-delay, vous pouvez contrôler l'intervalle entre les requêtes des bots pour protéger les ressources du serveur.
-
Implémentation simple : Il peut être facilement implémenté avec juste un fichier texte sans connaissances de programmation complexes, et les modifications peuvent être effectuées immédiatement. Aucune modification de base de données ou de configuration de serveur séparée n'est requise.
Inconvénients
-
Pas une mesure de sécurité : robots.txt n'est qu'une recommandation et n'a aucun pouvoir d'application. Les bots malveillants ou les hackers peuvent ignorer ce fichier, il n'est donc pas approprié pour protéger les informations sensibles. En fait, spécifier des chemins bloqués dans robots.txt peut informer les attaquants de l'emplacement des pages cachées.
-
Impact grave des erreurs : Si le fichier robots.txt est mal écrit, vous pourriez accidentellement bloquer l'ensemble du site web ou exclure des pages importantes des résultats de recherche. Une seule entrée incorrecte comme "Disallow: /" peut faire disparaître l'intégralité de votre site des moteurs de recherche.
-
Pas effectif immédiatement : Même si vous mettez à jour le fichier robots.txt, les moteurs de recherche peuvent ne pas le refléter immédiatement. Pour supprimer des pages déjà indexées, robots.txt seul ne suffit pas, et vous devez demander séparément la suppression d'URL dans Google Search Console.
FAQ
Q : Puis-je supprimer des pages déjà indexées avec robots.txt ? R : Non, robots.txt ne bloque que le nouveau crawl et ne supprime pas les pages déjà indexées. En fait, bloquer avec robots.txt empêche les moteurs de recherche de re-crawler la page, ils ne peuvent donc pas vérifier les informations mises à jour (par exemple, balise noindex). Pour supprimer des pages déjà indexées, vous devez d'abord ajouter une balise meta noindex à la page, laisser les moteurs de recherche la vérifier, puis la bloquer dans robots.txt. Alternativement, vous pouvez utiliser l'outil de suppression d'URL de Google Search Console.
Q : Que se passe-t-il s'il n'y a pas de fichier robots.txt ? R : Même sans fichier robots.txt, le site web fonctionne normalement, et les moteurs de recherche supposent que toutes les pages peuvent être explorées. En d'autres termes, tout est autorisé. Pour les petits sites web ou les sites où toutes les pages doivent apparaître dans les résultats de recherche, ce n'est pas un problème, mais s'il y a des zones qui doivent être bloquées, vous devez créer un fichier robots.txt.
Q : Quelle est la différence entre Disallow et noindex ? R : Disallow (robots.txt) empêche les moteurs de recherche d'explorer une page, mais si la page est liée depuis ailleurs, elle peut toujours apparaître dans les résultats de recherche (uniquement avec le titre et l'URL, sans contenu). D'autre part, noindex (balise meta) autorise l'exploration mais indique que la page ne doit jamais être affichée dans les résultats de recherche. Pour supprimer complètement une page des résultats de recherche, vous devez utiliser la balise meta noindex, pas le blocage robots.txt.
Q : Comment fonctionnent les caractères génériques (*) ? R : Les caractères génériques () signifient zéro ou plusieurs caractères quelconques. Par exemple, "Disallow: /admin" bloque tous les chemins commençant par admin, tels que /admin, /admin/, /admin/users, /administrator. "$" indique la fin d'une URL, donc "Disallow: /*.pdf$" bloque toutes les URLs se terminant par .pdf. Cependant, tous les moteurs de recherche ne prennent pas en charge les caractères génériques, ils fonctionnent donc dans les principaux moteurs de recherche (Google, Bing, etc.) mais peuvent être ignorés par certains bots plus anciens.