Analyseur de fichiers de logs serveur

Analysez les logs d'accès Apache, Nginx et IIS : quels bots crawlent quelles pages, quels codes de statut ils reçoivent et quelle part de leurs requêtes se termine par une erreur. En option, vérifiez l'identité des bots par DNS inverse confirmé en direct (forward-confirmed reverse DNS).

Ce qu'elle fait

Lire un log

log-analyze lit un fichier de logs d'accès, en clair ou compressé en gzip, et détecte le format à partir de ses premières lignes. Il regroupe les requêtes par famille de bots et indique les hits, les octets, les IP uniques, les codes de statut et les sections visitées. Les résultats décrivent la partie du log qui a été analysée, pas l'ensemble du site.

  • Formats : Apache et Nginx au format Common ou Combined, et IIS W3C Extended.
  • --max-lines fixe un budget d'entrée explicite.
  • Les résultats sont paginés, et --bot et --ip permettent de les filtrer.

Vérifier les bots

Un user-agent ne prouve rien à lui seul. Avec --verify-bots, SpiderHead vérifie qu'une IP se résout en un nom d'hôte officiel et que ce nom se résout à nouveau vers la même IP. Chaque IP reçoit un verdict : verified, fake ou unchecked. Si le DNS est bloqué sur votre machine, le résultat est indisponible, et non faux.

  • --max-dns limite les recherches DNS entre 0 et 100 par page.
  • Les bots sans suffixe d'hôte officiel restent unchecked.
  • Seule cette option génère des requêtes réseau, et ce sont des recherches DNS.

Erreurs et votre crawl

Pour chaque famille de bots, le rapport signale lorsque plus de 10 % des requêtes renvoient une erreur 4xx ou 5xx. Pour comparer les visites des bots avec un crawl, importez le log dans un projet avec logs-import. logs-join liste ensuite les URL scannées que les bots n'ont jamais demandées, les URL demandées absentes du scan, les réponses d'erreur, ainsi que les URL non indexables visitées par les bots.

  • Vues : scan_without_bot_visits, bot_urls_absent_scan, status_waste, nonindexable.
  • Les URL absentes d'un scan sont des pistes à examiner, pas des pages orphelines avérées.
  • logs-summary et logs-bots donnent des vues quotidiennes, par statut et par section.

Trois étapes, un seul scan enregistré

  1. Indiquez un log d'accès

    Donnez un seul fichier de logs Apache, Nginx ou IIS W3C, en clair ou compressé en gzip. Le format est détecté à partir des premières lignes.

  2. Regroupez les requêtes par bot

    Hits, octets, IP uniques, codes de statut et sections visitées pour chaque famille de bots, de Googlebot et Bingbot aux crawlers d'IA et aux outils SEO.

  3. Vérifiez l'identité des bots

    Avec --verify-bots, chaque IP de bot reçoit une vérification DNS inverse confirmée en direct : verified, fake ou unchecked. Un user-agent seul n'est jamais considéré comme une preuve.

Une seule commande

bash
seohead log-analyze --path ./access.log --verify-bots

Commencez par installer : guide d'installation. Chaque commande fonctionne aussi comme outil MCP pour les agents IA.

Ce qu'il vous faut

  • Un fichier de logs d'accès Apache, Nginx ou IIS (gzip accepté), ou un dossier d'import
  • En option : un projet et un scan enregistré, pour comparer les logs avec un crawl
  • En option : un DNS sortant fonctionnel, pour --verify-bots

Limites

  • Seuls les formats de logs pris en charge sont lus. Les structures de champs personnalisées ne le sont pas.
  • Les noms de bots ne sont que des déclarations de user-agent tant qu'ils ne sont pas vérifiés.
  • Un log absent ou partiel ne prouve pas l'absence de visites.
  • Les lignes Apache sans fuseau horaire et les horodatages IIS sont lus en UTC.

Questions

Envoie-t-il quoi que ce soit ou modifie-t-il mon site ?
Non. Le log est lu depuis votre disque, et le site n'est jamais sollicité. Seule l'option --verify-bots génère des requêtes réseau, et il s'agit de recherches DNS pour les IP de bots.
Comment savoir qu'un hit de Googlebot est authentique ?
Lancez l'outil avec --verify-bots. Le nom DNS inverse doit se terminer par googlebot.com, google.com ou googleusercontent.com, et se résoudre vers la même IP. Si le DNS est bloqué, l'outil indique que la vérification est indisponible au lieu de marquer tous les bots comme faux.
Quels serveurs et quels formats sont pris en charge ?
Apache et Nginx au format Common ou Combined, et IIS W3C Extended. Les colonnes IIS sont lues à partir de la ligne #Fields : un ordre de champs modifié fonctionne donc toujours. Les fichiers gzip sont lus directement.
Comment mesure-t-on le gaspillage du budget de crawl ?
log-analyze indique, pour chaque famille de bots, la part de réponses 4xx et 5xx. Au-delà de 10 %, il signale que la famille gaspille le budget de crawl. Pour comparer les hits des bots avec les URL que vous voulez voir crawlées, importez le log et utilisez logs-join par rapport à un scan enregistré. Il ne fait pas de comparaison avec un sitemap.
Que stocke-t-on sur le disque ?
log-analyze n'écrit aucun rapport, seulement un index temporaire qu'il supprime. logs-import écrit un fichier SQLite privé logs.v1 contenant les compteurs par bot, IP, URL, date et statut. Il ne conserve ni les lignes d'origine, ni les user-agents, ni les referrers. Les IP et les chemins peuvent toutefois identifier des personnes : tenez ce fichier à l'écart des rapports publics.
Combien ça coûte ?
Rien. L'outil est gratuit et ne demande ni clé ni compte.