Analisi dei log dei crawler AI

Come estrarre e analizzare i log del server o del CDN per l’attività dei bot AI — verificando GPTBot, ClaudeBot e PerplexityBot contro lo spoofing, scegliendo uno strumento e leggendo frequenza di scansione, crawl rispetto a rendering e codici di stato.

Prima pubblicazione: 3 lug 2026 · Ultimo aggiornamento: 9 ago 2026 · Advanced
Lingue
1 segnale di evidenza in questa pagina

L’analisi dei log dei crawler AI consiste nell’esaminare con i propri log di prima parte, non con una dashboard di un vendor, quali bot AI dichiarati hanno richiesto il sito e cosa ha restituito il server. La verifica è specifica del provider: OpenAI pubblica file di intervalli IP per i bot, Anthropic pubblica un elenco condiviso corrente bots.json; uno user agent senza un metodo ufficiale corrente resta una dichiarazione, non un’identità verificata. Mantieni la dipendenza dall’HTML grezzo come rischio osservato invece di sostenere che ogni crawler AI importante non esegua mai JavaScript; i pattern delle richieste di risorse descrivono il campione misurato, non un contratto universale di rendering. La frequenza di scansione non predice le citazioni: il recupero è necessario ma non sufficiente. Gli strumenti vanno da grep a Screaming Frog LFA, ELK/Splunk, BigQuery/Cloudflare.

TL;DR — Estrai i log di accesso di Apache/Nginx o del CDN, poi fai quattro cose: verifica (abbina lo user agent e conferma l’IP rispetto all’elenco pubblicato da ogni operatore — i tassi di spoofing vanno dal 5,7% di HUMAN Security all’81,8% verificato personalmente da Duane Forrester); scegli uno strumento in base alla scala (grep → Screaming Frog Log File Analyser → ELK/Splunk → BigQuery/Cloudflare); misura la frequenza di scansione per bot, le pagine visitate, crawl rispetto a rendering e codici di stato; interpreta con onestà — il recupero è necessario ma non sufficiente, quindi “più scansioni = più citazioni” non è dimostrato. Questo è il metodo gemello di Crawlers AI (che descrive quali sono i bot), Attribuzione del traffico AI (il lato dei clic) e Visibilità LLM (il modello recuperato → menzionato → citato di cui qui osservi solo il primo stadio).

Di cosa si occupa questo articolo — e di cosa no

I log dimostrano le richieste, non se il contenuto sia stato usato per l’addestramento, il recupero o una risposta. Evidence for this claim Server access logs record requests and can include fields such as request path, status, referrer, and user agent. Scope: Apache HTTP Server logging; available fields depend on server configuration. Confidence: high · Verified: Apache: Log files Verifica i bot usando i meccanismi pubblicati dai provider quando disponibili e considera l’attribuzione come un’evidenza circoscritta. Evidence for this claim OpenAI publishes user-agent tokens and controls for several of its crawlers. Scope: OpenAI's documented crawlers; a user-agent string is not proof of downstream training, retrieval, citation, or use. Confidence: high · Verified: OpenAI: Crawlers

Il fratello Crawlers AI si occupa già della tabella bot per bot, della tassonomia in tre categorie (addestramento / ricerca AI / recupero avviato dall’utente), della distinzione tra Google-Extended come token e non come bot e delle ricette robots.txt. Qui non sto ricostruendo nulla di tutto questo. Attribuzione del traffico AI si occupa del lato GA4/referrer — ciò che il bot ha rimandato. Questo articolo è il lato opposto del funnel: ciò che il bot ha prelevato. E Visibilità LLM si occupa del modello recuperato → menzionato → citato; l’analisi dei log è il modo per osservare nello specifico la fase recuperato, e niente oltre.

Questo è il seguito nell’era AI della classica analisi dei file di log SEO. Quando ho esaminato How to Do an SEO Log File Analysis di Ahrefs, le dimensioni erano frequenza di scansione, URL scansionati, codici di stato e verifica dei bot rispetto agli IP pubblicati da Google. Qui lo scheletro è lo stesso, ma rivolto a una popolazione di bot che per lo più non esegue JavaScript, viene imitata continuamente e scansiona a raffiche irregolari invece di seguire un flusso costante.

Passaggio 1 — Recupera i log

I log si trovano in uno di due luoghi, oppure in entrambi:

  • Log del server origin. Apache (access.log), Nginx (access.log) o il server applicativo. Ogni riga contiene almeno: timestamp, IP del client, metodo + percorso della richiesta, codice di stato, byte, referrer e user agent.
  • Log CDN / edge. Se il sito è dietro Cloudflare, Fastly, Akamai e così via, molto traffico dei bot viene gestito all’edge e potrebbe non raggiungere mai l’origin: perciò il log edge è il registro più completo. Cloudflare lo espone tramite Logpush (e un’API GraphQL); Fastly tramite lo streaming dei log in tempo reale.
Evidence for this claim Server access logs record requests and can include fields such as request path, status, referrer, and user agent. Scope: Apache HTTP Server logging; available fields depend on server configuration. Confidence: high · Verified: Apache: Log files

I campi che ti servono davvero per l’analisi dei bot AI sono: timestamp, IP del client, user agent, percorso della richiesta, codice di stato, e idealmente byte e referrer.

Il problema pratico è la conservazione. L’articolo di Lauren Busby su Search Engine Land indica direttamente la soluzione: un’acquisizione programmata trasforma una finestra breve in qualcosa che puoi analizzare nel tempo; un job SFTP pianificato, costruito in uno strumento di workflow come n8n o sotto forma di script, basta a trasformare una finestra di conservazione breve in dati analizzabili nel tempo (Busby, SEL). Configuralo prima di averne bisogno.

Tieni presente fin dall’inizio anche un limite onesto: come dice Busby, i file di log mostrano ciò che ha raggiunto il sito, ma non sempre ciò che ha tentato di raggiungerlo (SEL): le richieste bloccate o risposte a monte potrebbero non comparire affatto.

Passaggio 2 — Verifica prima di fidarti dello user agent

Questo è il passaggio che distingue l’analisi dei log dei bot AI dalla versione classica e che la maggior parte delle guide concorrenti salta. Le stringhe user agent sono banalmente falsificabili. Due dati indipendenti mostrano quanto può essere grave:

  • HUMAN Security ha analizzato due settimane di traffico che dichiarava di provenire da uno dei 16 crawler AI più noti e ha rilevato che il 5,7% era falsificato, circa 1 richiesta su 18 (riportato da SEJ).
  • Duane Forrester ha eseguito lo stesso controllo sui propri log e ha trovato un risultato molto peggiore. Delle 33 richieste con un nome di recupero live, sei provenivano da un IP pubblicato dal vendor e ventisette no: un tasso di spoofing dell’81,8% tra le richieste verificabili (SEJ). Il suo dato su Googlebot era ancora peggiore: delle 799 richieste con il nome Googlebot, solo 107 provenivano da un indirizzo Google verificato; le altre, circa l’87%, non erano Google (SEJ).

Considera questi numeri come indicativi di campioni e metodi diversi, non come un unico numero universale. Ancora più importante: non generalizzare il metodo di verifica di un provider a tutti i bot. Alcuni operatori pubblicano intervalli di indirizzi; altri documentano token user agent senza un intervallo pubblico corrente o un contratto di verifica DNS (SEJ).

Il metodo di verifica:

  1. Abbina la stringa user agent. GPTBot si identifica come Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.3; +https://openai.com/gptbot; OAI-SearchBot e ChatGPT-User contengono i propri token (documentazione bot OpenAI).
  2. Usa l’attuale metodo ufficiale di verifica del provider quando ne esiste uno. OpenAI pubblica openai.com/gptbot.json, searchbot.json e chatgpt-user.json. L’attuale documentazione sui crawler di Anthropic dice che un indirizzo nell’elenco pubblicato proviene da un crawler Anthropic. Usa il metodo specifico e corrente del provider; non trasformarlo in una regola universale di verifica dei bot.
  3. Non inventare un fallback. Il DNS inverso più diretto è valido per un provider solo quando quel provider pubblica il suffisso hostname previsto e la procedura di verifica. Un generico match PTR dimostra il controllo del DNS, non l’identità dichiarata del bot. Log File Analyser di Screaming Frog può applicare gli elenchi pubblicamente confermati quando disponibili; la sua funzione di verifica all’importazione esegue una ricerca rispetto a elenchi IP pubblicamente confermati per verificare che i bot siano autentici (Screaming Frog).

La verifica deve guidare policy precise e la risposta agli incidenti. Preferisci il token robots documentato dal provider per una policy di scansione; riserva i controlli di rete ai casi di abuso o sicurezza e indicateli separatamente dalla conformità a robots.

Passaggio 3 — Scegli lo strumento

Adatta lo strumento alla dimensione del lavoro, più o meno da gratuito a pagamento e da fonte di verità a gestito:

  • grep / PowerShell — conteggio rapido una tantum e filtro consapevole della verifica. L’articolo Crawlers AI contiene lo snippet di base per contare i bot; la scheda Scripts qui lo estende alla verifica degli IP, alla suddivisione per codice di stato e al rilevamento crawl rispetto a rendering.
  • Screaming Frog Log File Analyser — importatore desktop con preset integrati per i bot AI (GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-User, PerplexityBot, Perplexity-User, CCBot) e un’opzione “Verify Bots When Importing”. La scheda Response Codes divide 2XX/3XX/4XX/5XX per URL, User Agents mostra richieste e tassi di errore per bot, URLs ordina per Num Events (le pagine più recuperate) e IPs permette di esaminare le fonti sospette (tutorial).
  • ELK Stack (Elasticsearch / Logstash / Kibana) o Splunk — acquisizione continua su scala maggiore, dashboard e avvisi quando un import desktop singolo diventa troppo lento o vuoi monitorare costantemente invece di esportare periodicamente.
  • BigQuery — conservazione a lungo termine e query SQL su scala, alimentato di solito da Cloudflare Logpush o da una query GraphQL pianificata sul dataset httpRequestsAdaptiveGroups di Cloudflare, così puoi interrogare l’attività dei bot per pagina, data e codice di stato senza reimportare file piatti.
  • Cloudflare AI Crawl Control (per i siti dietro Cloudflare) — dashboard gestita per l’attività e i pattern delle richieste dei crawler, la verifica dei bot e il monitoraggio della conformità alle direttive, senza costruire una pipeline proprietaria (documentazione).

Passaggio 4 — Cosa misurare e come leggerlo

Frequenza di scansione per bot. Hit al giorno/settimana per nome del bot. I bot AI scansionano a raffiche, non con flussi regolari. Nel caso di studio sui log CDN di 48 giorni di WISLR, GPTBot era assente per settimane, poi ha effettuato 187 richieste in una sola settimana — 152 in una raffica di tre minuti, con un picco di 114 richieste al minuto (WISLR). Leggi la frequenza come un pattern, non solo come un totale.

Quali pagine vengono visitate e quali importanti no. Ordina per numero di richieste. Busby osserva che i crawler AI spesso restano superficiali: è comune vederli limitati alle pagine di primo livello, cioè homepage, navigazione principale e pochi URL di alto livello (SEL); poi il traffico cala nettamente sulle pagine profonde anche quando sono quelle che contano di più per le citazioni. Una pagina profonda che non compare mai nei log non può essere recuperata.

Dipendenza dall’HTML grezzo — misurala, non universalizzarla. La documentazione dei provider non definisce un unico contratto condiviso di rendering JavaScript per GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, PerplexityBot e gli altri agenti. Un segnale osservato resta utile: nel campione WISLR, ChatGPT-User ha recuperato solo HTML — zero richieste di immagini, CSS o file JS — mentre Googlebot e OAI-SearchBot hanno recuperato anche immagini (WISLR). Se i log mostrano bot AI che insistono su pagine il cui HTML grezzo è quasi solo uno shell JS, è un rischio di dipendenza verificabile, non la prova che ogni provider si comporti sempre così. Confronta l’HTML consegnato con i risultati o con test di recupero specifici del provider. (Per i fondamenti del rendering, vedi SEO JavaScript.)

Suddivisione per codice di stato / blocco. Osserva: 200 (successo), 304 (non modificato — ricrawl efficiente), 404 (link non funzionanti seguiti dal bot) e 403/429 (bloccato / soggetto a rate limit). Busby sottolinea nello specifico che i file di log fanno emergere dove i crawler incontrano problemi, comprese risposte 403 (richieste bloccate) e 429 (rate limiting) (SEL). Controlla se il blocco è intenzionale o accidentale.

Richieste robots.txt e llms.txt come segnale autonomo. Incrocia quali bot richiedono /robots.txt prima di scansionare: nel campione WISLR GPTBot e Meta-WebIndexer non lo hanno mai controllato in 48 giorni, e verifica se vengono visitati percorsi non consentiti. WISLR ha inoltre registrato zero richieste a /llms.txt da qualunque bot AI negli stessi 48 giorni (WISLR), in linea con il risultato di circa il 97% di mancata lettura discusso nell’articolo Crawlers AI. Non aspettarti richieste a llms.txt nei log come prova che “funziona”.

Più scansioni significano più citazioni? Sii onesto.

Nessun dato consolidato dimostra “più scansioni, più citazioni”. Il recupero è una condizione necessaria per una citazione, ma ben lontana dall’essere sufficiente: le pagine vengono scansionate continuamente senza essere mai citate, per esempio a causa del rendering lato client, di paywall, contenuti sottili o duplicati, oppure semplicemente perché il modello sceglie una fonte migliore nella fase di recupero/ranking. La cornice che tiene insieme il ragionamento è nell’articolo Visibilità LLM: recuperato → menzionato → citato; l’analisi dei log osserva solo il primo stadio.

Il modo onesto di chiudere il ciclo è affiancare il lato dell’input di scansione (i log) al lato dell’output delle citazioni. Il rapporto AI Performance di Bing (anteprima pubblica, febbraio 2026) è il primo strumento ufficiale a esporre dati sulle citazioni insieme alle query di grounding: le frasi chiave che l’AI ha usato durante il recupero dei contenuti poi citati nelle risposte generate dall’AI (Bing Webmaster Blog). I log dicono cosa è stato prelevato; query di grounding e conteggi delle citazioni dicono cosa ne è derivato. Nessuno dei due offre il quadro completo: consulta l’hub di misurazione e reportistica per capire come si sovrappongono questi livelli.

La complicazione dello stealth crawling

La verifica non è un audit da fare una sola volta. Secondo Clint Spaulding di Seer Interactive, dopo essere stati bloccati i crawler stealth possono ricomparire con header generici del browser e IP non correlati: nei log queste sessioni sembrano umane, quindi i conteggi delle sessioni si gonfiano, il traffico dei bot viene sottostimato e la segmentazione GEO diventa meno affidabile (Seer). La sua sintesi diretta è: se non riesci a vedere questi crawler stealth, non puoi misurarne l’impatto. Ecco perché l’analisi dei log richiede verifiche periodiche e nuove baseline, non un solo passaggio.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.