Quand on parle de SEO, on pense titre, meta description, sitemap, données structurées, balises alt, densité de mots-clés, hreflang. On parle rarement de crawl budget. Et c'est exactement là que se trouve le vrai problème. Vous pouvez avoir le contenu le plus optimisé au monde — si Google ne crawle pas vos pages, elles n'existent pas. Le SEO commence par une question simple :
Est-ce que Googlebot arrive à explorer mon site sans tomber sur des erreurs en boucle ? Spoiler : très souvent, non.
La première chose à vérifier : les erreurs bloquantes
Avant de retoucher une seule ligne de meta description, ouvrez Google Search Console → Paramètres → Statistiques sur l'exploration, et regardez la répartition des codes de réponse. Si vous avez plus de 10% de 4xx ou 5xx, votre crawl budget est gaspillé. Vos meta tags peuvent être parfaits, ils ne servent à rien tant que Google passe son temps sur des pages cassées.
Exemple concret rencontré récemment : un site avec tout le bagage SEO classique en place — balises optimisées, données structurées, sitemap propre, contenu publié régulièrement. Malgré cela, les nouvelles pages ne s'indexaient pas — elles restaient bloquées au statut « Détectée, actuellement non indexée » dans Google Search Console. L'analyse des Crawl Stats a mis le problème en évidence.
Le diagnostic : 38% du crawl budget perdu sur des URLs fantômes. Un lundi type, sur 26 visites de Googlebot, 10 retournaient des 404 — soit 38% du budget consacré à des fichiers qui n'existaient pas sur le serveur. Et pas n'importe lesquels : des fichiers techniques (CSS, JS) référencés dans le HTML mais introuvables en production.
Résultat : à chaque passage, Googlebot tombait sur la page d'accueil, puis essayait de récupérer une dizaine de fichiers qui retournaient tous 404. Le site fonctionnait parfaitement côté utilisateur (les fichiers nécessaires étaient bien servis, et les fichiers manquants ne perturbaient pas l'affichage), mais Google, lui, s'épuisait sur du vide.
Le type de bug invisible
C'est exactement le type de bug qu'aucun outil SEO classique ne détecte. Pas d'erreur visible côté front, pas d'alerte côté serveur, le site répond 200 sur les pages réelles. Sans inspection des Crawl Stats et des logs, vous pouvez vivre des mois avec ce problème en pensant que votre contenu est « juste trop récent pour être indexé ».
Pourquoi Googlebot met-il du temps à revenir ?
Après le nettoyage du code HTML, on a continué à monitorer les logs. Googlebot ne crawlait toujours que 5 à 10 ressources par jour : la page d'accueil, deux ou trois images, un fichier CSS. Les pages stratégiques restaient ignorées. Pourquoi ?
Parce que Google met du temps à reconsidérer un site. Quand votre serveur lui sert massivement des erreurs pendant des mois, il baisse silencieusement la fréquence de crawl. Corriger les 404 ne déclenche pas un retour automatique au volume normal.
Le moyen le plus direct de vérifier que le crawl remonte vraiment, c'est de surveiller les logs serveur. Pour deux raisons : mesurer le retour à un volume de crawl normal, et détecter tout nouveau problème en temps réel.
Pourquoi les logs serveur sont indispensables
Les logs serveur vous montrent chaque requête, ligne par ligne, en temps réel. Date, IP, URL, code de réponse, temps de réponse... Tout y est, sans agrégation, sans échantillonnage.
Quand vous filtrez les requêtes de Googlebot dans vos logs, vous découvrez : la fréquence réelle de crawl par URL. Chaque ligne de log = une requête, donc compter les occurrences de chaque URL donne un classement précis de ce que Googlebot visite vraiment.
Quelques commandes pour analyser vos logs serveur
Avec un accès SSH à votre serveur et une liste de commandes bien choisies, vous identifiez en moins de cinq minutes où part votre crawl budget, quelles URLs gaspillent vos ressources, et quels bots tournent vraiment sur votre site.
-
Distribution des codes HTTP reçus par Googlebot, triée par fréquence décroissante :
zgrep "Googlebot" access.log.gz | awk '{print $9}' | sort | uniq -c | sort -rn -
Liste des pages les plus crawlées par Googlebot, triée par fréquence décroissante :
zgrep "Googlebot" access.log.gz | awk '{print $7}' | sort | uniq -c | sort -rn | head -20 -
Toutes les URLs en 404 servies à Googlebot, avec le nombre de fois où chacune a été appelée :
zgrep "Googlebot" access.log.gz | awk '$9=="404" {print $7}' | sort | uniq -c | sort -rn -
Visualiser l'activité de Googlebot jour par jour : cette commande génère un mini-graphe directement dans votre terminal. Chaque ligne représente un jour, et la longueur de la barre est proportionnelle au nombre de visites de Googlebot ce jour-là. Très pratique pour suivre la remontée du crawl après un correctif, ou pour repérer une chute brutale qui mériterait d'être investiguée.
zgrep "Googlebot" access.log.gz | awk '{print $4}' | cut -d: -f1 | tr -d '[' | awk -F/ '{m["Jan"]="01";m["Feb"]="02";m["Mar"]="03";m["Apr"]="04";m["May"]="05";m["Jun"]="06";m["Jul"]="07";m["Aug"]="08";m["Sep"]="09";m["Oct"]="10";m["Nov"]="11";m["Dec"]="12"; print $3 m[$2] $1, $1"/"$2"/"$3}' | sort | awk '{print $2}' | uniq -c | awk '{bar=""; for(i=0; i<$1/10; i++) bar=bar"█"; printf "%-12s %s %d\n", $2, bar, $1}'