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.
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.
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.
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: 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: 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.
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.
Disallow: /wp-admin/ (WordPress) — mais Autoriser /wp-admin/admin-ajax.php pour le fonctionnement.Disallow: /*?* si les URLs avec paramètres créent du duplicate content.Sitemap: https://example.com/sitemap_index.xmlDisallow: /staging/ ou Disallow: /dev/| Métrique | Valeur |
|---|---|
| Erreur critique | Disallow: / bloque tout le site |
| Impact indexation | CSS/JS bloqués = rendu incomplet |
| Crawl-delay Google | Ignoré par Google (respecté par Bing) |
| Délai indexation | Correction = 1-4 semaines pour re-crawl |