Référencement & SEO angularforall.com

- Robots.txt : guide complet pour contrôler les crawlers

Robots-Txt Crawlers Seo Indexation Google Googlebot Bingbot Disallow Allow User-Agent Referencement Seo-Technique Sitemap Crawl-Budget
Robots.txt : guide complet pour contrôler les crawlers

Configurez le fichier robots.txt pour guider Googlebot et Bingbot : syntaxe, directives Disallow/Allow, sitemap, exemples concrets et bonnes pratiques.

Introduction et concepts

Le fichier robots.txt est un fichier texte placé à la racine de votre site qui indique aux crawlers (Googlebot, Bingbot) quelles pages ils peuvent explorer et indexer, et lesquelles bloquer.

À retenir : robots.txt = règles de visite pour les crawlers. Contrôle l'accès sans l'interdire vraiment (utilisez .htaccess pour interdire vraiment).

Localisation : https://example.com/robots.txt

Avantages :

  • Contrôler l'indexation du site
  • Bloquer les contenus sensibles
  • Économiser le budget de crawl de Google
  • Guider les crawlers vers les pages importantes
  • Déclarer le sitemap

Structure et syntaxe

Règles de base :

  • User-agent — Quel crawler ? (* = tous)
  • Disallow — Chemins à bloquer
  • Allow — Chemins à autoriser (override Disallow)
  • Crawl-delay — Délai entre les requêtes (ms)
  • Sitemap — Déclarer le sitemap

Patterns de chemin :

/admin              # Bloque /admin et tout son contenu
/search?            # ? = un caractère
/profile*.php       # * = plusieurs caractères
/*.php$             # $ = fin de string

Exemple simple :

User-agent: *
Disallow: /admin/
Disallow: /private/
Allow: /private/public.html

Sitemap: https://example.com/sitemap.xml

Directives principales

User-agent : spécifier le crawler

# S'applique à Google
User-agent: Googlebot
Disallow: /admin/

# S'applique à Bing
User-agent: Bingbot
Disallow: /

# S'applique à tous
User-agent: *
Disallow: /test/

Disallow : bloquer des chemins

User-agent: *
Disallow: /admin/           # Bloquer dossier admin
Disallow: /private/         # Bloquer dossier private
Disallow: /*.php            # Bloquer tous les .php
Disallow: /cgi-bin/         # Bloquer cgi scripts

Allow : autoriser dans une zone bloquée

User-agent: *
Disallow: /admin/
Allow: /admin/public/       # Exception : autoriser ce chemin

Crawl-delay et Request-rate

User-agent: *
Crawl-delay: 1              # Attendre 1 sec entre requêtes
Request-rate: 1/1s          # 1 requête par secondes

Sitemap : déclarer le plan du site

Sitemap: https://example.com/sitemap.xml
Sitemap: https://example.com/sitemap-images.xml

Exemples pratiques

Bloquer tout sauf homepage :

User-agent: *
Disallow: /

User-agent: Googlebot
Disallow:

Sitemap: https://example.com/sitemap.xml

Blog avec admin protégé :

User-agent: *
Allow: /blog/          # Autoriser blog
Allow: /public/        # Autoriser public
Disallow: /admin/      # Bloquer admin
Disallow: /private/    # Bloquer private
Disallow: /temp/       # Bloquer temporaire
Disallow: /*.pdf$      # Bloquer PDFs

Sitemap: https://example.com/sitemap.xml

E-commerce (site de vente) :

User-agent: *
Allow: /
Disallow: /admin/
Disallow: /cart/
Disallow: /user/orders/
Disallow: /search?
Disallow: /tag/
Disallow: /filter/

# Paramètres de session
Disallow: /*?*sid=

Crawl-delay: 1
Sitemap: https://example.com/sitemap.xml

Pour bloquer un crawler spécifique :

User-agent: AhrefsBot
Disallow: /

User-agent: SemrushBot
Disallow: /

User-agent: *
Allow: /

Sitemap: https://example.com/sitemap.xml

Implémentation

Créer le fichier robots.txt :

  1. Créer un fichier texte nommé robots.txt
  2. Le placer à la racine : /robots.txt
  3. Ajouter les directives
  4. Sauvegarder (sans BOM UTF-8)

Vérifier depuis le navigateur :

https://example.com/robots.txt

# Devrait afficher le contenu textuel

Pour un site statique (HTML) :

# robots.txt
User-agent: *
Allow: /

Sitemap: https://example.com/sitemap.xml

Pour un WordPress :

User-agent: *
Allow: /
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-login.php

Sitemap: https://example.com/sitemap.xml

Pour un site sous .htaccess :

<Files robots.txt>
    Header set Cache-Control "public, max-age=604800"
</Files>

Tester avec les crawlers

Vérifier dans Google Search Console :

  1. Google Search Console → Settings
  2. Visit Search Console → Crawl → Robots.txt Tester
  3. Entrer un chemin pour tester
  4. Voir si c'est Allow ou Disallow

Commande curl pour tester :

$ curl https://example.com/robots.txt

$ # Vérifier le status HTTP
$ curl -I https://example.com/robots.txt

Erreurs courantes :

  • Retour 404 → robots.txt n'existe pas
  • Retour 500 → Erreur sur le serveur
  • Retour 200 → OK, fichier accessible

Bonnes pratiques

Ordonnage des règles :

  • Plus spécifique en premier
  • Appliquer Allow avant Disallow
  • Ne pas mélanger User-agents

Pour chaque User-agent :

User-agent: Googlebot
Disallow: /test/

User-agent: Bingbot
Disallow: /other/

User-agent: *
Disallow: /admin/

Production checklist :

  • Tester dans Search Console
  • Inclure le sitemap
  • Ne pas bloquer les ressources utiles (CSS, JS, images)
  • Revoir tous les 6 mois
  • Monitorer dans Analytics

Erreurs courantes

Bloquer accidentellement les ressources :

❌ Mauvais :
Disallow: /

✅ Bon :
User-agent: *
Allow: /

Mauvaise syntaxe :

❌ Mauvais :
disallow: /admin/               # Minuscule
User_agent: *                    # Underscore
Disallows: /admin/               # Pluriel

✅ Bon :
Disallow: /admin/               # Capital D
User-agent: *                    # Tiret -
Disallow: /admin/                # Singulier

Oublier que robots.txt n'est PAS de la sécurité :

  • robots.txt peut être ignoré par les crawlers malveillants
  • Pour vraiment bloquer : utiliser .htaccess ou htpasswd
  • robots.txt = guide, pas interdit

Bloquer Google intentionnellement

❌ Mauvais :
User-agent: Googlebot
Disallow: /

# Cela retire votre site de Google !

Outils de test

Testing robots.txt online :

  • Google Search Console — Robots.txt Tester
  • Bing Webmaster — Robots.txt Tester
  • Screaming Frog — Crawl analysis

Validation :

  • Accéder via navigateur : https://example.com/robots.txt
  • Status HTTP doit être 200
  • Pas d'erreur de syntaxe
Conclusion : robots.txt est un élément clé du SEO. Il guide les crawlers, économise votre budget de crawl et protège les zones sensibles. Testez régulièrement et maintenez-le à jour avec vos changements de structure.

Partager