Aller au contenu principal
Retour au lexique

robots.txt

TECHNIQUE

Définition courte

Le fichier robots.txt est un fichier texte placé à la racine d'un site (votredomaine.com/robots.txt) qui indique aux crawlers (Googlebot, Bingbot) quelles pages ou sections ils peuvent indexer. C'est la première ligne de communication entre votre serveur et les robots d'indexation.

Définition complète

Le robots.txt (aussi appelé "Protocole d'exclusion des robots") est un fichier texte遵循 la spécification robots.txt (1994) mise à jour en 2024 avec la supporte de crawl-delay et crawl-budget. Syntaxe : User-agent: (cible le crawler), Disallow: (empêche l'accès), Allow: (autorise l'accès à une page dans un répertoire bloqué), Sitemap: (déclare le sitemap XML). Le fichier est PUBLIC — n'importe qui peut le lire en ajoutant /robots.txt à cualquier domaine. Les instructions sont advisory only : un crawler malveillant ne les respecte pas, mais les moteurs de recherche legitimes les suivent. Erreurs courantes : (1) bloqué des ressources CSS/JS nécessaires au rendu ; (2) accidentally bloqué tout le site ; (3) conflits avec noindex dans le HTML.

Pensée simple

Le robots.txt, c'est comme l'interphone d'un immeuble. Vous dictez au facteur (le crawler) : "Les bureaux sont au 3e étage, mais le cofres-fort au sous-sol est privé. Ne montez pas au 5e étage, c'est réservé aux employés." Le bon facteur respecte ces instructions ; les cambrioleurs les ignorent.

Les 3 piliers du robots.txt

User-agent (Cible des instructions)

Chaque groupe d'instructions commence par un User-agent pour cibler un crawler spécifique. User-agent: * s'applique à tous les crawlers. User-agent: Googlebot cible uniquement Google. Autres user-agents courants : Bingbot (Microsoft), Slurp (Yahoo, maintenant闭馆), DuckDuckBot. Les instructions sont traitées de haut en bas — le premier match gagne. Si vous avez plusieurs règles pour le même user-agent, les combiner dans le même bloc.

Disallow et Allow (Permissions)

Disallow: empèche l'accès à un chemin. Disallow: / bloque tout le site (utile pendant le développement). Disallow: /admin/ bloque le répertoire admin. Allow: /admin/public/ autorise l'accès à une sous-section du répertoire bloqué. Les chemins sont case-sensitive : /Admin//admin/. Les wildcards : Disallow: /*.pdf$ bloque tous les PDFs. Patterns acceptés : * (n'importe quel caractère) et $ (fin de URL).

Sitemap et Crawl-delay (Signaux aux moteurs)

Sitemap: https://votresite.com/sitemap.xml declare l'emplacement de votre sitemap — bonne pratique même si les moteurs le trouvent autrement. Crawl-delay: 10 demande aux crawlers d'attendre 10 secondes entre chaque requête — utile pour les sites à forte sollicitation mais les moteurs ne le respectent pas toujours (Google l'ignore). Le crawl-budget est précieux : ne bloquez pas les ressources nécessaires au rendu (CSS, JS, fonts) — ça ralentit l'indexation et peut affecter le ranking.

Le cycle de gestion du robots.txt

  1. Audit initial : Vérifiez le robots.txt actuel via Google Search Console ou directement /robots.txt.
  2. Analyse de couverture : Identifiez les pages bloquées et l'impact sur l'indexation.
  3. Test des règles : Utilisez l'outil de test Google (dans Search Console >robots.txt tester) avant de publier.
  4. Déploiement : Placez le fichier à la racine du serveur (pas dans un sous-répertoire).
  5. Monitoring : Vérifiez régulièrement les erreurs de crawl dans Google Search Console.

Exemple concret

Un site e-commerce avec 50 000 produits blocked accidentellement le crawling de 30% des fiches produit à cause d'un Disallow: /product/* trop large. Impact : les produits n'apparaissaient pas dans Google après 3 semaines. Correction : Allow: /product/ + Disallow: /product/*?sort= (pour éviter les variantes de tri). Résultat : 95% des fiches produit indexées en 2 semaines (vs 70% avant). Temps de découverte des nouveaux produits : de 2 semaines à 3 jours.

Applications concrètes

  • Bloquer pages admin : Disallow: /wp-admin/ (WordPress) — mais Autoriser /wp-admin/admin-ajax.php pour le fonctionnement.
  • Bloquer paramètres dynamiques : Disallow: /*?* si les URLs avec paramètres créent du duplicate content.
  • Autoriser les assets CSS/JS : Pas de Disallow sur /static/css/ ou /static/js/ — sinon le rendu est bloqué.
  • Déclarer le sitemap : Sitemap: https://example.com/sitemap_index.xml
  • Bloquer zones de test : Disallow: /staging/ ou Disallow: /dev/

Métriques clés

MétriqueValeur
Erreur critiqueDisallow: / bloque tout le site
Impact indexationCSS/JS bloqués = rendu incomplet
Crawl-delay GoogleIgnoré par Google (respecté par Bing)
Délai indexationCorrection = 1-4 semaines pour re-crawl