Analizzatore dei log del server

Analizza i log di accesso Apache, Nginx e IIS: quali bot scansionano dove, quali codici di stato ottengono, e quante delle loro richieste finiscono in errore. Facoltativamente verifica l'identità dei bot con reverse DNS confermato in avanti.

Cosa fa

Leggi un log

log-analyze legge un file di log di accesso, semplice o gzip, e riconosce il formato dalle prime righe. Raggruppa le richieste per famiglia di bot e riporta hit, byte, IP unici, codici di stato e sezioni visitate. I risultati descrivono la parte di log analizzata, non l'intero sito.

  • Formati: Apache e Nginx Common o Combined, e IIS W3C Extended.
  • --max-lines imposta un budget esplicito di input.
  • I risultati sono paginati, e --bot e --ip li filtrano.

Verifica i bot

Uno user agent da solo non prova nulla. Con --verify-bots, SpiderHead verifica che un IP si risolva in un nome host ufficiale e che il nome si risolva a sua volta nello stesso IP. Ogni IP riceve un verdetto: verificato, falso o non controllato. Se il DNS è bloccato sul tuo computer, il risultato è non disponibile, non falso.

  • --max-dns limita le lookup tra 0 e 100 per pagina.
  • I bot senza un suffisso di host ufficiale restano non controllati.
  • Solo questa opzione fa richieste di rete, e sono lookup DNS.

Errori e la tua scansione

Per ogni famiglia di bot il rapporto annota quando più del 10% delle richieste restituisce 4xx o 5xx. Per confrontare le visite dei bot con una scansione, importa il log in un progetto con logs-import. logs-join elenca allora le URL scansionate che i bot non hanno mai richiesto, le URL richieste assenti dalla scansione, le risposte di errore e le URL non indicizzabili che i bot visitano.

  • Viste: scan_without_bot_visits, bot_urls_absent_scan, status_waste, nonindexable.
  • Le URL assenti da una scansione sono candidate da ispezionare, non orfane provate.
  • logs-summary e logs-bots danno viste giornaliere, per stato e per sezione.

Tre passaggi, una scansione salvata

  1. Puntalo a un log di accesso

    Dagli un file di log Apache, Nginx o IIS W3C, semplice o compresso gzip. Il formato è riconosciuto dalle prime righe.

  2. Raggruppa le richieste per bot

    Hit, byte, IP unici, codici di stato e sezioni visitate per ogni famiglia di bot, da Googlebot e Bingbot ai crawler AI e agli strumenti SEO.

  3. Verifica l'identità dei bot

    Con --verify-bots, ogni IP di bot riceve un controllo di reverse DNS confermato in avanti: verificato, falso o non controllato. Uno user agent da solo non è mai preso come prova.

Un solo comando

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

Prima installa SpiderHead: guida all'installazione. Ogni comando funziona anche come strumento MCP per agenti AI.

Cosa ti serve

  • Un file di log di accesso Apache, Nginx o IIS (gzip ammesso), oppure una cartella di import
  • Opzionale: un progetto e una scansione salvata, per confrontare i log con una scansione
  • Opzionale: DNS in uscita funzionante, per --verify-bots

Limiti

  • Vengono letti solo i formati di log supportati. I layout di campi personalizzati no.
  • I nomi dei bot sono rivendicazioni dello user agent finché non sono verificati.
  • Un log mancante o parziale non prova zero visite.
  • Le righe Apache senza fuso orario e i timestamp IIS sono letti come UTC.

Domande

Invia qualcosa o modifica il mio sito?
No. Il log è letto dal tuo disco e il sito non viene mai contattato. Solo --verify-bots fa richieste di rete, e sono lookup DNS per gli IP dei bot.
Come faccio a sapere che una visita di Googlebot è vera?
Esegui con --verify-bots. Il nome dal reverse DNS deve finire in googlebot.com, google.com o googleusercontent.com, e risolversi a sua volta nello stesso IP. Se il DNS è bloccato, lo strumento riporta la verifica come non disponibile invece di marcare ogni bot come falso.
Quali server e formati sono supportati?
Apache e Nginx in formato Common o Combined, e IIS W3C Extended. Le colonne IIS si leggono dalla riga #Fields, quindi un ordine di campi cambiato funziona comunque. I file gzip sono letti direttamente.
Com'è misurato lo spreco di budget?
log-analyze riporta, per famiglia di bot, la quota di risposte 4xx e 5xx. Oltre il 10% annota che la famiglia sta sprecando crawl budget. Per confrontare le visite dei bot con le URL che vuoi far scansionare, importa il log e usa logs-join contro una scansione salvata. Non confronta con un sitemap.
Cosa viene conservato su disco?
log-analyze non scrive report, solo un indice temporaneo che rimuove. logs-import scrive un file SQLite privato logs.v1 con conteggi di bot, IP, URL, data e stato. Non conserva righe originali, user agent o referrer, ma IP e percorsi possono comunque identificare persone, quindi tienilo fuori dai report pubblici.
Quanto costa?
Niente. È gratuito e non richiede chiavi né account.