Catégories

Gaspillage crawl facettes

SEO des logs en 2026 : un workflow complet pour réduire le gaspillage de crawl

En 2026, la plupart des équipes savent déjà diagnostiquer les Core Web Vitals et les problèmes de rendu, mais l’analyse de fichiers de logs reste la méthode la plus rapide pour arrêter de deviner ce que font réellement les robots. Les logs serveur et CDN donnent une trace horodatée de chaque requête : quels bots visitent quelles URL, à quelle fréquence, combien ces URL coûtent à l’infrastructure, et où le budget de crawl se perd. En transformant ces données brutes en workflow répétable, on débloque souvent des problèmes d’indexation qui paraissent « mystérieux » dans Search Console.

Étape 1 : collecter les bons logs et les rendre exploitables

Commencez par les logs d’accès du serveur d’origine (Nginx ou Apache) et, si vous en utilisez un, par les logs du CDN en périphérie. En pratique, le serveur d’origine indique ce qui atteint l’application, tandis que le CDN montre ce qui a été servi (et parfois ce qui a été bloqué, challengé, mis en cache ou limité). Par exemple, les jeux de données de requêtes HTTP de Cloudflare exposent de nombreux champs utiles pour distinguer le comportement en périphérie du comportement côté origine et segmenter le trafic selon les caractéristiques des requêtes.

Au minimum, il vous faut : horodatage (avec fuseau), méthode HTTP, hôte, chemin + chaîne de requête, code de statut, octets renvoyés, temps de réponse (ou temps upstream), user agent, référent, et IP client (ou un champ « client IP » fourni par le CDN). Si vous pouvez ajouter un identifiant interne de requête et l’URL « finale » après normalisation (règles de minuscules, slash final, ordre des paramètres), faites-le tôt : la jointure de jeux de données plus tard est souvent l’étape qui fait échouer les projets logs.

Avant d’analyser, définissez votre gestion des données personnelles. Les adresses IP et les identifiants présents dans les URL (emails, numéros de téléphone, IDs clients) peuvent rendre les logs sensibles. Un bon socle : tronquer ou tokeniser les IP, hacher les identifiants stables avec un sel rotatif, supprimer les paramètres connus pour contenir des données personnelles, et stocker tout mapping réversible (si vraiment nécessaire) dans un emplacement séparé et verrouillé. La pseudonymisation réduit le risque, mais ce n’est pas une anonymisation totale : il faut donc des contrôles d’accès et des règles de rétention.

Détails d’implémentation qui évitent les reprises

Standardisez le pipeline comme un flux d’événements d’analytics : ingestion, validation, enrichissement, stockage, requêtes. En 2026, un schéma courant est « logs vers stockage objet » (S3/GCS/Azure Blob) avec partitions quotidiennes, puis requêtes via Athena/BigQuery/Snowflake, ou chargement dans ClickHouse pour des agrégations rapides. Si votre organisation utilise déjà ELK/OpenSearch, cela fonctionne aussi, à condition d’être strict sur les mappings de champs et les coûts de requêtage.

Ajoutez deux couches d’enrichissement dès l’ingestion : (1) classification et vérification des bots, (2) normalisation des URL. Pour la classification, évitez de vous baser uniquement sur le user agent : il se falsifie facilement. Google documente une méthode de vérification basée sur le reverse DNS puis une confirmation forward pour valider qu’une requête provient bien de ses robots. Si vous utilisez Cloudflare, un signal de « bot vérifié » au niveau CDN peut aider au tri initial, mais ne remplace pas la vérification DNS pour les audits et les investigations.

Verrouillez le stockage dès le départ : accès limité, journalisation des accès, et rétention selon la valeur (souvent 30 à 90 jours de logs bruts suffisent, avec des tables agrégées conservées plus longtemps). Décidez aussi de votre « vérité URL » : analyser l’URL demandée brute, l’URL après rewrite, ou les deux. Conserver les deux est idéal, car le gaspillage de crawl vient souvent de la couche brute (paramètres, filtres), alors que les corrections se font via routing, canonicalisation ou redirections.

Étape 2 : produire cinq rapports qui changent réellement l’indexation

Beaucoup de projets logs échouent parce qu’ils livrent de beaux tableaux de bord sans actions concrètes. La voie la plus rapide consiste à livrer cinq rapports qui se traduisent directement en tickets techniques et en résultats mesurables sur le crawl. Chaque rapport doit inclure : URLs d’exemple, volumes de requêtes par type de bot, dates première/dernière observation, distribution des statuts, temps de réponse médian, et recommandation d’action avec un responsable.

Rapport 1 : URL orphelines crawlées. Ce sont des URL vues dans les logs mais absentes du maillage interne, des sitemaps XML, et non destinées à l’indexation. Si Googlebot les visite régulièrement, elles consomment du budget de crawl et créent parfois des doublons. Priorisez les orphelines avec des hits répétés et des signaux d’importance (beaucoup de redirections internes vers elles, ou réponses 200 fréquentes).

Rapport 2 : erreurs que les robots touchent en boucle (404, 410, 500/502/503/504). Un petit nombre d’URL cassées peut consommer une part étonnante des requêtes si elles sont liées en interne ou générées par des templates. Les actions sont directes : corriger les liens internes, renvoyer le bon statut, retirer des sitemaps, et éviter les pages d’erreur qui répondent en 200. Pour les erreurs serveur, corrélez avec les pics de temps de réponse et les patterns liés aux déploiements afin que l’équipe SRE traite la cause racine.

Trois rapports supplémentaires qui débloquent souvent les plus gros gains

Rapport 3 : chaînes et boucles de redirection. Les logs montrent la profondeur réelle des chaînes que subissent les robots, pas seulement ce qu’un test d’URL isolé révèle. Regroupez par « URL de départ → URL finale » et calculez profondeur, statuts de chaque saut, et fréquence de visite du début de chaîne. Côté correctifs : mettre à jour les liens internes vers l’URL finale, réduire à une seule redirection, éliminer les boucles causées par la casse, le slash final ou des politiques HTTP→HTTPS incohérentes.

Rapport 4 : pièges de crawl (espaces infinis). C’est là que le budget de crawl devient concret : calendriers, recherche interne, filtres à facettes empilés, IDs de session, pagination combinée à des filtres… L’espace d’URL explose. Les recommandations de Google sur la navigation à facettes alertent sur la consommation de ressources et conseillent d’empêcher le crawl lorsque ces URL ne doivent pas apparaître dans les résultats. Dans les logs, un piège se repère par de gros volumes de requêtes à faible valeur (combinaisons de paramètres massives, templates quasi identiques, hits bots répétés, et mauvais résultats d’indexation).

Rapport 5 : analyse des paramètres et filtres. Découpez les requêtes par clés de paramètres, puis par patterns (clé, valeur), et cherchez : paramètres créant des doublons, paramètres menant à des non-200, et paramètres générant d’énormes volumes d’URL « fines ». Livrez une « allowlist » (paramètres volontairement crawlables car ils créent des pages uniques et indexables) et une « liste de contrôle » (paramètres à bloquer via robots.txt, à consolider par canonicalisation, ou à normaliser via redirections). Cela transforme une plainte SEO vague en spécification technique claire.

Gaspillage crawl facettes

Étape 3 : relier logs, GSC, sitemaps et canonicals pour prioriser

Les logs disent ce que les bots ont demandé ; ils ne disent pas ce qui a été indexé ni comment Google évalue une URL. En 2026, la valeur est dans la jointure : logs + sitemaps XML + cibles canoniques + exports Search Console. Cela permet de répondre à des questions comme « Les bots crawlent-ils des URL que nous ne mettons jamais en sitemap ? » ou « Les pages que nous considérons canoniques sont-elles celles le plus souvent crawlées ? »

Mettez en place une tâche quotidienne qui ingère : (1) les listes d’URL de sitemaps (avec lastmod et priority si vous les utilisez), (2) une carte des canonicals depuis votre crawl (URL → canonical déclaré), et (3) les données Search Console que votre équipe exploite (souvent impressions/clics au niveau URL et exports de couverture d’index quand disponibles). L’objectif n’est pas de modéliser Google parfaitement, mais de créer une couche de tri fiable : l’effort d’ingénierie va aux URL importantes pour le crawl et importantes pour le business.

Un cadre de priorisation efficace est une matrice 2×2 : « fréquence de crawl élevée vs faible » croisée avec « doit être indexé vs ne doit pas être indexé ». Les URL très crawlées qui ne doivent pas être indexées sont les gains rapides (réduction du gaspillage). Les URL peu crawlées qui doivent être indexées sont les blocages de croissance (découverte et recrawl). Cela évite les débats sans fin et transforme l’analyse en backlog prêt pour un sprint.

Deux playbooks concrets qu’une équipe peut exécuter en une semaine

Scénario A : « Les bots dépensent le budget sur les filtres. » D’abord, validez le segment bot mesuré (pour ne pas optimiser un user agent usurpé). Ensuite, quantifiez les combinaisons de paramètres et familles de templates qui consomment le crawl. Déployez une réponse contrôlée : bloquer les chemins de facettes à faible valeur (souvent via robots.txt), conserver une petite allowlist de facettes réellement indexables, et imposer canonicalisation + liens internes vers les URL propres. Les recommandations de Google indiquent clairement que bloquer le crawl est une approche légitime quand ces facettes n’ont pas vocation à être visibles en recherche : traitez cela comme une décision produit, pas comme une astuce.

Scénario B : « Les nouvelles pages s’indexent lentement. » Utilisez les logs pour vérifier si Googlebot découvre et demande les nouvelles URL, et au bout de combien de temps après publication. Si les bots ne les visitent pas, travaillez la découverte : liens internes depuis des hubs forts, inclusion correcte en sitemap, suppression de blocages (noindex accidentel, réponses 4xx/5xx). Si les bots visitent mais recrawlent rarement, cherchez la concurrence sur le crawl : pièges, redirections, bruit de paramètres qui diluent l’attention, et goulots de performance côté serveur qui réduisent l’efficacité du crawl.

Dans les deux scénarios, définissez un succès mesurable : part des requêtes bots transférée vers des URL propres, baisse des hits répétés vers des URL à faible valeur, et amélioration du délai « publication → première visite bot ». L’analyse de logs est la plus utile quand elle ressemble à l’observabilité en ingénierie : on mesure, on change une variable, puis on mesure à nouveau jusqu’à ce que le crawl corresponde à ce que vous voulez indexer.