Aller au contenu

Robots.txt et sitemap.xml : guide technique SEO complet

Par Baptiste P.

7 min de lecture
Lien copié dans le presse-papiers
Baptiste P.

Le robots.txt et le sitemap.xml sont les fondations invisibles du SEO technique. Un mauvais robots.txt bloque des sections entières. Un sitemap mal fichu noie Google dans des URLs mortes. À l'inverse, des fichiers propres aident les crawlers et améliorent l'indexation. C'est peu de travail pour un retour énorme.

C'est quoi un robots.txt#

Robots.txt est un fichier texte placé à la racine de votre domaine (https://exemple.fr/robots.txt). Il dit aux crawlers (Google, Bing, etc.) : « Quelles parties de mon site pouvez-vous crawler ? Lesquelles dois-je éviter ? »

Google le consulte automatiquement. Important : robots.txt contrôle le crawl, pas l'indexation. Deux choses différentes.

Structure de base#

User-agent: Googlebot
Disallow: /admin/
Disallow: /private/
Allow: /private/public/

User-agent: *
Crawl-delay: 5
Disallow: /temp/
Sitemap: https://example.fr/sitemap.xml

Directives principales du robots.txt#

User-agent#

Spécifie le crawler auquel s'adressent les directives.

  • User-agent: Googlebot → Instructions pour Google seulement
  • User-agent: * → Instructions pour tous les crawlers
  • User-agent: AhrefsBot → Instructions pour Ahrefs (le bot de l'outil SEO)
  • User-agent: GPTBot → Instructions pour le crawler d'OpenAI (voir le dilemme robots.txt face aux bots IA pour les bonnes pratiques)

Disallow#

Empêche un crawler de crawler un chemin spécifique.

Disallow: /admin/          # Bloque /admin/ et tout dessous
Disallow: /page.php        # Bloque une page spécifique
Disallow: /*.pdf$          # Bloque tous les PDFs (regex)
Disallow:                  # Autorise tout (par défaut si absent)

Allow#

Autorise le crawl d'un dossier dans un chemin bloqué (plus spécifique l'emporte).

User-agent: *
Disallow: /private/
Allow: /private/public/    # Cette sous-section est crawlable

Crawl-delay#

Pause entre les requêtes (en secondes). Réduit la charge serveur.

Crawl-delay: 5             # 5 secondes entre les requêtes

Google ignore généralement crawl-delay (utilise ses propres heuristiques). Utile pour les bots tiers comme Ahrefs.

Sitemap#

Indique le chemin de votre fichier sitemap.xml.

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

Vous pouvez avoir plusieurs sitemaps listés.

Erreurs courantes dans robots.txt#

1. Bloquer accidentellement du contenu important#

Disallow: /*.php           # Bloque TOUTES les pages PHP

Si votre site tourne sur PHP, vous bloquez tout. Corrigez :

Disallow: /admin/*.php

2. Oublier les trailing slashes#

Disallow: /admin           # Bloque /admin mais PAS /admin/ (ils sont différents)
Disallow: /admin/          # Bloque /admin/ mais PAS /admin

Blocage cohérent ? Utilisez les deux ou utilisez une regex.

3. Bloquer CSS, JS, images#

Disallow: /css/
Disallow: /js/
Disallow: /images/

Mauvais. Google a besoin de crawler CSS et JS pour rendre les pages. Laissez-les accessibles. J'hésite d'ailleurs : est-ce que bloquer /images/ peut vraiment casser quelque chose, ou c'est juste une mauvaise pratique théorique ? J'ai vu un site avec /images/ bloqué qui perdait 40 % de son CTR parce que Google ne voyait pas les images des featured snippets.

4. Robots.txt sur 404 ou bloqué#

Si robots.txt retourne une 404 ou est bloqué par .htaccess, Google traite le site comme « pas de robots.txt » et crawle tout. Ce n'est pas un problème si vous voulez que tout soit crawlé, mais c'est confus.

Sitemap.xml : c'est quoi#

Un fichier XML qui liste vos URLs. C'est une roadmap pour Google.

Contrairement à robots.txt, le sitemap ne contrôle pas le crawl, il aide Google à découvrir des pages.

Structure de base#

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://example.fr/</loc>
    <lastmod>2025-08-14</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://example.fr/article-1/</loc>
    <lastmod>2025-08-10</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
</urlset>

Tags du sitemap.xml#

loc#

L'URL de la page. Obligatoire.

<loc>https://example.fr/blog/seo-2026/</loc>

lastmod#

Date de dernière modification (YYYY-MM-DD). Optionnel mais recommandé.

<lastmod>2025-08-14</lastmod>

Google l'utilise pour déterminer si recrawler la page.

changefreq#

Fréquence de changement attendue : always, hourly, daily, weekly, monthly, yearly, never.

<changefreq>weekly</changefreq>

C'est un indice, pas une directive. Google peut l'ignorer.

priority#

Priorité relative (0.0 à 1.0). 1.0 = très important.

<priority>0.8</priority>

C'est relatif à votre propre site, pas à d'autres sites. Une page à 0.8 n'est pas plus importante qu'une à 0.6 sur un autre site.

Bonnes pratiques pour robots.txt#

1. Restez simple#

Plus robots.txt est complexe, plus il y a de bugs. Commencez minimal :

User-agent: *
Disallow: /admin/
Disallow: /private/
Disallow: /temp/
Sitemap: https://example.fr/sitemap.xml

Ajoutez des directives seulement si vous avez une raison spécifique.

2. Testez vos changements#

Utilisez l'outil Google Search Console > Robots.txt tester :

  1. Allez dans Paramètres > Test du fichier robots.txt
  2. Entrez un URL de votre site
  3. Vérifiez si elle est autorisée ou bloquée

3. Autorisez les assets web#

Ne bloquez pas /css/, /js/, /images/. Google doit les crawler pour comprendre votre site.

4. Utilisez des chemins spécifiques#

Au lieu de Disallow: /, utilisez :

Disallow: /admin/
Disallow: /private/

Soyez précis.

5. Maintenez votre robots.txt#

Si vous déplacez des dossiers, supprimez des pages, ou lancez une refonte, mettez à jour robots.txt. Un robots.txt obsolète peut continuer à bloquer du contenu important.

Bonnes pratiques pour sitemap.xml#

1. Incluez les URLs canoniques seulement#

N'incluez pas les versions « m. » (mobile) ou « www » et « non-www » en même temps. Listez une version canonique par page.

2. Maintenez le sitemap à jour#

Si vous publiez un nouvel article, le sitemap devrait être mis à jour le jour même. Si le sitemap contient des URLs supprimées depuis 6 mois, c'est un signal de négligence technique.

Automatisez : utilisez un outil pour générer le sitemap automatiquement (Yoast, Rank Math, etc.) plutôt que manuellement.

3. Limitez le sitemap à 50 000 URLs#

Si vous avez plus de 50 000 URLs, divisez en plusieurs sitemaps et créez un sitemap index :

<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <sitemap>
    <loc>https://example.fr/sitemap-1.xml</loc>
  </sitemap>
  <sitemap>
    <loc>https://example.fr/sitemap-2.xml</loc>
  </sitemap>
</sitemapindex>

4. Pointez vers le sitemap dans robots.txt#

Ajoutez cette ligne à la fin de robots.txt :

Sitemap: https://example.fr/sitemap.xml
Sitemap: https://example.fr/sitemap-index.xml (si vous en avez plusieurs)

5. Déclarez dans Search Console#

Allez dans Search Console > Sitemaps et soumettez votre sitemap XML. Google crawlera plus agressivement les URLs listées.

Audit : tester votre robots.txt et sitemap#

Valider robots.txt#

  1. Allez sur https://example.fr/robots.txt
  2. Vérifiez que le fichier s'affiche correctement
  3. Utilisez l'outil Google Search Console > Test robots.txt
  4. Utilisez Screaming Frog pour crawler et vérifier les codes HTTP

Valider sitemap.xml#

  1. Allez sur https://example.fr/sitemap.xml
  2. Vérifiez que le XML est bien formé (Ctrl+F, cherchez <url> et comptez le nombre d'URLs)
  3. Utilisez Google Search Console > Sitemaps pour voir l'état d'indexation
  4. Comparez le nombre d'URLs dans le sitemap vs indexées

Si 100 URLs sont dans le sitemap mais seulement 50 indexées, enquêtez :

  • Erreurs 404 ?
  • Contenu duplicate ?
  • Pages bloquées par robots.txt ?
  • Métabalise noindex ?

Cas pratique : blog SEO de 200 articles#

Vous avez un blog avec 200 articles, une section admin, et une section privée (payante).

robots.txt optimal :

User-agent: *
Disallow: /admin/
Disallow: /private/
Disallow: /temp/
Disallow: /search?*
Crawl-delay: 2
Sitemap: https://monblog.fr/sitemap.xml

sitemap.xml :

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://monblog.fr/</loc>
    <lastmod>2025-08-14</lastmod>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
  </url>
  <!-- Répéter pour les 200 articles, avec lastmod de chaque article -->
  <url>
    <loc>https://monblog.fr/article-seo-2026/</loc>
    <lastmod>2025-08-14</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
</urlset>

Conclusion#

robots.txt et sitemap.xml sont vos fondations techniques. Un robots.txt pourri tue le trafic. Un sitemap à jour aide Google.

Auditez-les maintenant. Vous allez trouver des bugs. Trente minutes de nettoyage = +5-10 % d'indexation potentielle. Du SEO facile.

Lien copié dans le presse-papiers

À lire aussi