Crawl budget : guide pratique pour les grandes plateformes

Comment diagnostiquer le budget de crawl d'un grand site à partir des logs, de Search Console et des modèles d'URL, puis réduire le gaspillage sans bloquer les pages importantes.

Le budget de crawl correspond au nombre de pages que Googlebot accepte de crawler sur votre site sur une période donnée. Sur les petits sites, il est pratiquement illimité. Sur les plateformes qui comptent des millions d'URL, il devient une ressource stratégique : le robot le gaspille sur les filtres, la pagination, les gabarits vides et les pages de préproduction, au lieu de crawler les contenus prioritaires. Résultat : indexation retardée des nouveaux produits, couverture faible du catalogue et positions perdues.

Où part le budget de crawl : les pages utiles sont en concurrence avec les filtres, les paramètres UTM et la pagination pour l'attention du robot.
Google distingue officiellement deux notions : la limite de débit de crawl (la fréquence à laquelle le robot peut passer sans surcharger le serveur) et la demande de crawl (le nombre de pages que Google souhaite crawler, selon la valeur qu'il leur accorde). Le budget de crawl correspond à l'intersection de ces deux facteurs. L'optimisation n'a un impact réel que sur les grandes plateformes.
5–10×

Dépassement du budget

Rapport typique entre les URL crawlées et les pages réellement utiles sur une plateforme e-commerce non optimisée

60–80 %

Perdu en doublons

Part du budget consommée par les URL paramétrées et la pagination lorsqu'aucune mesure n'est en place

2–4 sem.

Retard d'indexation

Délai typique avant qu'une nouvelle référence produit (SKU) apparaisse dans l'index lorsque le budget est saturé

>50k

Seuil de problème

Les plateformes de plus de 50 000 URL ressentent déjà les effets des contraintes du budget de crawl

Étape 1 : collecter et analyser les logs des crawlers

Les logs serveur sont la source de référence sur ce que Googlebot crawle réellement. L'analyse des logs révèle la fréquence réelle des requêtes, les sections que le robot ignore ou sur lesquelles il reste bloqué, et les réponses HTTP renvoyées par le serveur. Sans logs, toute optimisation repose sur des suppositions.

Extraire les requêtes de Googlebot depuis Nginx ou Apache

bash
# Filter only Googlebot requests from the last 7 days
grep 'Googlebot' /var/log/nginx/access.log \
  | awk '{print $7}' \
  | sort | uniq -c | sort -rn \
  | head -50

# HTTP status codes seen by Googlebot
grep 'Googlebot' /var/log/nginx/access.log \
  | awk '{print $9}' \
  | sort | uniq -c | sort -rn

# Top URLs returning 404 to Googlebot
grep 'Googlebot' /var/log/nginx/access.log \
  | awk '$9 == "404" {print $7}' \
  | sort | uniq -c | sort -rn | head -30

Pour analyser en détail de gros volumes de logs, utilisez des outils dédiés : Screaming Frog Log File Analyser, Semrush Log Analyser ou une pile ELK (Elasticsearch + Kibana). Ils regroupent automatiquement les URL par modèle et tracent l'évolution du taux de crawl dans le temps.

IndicateurCe qu'il montrePlage cible
Taux de crawl (req/jour)Intensité du crawl : nombre de pages que Googlebot demande chaque jourDépend de la plateforme ; suivez la tendance
Pages crawlées par jourURL uniques crawlées chaque jour : l'indicateur principal du budget de crawlDoit augmenter après l'optimisation
Ratio 200 / (301+302) / 404 / 500Part de chaque type de réponse HTTP dans l'ensemble des requêtes du robot200 > 90 % ; 404 < 5 % ; 500 ≈ 0 %
% d'URL dupliquées dans le crawlPart des URL paramétrées et dupliquées dans les logs< 15 % après optimisation
Nouvelles pages / total crawléRapport entre les premiers crawls et les visites répétéesVisez une hausse de la part des nouvelles pages

Étape 2 : Google Search Console et analyse des réponses du serveur

Google Search Console fournit des données de crawl agrégées, sans accès aux logs serveur. Le rapport Statistiques d'exploration est le point d'entrée principal. Il affiche le nombre moyen de requêtes par jour, la vitesse de chargement perçue et la répartition des codes de réponse.

  • GSC → Paramètres → Statistiques d'exploration : graphique des requêtes de crawl, ventilation par type de fichier et par code de réponse. Repérez les pics de 404 et de 500, ainsi que les baisses après les déploiements.
  • GSC → Indexation → Pages : nombre d'URL indexées et raisons de la non-indexation. « Détectée, actuellement non indexée » est un signal direct du budget de crawl.
  • GSC → Inspection d'URL : vérification manuelle d'une page précise : date du dernier crawl et version que Googlebot a vue.
  • GSC → Paramètres → Limite du taux d'exploration : vous pouvez limiter le taux de crawl si le robot surcharge le serveur. En général, ce n'est pas nécessaire : ne limitez que si vous constatez des problèmes de performance mesurables.
« Détectée, actuellement non indexée » dans la GSC est le signe le plus direct d'un manque de budget de crawl. Google sait que ces pages existent (il les a trouvées via des liens ou dans le sitemap), mais ne parvient pas à les crawler à temps. La priorité immédiate : libérer du budget en supprimant les URL inutiles.

Sources de gaspillage du budget de crawl

Sur une grande plateforme, le robot perd du budget à travers six sources typiques. Identifiez chacune dans vos logs et estimez son volume : vous obtiendrez ainsi l'ordre de priorité des optimisations.

Comparaison entre une répartition du budget de crawl gaspillée et une répartition optimisée.

URL paramétrées

?sort=price&filter=red&page=3 génère un nombre exponentiel d'URL uniques, au contenu identique ou quasi identique.

Pagination infinie

/catalog?page=N : des milliers d'URL à faible valeur. Le robot peut crawler sans fin les anciennes pages du catalogue.

Contenu dupliqué

Pages identiques sur des URL différentes : /category/ et /category?utm_source=email, HTTP et HTTPS, www et non-www.

Pages temporaires

Pages de webinaires, maquettes de démonstration, pages ?preview=1, brouillons : elles apparaissent puis disparaissent, mais le robot continue d'y dépenser du budget.

Gabarits vides

Pages de catégories sans produit, profils sans contenu, pages de tags générées automatiquement : des contenus de faible qualité produits par milliers.

Paramètres de session

?sessionid=abc123, ?token=xyz : des URL uniques par session. Pour le robot, chacune est une « nouvelle page ».

Paramètres d'URL et doublons : correction

Les URL paramétrées sont la principale source de gaspillage sur les plateformes e-commerce. Il n'existe pas de solution unique : la bonne réponse dépend de la nature du paramètre.

Type de paramètreExempleAction recommandée
Tri / ordre?sort=price_ascDisallow dans robots.txt, ou canonical vers l'URL sans paramètre
Filtres sans contenu unique?color=red&size=XLCanonical vers la page de catégorie propre + noindex via la balise meta robots
Pagination?page=5Canonical des pages 2 et suivantes vers la page 1 (ou Disallow pour la pagination profonde)
Suivi / UTM?utm_source=emailCanonical vers l'URL sans UTM sur chaque page, ou gestion des paramètres d'URL dans la GSC
Sessions / jetons?sessionid=abcDisallow : /*?sessionid= dans robots.txt ; corriger la génération des URL dans le code
Aperçu / brouillon?preview=1&draft=trueDisallow : /*?preview= et /*?draft= dans robots.txt
Exemple de configuration Nginx pour canonicaliser les paramètres d'URL :
text
# robots.txt — blocking parametric URLs
User-agent: *

# Sort and filter parameters
Disallow: /*?sort=
Disallow: /*?order=
Disallow: /*?filter=
Disallow: /*?color=
Disallow: /*?size=

# Pagination deeper than page 3 (Allow/Disallow approach)
Disallow: /*?page=
Allow: /*?page=1
Allow: /*?page=2
Allow: /*?page=3

# Session and tracking parameters
Disallow: /*?sessionid=
Disallow: /*?token=
Disallow: /*?ref=
Disallow: /*?utm_

# Preview and drafts
Disallow: /*?preview=
Disallow: /*?draft=
Pour les paramètres dont le contenu est en partie unique (par exemple un filtre de marque associé à une description propre à la marque), la canonical est préférable à Disallow : le robot peut visiter la page, lire la balise canonical et transmettre la popularité transmise à la page principale. Disallow exclut complètement la page du crawl et, potentiellement, de l'index.

Filtres, facettes et pagination

La navigation à facettes est le cas le plus complexe. Elle crée une explosion combinatoire d'URL : 10 filtres de 5 valeurs chacun peuvent générer plus d'un million de combinaisons. L'objectif est de conserver les facettes utiles (marque et catégorie) et de bloquer les combinaisons inutiles.

  1. Identifiez les facettes utiles : pages à fort trafic organique ou à contenu SEO unique (par exemple /catalog/nike/ avec un texte propre à la marque). Gardez-les dans l'index, avec une canonical auto-référente.
  2. Ajoutez un noindex + follow aux combinaisons peu utiles : la page est rendue (les liens sont suivis), mais n'entre pas dans l'index. Utilisez <meta name="robots" content="noindex, follow"> dans le gabarit dès qu'il y a plus d'une facette active.
  3. Interdisez les paramètres purement techniques : tri, couleur, taille, lorsqu'ils n'ont aucune valeur SEO. Bloquez-les via robots.txt.
  4. Facettes chargées en AJAX : si les facettes se chargent en JavaScript sans se refléter dans l'URL, le robot ne voit aucune URL supplémentaire. Le problème est ainsi réglé au niveau de l'architecture.

Pagination : canonical ou Disallow

La stratégie de pagination optimale dépend de l'échelle : jusqu'à 10 pages, autorisez le crawl et ajoutez une canonical vers la page 1 sur les pages 2 et suivantes. Pour des centaines de pages de pagination, utilisez Disallow au-delà de la page 3 à 5. Un défilement infini sans paramètre d'URL est traité comme une page unique par le robot : c'est bon pour le budget.

Pages temporaires : webinaires, maquettes, démos

Les pages temporaires drainent discrètement le budget des plateformes dont les équipes marketing sont actives. Pages de webinaires, maquettes de démonstration, pages d'aperçu pour les clients, variantes de tests A/B : elles apparaissent vite et restent souvent indéfiniment, en consommant le budget de crawl en silence.

  • meta robots noindex : ajoutez <meta name="robots" content="noindex, nofollow"> au gabarit de toutes les pages temporaires. Le robot visite la page, lit la directive et exclut l'URL de l'index. C'est la méthode la plus simple lorsque vous avez accès aux gabarits.
  • En-tête HTTP X-Robots-Tag : si les pages temporaires n'ont pas de gabarit HTML dédié (par exemple des PDF ou des fichiers générés), utilisez l'en-tête de réponse HTTP : X-Robots-Tag: noindex, nofollow.
  • Disallow par préfixe de chemin : si les pages temporaires se trouvent sous des préfixes de chemin prévisibles, bloquez-les dans robots.txt. Cela ne retire pas une URL déjà indexée, mais les nouvelles URL ne seront pas crawlées.
  • Authentification HTTP : pour la préproduction et les pages d'aperçu, c'est la seule méthode d'isolement complet et fiable. Googlebot n'a pas d'identifiants et ne crawlera pas la page.
Exemple de balisage noindex dans la balise et dans l'en-tête HTTP :
text
# robots.txt — patterns for temporary pages
User-agent: *

# Webinars and events
Disallow: /webinars/
Disallow: /events/draft-
Disallow: /landing/test-

# Mockups and previews
Disallow: /_preview/
Disallow: /mockups/
Disallow: /demo/

# A/B tests and experiments
Disallow: /*?variant=
Disallow: /*?experiment=
Disallow: /*?ab_test=

# Template preview parameters
Disallow: /*?preview=
Disallow: /*?draft=
Disallow: /*?revision=
Disallow ne retire pas une page de l'index si elle y figure déjà. Pour désindexer des pages temporaires déjà indexées, utilisez noindex (le robot doit pouvoir lire la directive). Une fois la page sortie de l'index, appliquez Disallow ou mettez en place une authentification HTTP.

Index de sitemaps à grande échelle

Avec des millions d'URL, un sitemap XML unique n'est pas praticable : il est limité à 50 000 URL et 50 Mo. Un index de sitemaps est un fichier de sommaire qui pointe vers des sitemaps enfants. Il permet de structurer les priorités et d'orienter le budget là où il est le plus utile.

xml
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <!-- Priority sections — crawled first -->
  <sitemap>
    <loc>https://example.com/sitemap-products.xml</loc>
    <lastmod>2026-05-15</lastmod>
  </sitemap>
  <sitemap>
    <loc>https://example.com/sitemap-categories.xml</loc>
    <lastmod>2026-05-15</lastmod>
  </sitemap>
  <!-- Lower-priority sections -->
  <sitemap>
    <loc>https://example.com/sitemap-blog.xml</loc>
    <lastmod>2026-05-10</lastmod>
  </sitemap>
  <!-- Do NOT include noindex pages or duplicates! -->
</sitemapindex>
Recommandations pour la structure de l'index de sitemaps :
  • Répartissez les sitemaps par type de contenu : produits, catégories, blog, pages statiques, chacun dans un fichier séparé. Vous verrez ainsi les statistiques d'indexation par section dans la GSC.
  • Gardez lastmod honnête : lastmod signale au robot la fraîcheur du contenu. Indiquez la date de la dernière modification réelle, pas la date du jour, sinon le robot cessera de se fier à ce signal.
  • Excluez les URL bloquées : les pages en noindex ou en Disallow ne doivent pas figurer dans le sitemap, car elles envoient des signaux contradictoires au robot.
  • Limite par sitemap enfant : chaque fichier enfant est limité à 50 000 URL ou 50 Mo (compressé). Découpez en plusieurs parties au-delà : sitemap-products-1.xml, sitemap-products-2.xml.
Recommandations pour la structure de l'index de sitemaps :

Configuration du serveur et limitation de débit

Le serveur influence le budget de crawl dans les deux sens : des réponses lentes poussent Googlebot à réduire son intensité de crawl, tandis que les erreurs 5xx obligent le robot à attendre et à gaspiller du temps en nouvelles tentatives. Optimiser le serveur améliore directement l'efficacité du crawl.

Code HTTPInterprétation par GooglebotAction recommandée
200 OKLa page existe : le robot la crawle et l'indexeLa norme pour toutes les pages publiques
301/302Redirection : le robot la suit, et le budget est dépensé sur les deux URLRéduire les chaînes de redirections ; corriger les liens morts
404 Not FoundLa page n'existe pas : le robot arrête de crawler cette URLAcceptable pour les pages supprimées ; plus de 5 % de 404 dans les logs de Googlebot = problème
429 Too Many RequestsLimitation temporaire : le robot ralentit son crawlÀ utiliser en cas de charge serveur réelle ; Googlebot respecte le 429
503 Service UnavailableIndisponibilité temporaire : le robot réessaiera plus tardRéponse correcte pendant une maintenance ; ne pas en abuser
500 Server ErrorErreur serveur : le robot réessaie, ce qui gaspille du budgetSupprimer les causes des 500 ; chaque 5xx consomme du budget
Exemple de configuration Nginx pour gérer le crawl :
nginx
# Nginx: return 429 when any crawler sends too many requests
limit_req_zone $http_user_agent zone=crawlers:10m rate=10r/s;

location / {
    limit_req zone=crawlers burst=20 nodelay;
    limit_req_status 429;
    # ... other settings
}
Exemple de configuration Nginx pour gérer le crawl :
Pour contrôler le taux de crawl de Googlebot, utilisez GSC → Paramètres → Limite du taux d'exploration, et non Crawl-delay dans robots.txt. Google ignore officiellement Crawl-delay. Crawl-delay fonctionne pour Yandex et Bing.

Indicateurs clés et suivi

Le budget de crawl exige un suivi continu : un déploiement peut exposer par accident des milliers de nouvelles URL paramétrées. Mettez en place un tableau de bord hebdomadaire et une revue mensuelle des indicateurs suivants.

Indicateurs clés du budget de crawl

Valeurs cibles pour une grande plateforme optimisée

Part des réponses 200 OK parmi les requêtes de Googlebot> 90 %
Part des 404 parmi les requêtes de Googlebot< 5 %
Part des URL dupliquées dans le crawl< 15 %
Pages indexées / pages soumises dans le sitemap> 85 %
  • Hebdomadaire : comparez les requêtes de crawl dans la GSC entre la semaine en cours et la précédente. Un pic soudain signale de nouveaux doublons introduits par un déploiement récent.
  • Mensuel : vérifiez dans la GSC → Pages la mention « Détectée, actuellement non indexée ». Une hausse alors que la taille du site reste stable signale un problème de budget de crawl.
  • Après chaque déploiement majeur : lancez Screaming Frog sur le site et contrôlez le nombre d'URL uniques. Comparez-le au relevé précédent.
  • Trimestriel : analyse complète des logs sur 30 jours. Recherchez les nouveaux modèles d'URL paramétrées introduits par le code mis à jour.
  • Alertes : configurez une notification si les réponses 5xx dépassent 1 % de l'ensemble des requêtes de Googlebot sur une même journée.

Gains rapides et feuille de route

L'optimisation du budget de crawl n'est pas une tâche ponctuelle, c'est un processus. Découpez le travail entre les gains rapides (effet en 1 à 2 semaines) et les changements structurels (1 à 3 mois).

Semaine 1Bloquer les pages temporaires et les paramètres d'aperçu

Ajoutez noindex aux gabarits de pages de webinaires, de maquettes et de démos. Ajoutez Disallow pour ?preview= et ?draft= dans robots.txt.

Semaine 2Disallow pour les paramètres de suivi et de session

?utm_, ?sessionid=, ?ref= : dans robots.txt. Canonical pour les variantes UTM sur tous les gabarits.

Mois 1Optimisation de l'index de sitemaps

Découpez en sitemaps thématiques. Retirez du sitemap les pages en noindex. Mettez une lastmod honnête.

Mois 1 à 2Canonical et noindex pour les facettes

Repérez les combinaisons de facettes utiles et inutiles. Mettez en place noindex + follow pour les combinaisons peu utiles.

Mois 2 à 3Optimisation des réponses du serveur

Supprimez les chaînes de redirections. Réduisez le nombre de 404 relevés dans les logs. Optimisez le TTFB des sections crawlées.

En continuSuivi et revue régulière

Tableau de bord GSC, alertes 5xx, analyse trimestrielle des logs. Contrôle après chaque déploiement majeur.

Liste de contrôle des gains rapides

  • noindex ajouté à tous les gabarits de pages temporaires (webinaires, maquettes, démos)
  • Disallow pour ?preview=, ?draft=, ?sessionid=, ?utm_ dans robots.txt
  • Canonical vers les URL propres sur toutes les pages paramétrées (tri, pagination à partir de la page 2)
  • Pages en noindex et en Disallow retirées du sitemap
  • Index de sitemaps découpé par section, avec des lastmod fiables
  • Chaînes de redirections réduites à un seul saut
  • 404 dans les logs de Googlebot inférieurs à 5 % : liens morts supprimés
  • Tableau de bord de suivi hebdomadaire configuré dans la GSC

FAQ

À partir de quelle taille de site le budget de crawl commence-t-il à compter ?
Google recommande d'être attentif au-delà de 1 million d'URL. En pratique, les problèmes apparaissent plus tôt : à partir de 50 000 à 100 000 URL, lorsque des pages paramétrées sont générées activement. Si « Détectée, actuellement non indexée » augmente dans la GSC, il est temps de faire un audit, quelle que soit la taille du site.
Pour le crawl, qu'est-ce qui compte le plus : le sitemap ou les liens internes ?
Les deux comptent et se complètent. Le sitemap indique au robot que les pages existent. Les liens internes transmettent le PageRank et signalent l'importance relative. Une page qui n'a aucun lien interne et ne figure que dans le sitemap sera crawlée moins souvent qu'une page qui reçoit des centaines de liens internes.
Un CDN améliore-t-il le budget de crawl ?
Oui, indirectement. Un CDN accélère les réponses du serveur, ce qui permet à Googlebot de crawler davantage de pages dans le même temps, à limite de débit identique. Un TTFB rapide fait partie des facteurs qui influencent l'intensité du crawl.
Comment la canonical affecte-t-elle le budget de crawl ?
La canonical ne bloque pas le crawl de la page : le robot peut tout de même la visiter. Mais après avoir lu la canonical, il comprend qu'il s'agit d'un doublon et réduit la fréquence de ses nouveaux crawls. La canonical règle le problème des doublons dans l'index, sans résoudre complètement celui du crawl : Disallow ou noindex sont plus efficaces dans ce cas.
Puis-je accélérer l'indexation des nouvelles pages après avoir optimisé le budget ?
Oui. Une fois le budget libéré, mettez à jour le sitemap avec une lastmod correcte pour les nouvelles pages. Utilisez l'Indexing API de Google pour soumettre directement des URL (officiellement réservée aux actualités et aux offres d'emploi, mais efficace en pratique pour d'autres types de contenu). Créez des liens internes depuis les sections qui font autorité vers les nouvelles pages.

Check it with SpiderHead

Free and local: run the audit on your own machine.

Try it