Come riconoscere un crawler AI nei log del server
Il tuo file di log sa già quali sistemi AI hanno letto il sito. Serve solo distinguere chi passava a raccogliere da chi è arrivato perché qualcuno ha chiesto.
PSentry non legge i log del tuo server. Misura cosa dicono gli assistenti sul tuo marchio, che è una domanda diversa da cosa hanno scaricato, e nessuna dashboard trasforma la seconda nella prima. Il lato log te lo devi guardare da solo. Vale la pena farlo, perché è l'unico punto di tutta questa faccenda in cui hai un fatto invece di una stima, e perché il file esiste già su una macchina che controlli tu.
Quella che segue è una procedura. Serve solo poter mettere le mani su un log di accesso, dal pannello dell'hosting o via SSH. È tutto verificabile in un pomeriggio.
Chi passa a raccogliere e chi passa perché qualcuno ha chiesto
Parto da qui invece che dai comandi, perché è la distinzione che rende utile l'esercizio e quasi nessuno la fa.
GPTBot, ClaudeBot e PerplexityBot sono crawler di massa. Girano per il sito quando decidono loro, raccogliendo pagine per l'addestramento o per un indice. Una loro visita ti dice che la porta è aperta. Non ti dice niente sulla domanda.
ChatGPT-User, Claude-User e Perplexity-User sono l'altra cosa. Partono quando una persona, dentro una conversazione, chiede qualcosa che spinge l'assistente ad andare a prendere una pagina in quel momento. Una di quelle righe nel log è un essere umano con una domanda, sulla tua pagina, in quel secondo. È la cosa più vicina a un'intenzione d'acquisto che troverai in tutta questa categoria.
Quindi quando conti, contali separati. Un aumento delle scansioni di massa e un aumento delle richieste scatenate da un utente vogliono dire cose opposte, e mediarli in un unico numero chiamato traffico AI butta via l'unico segnale che c'era nel file.
Il file giusto, e cosa fare se non lo puoi leggere
Se stai dietro una CDN, il log dell'origine è il file sbagliato: mostra quello che la CDN ha inoltrato, non quello che è arrivato. Cloudflare e gli altri espongono i propri log di richiesta, e sono quelli con il quadro completo. Su hosting normale cerchi access.log, o l'equivalente nel pannello.
Qui però c'è una realtà che riguarda buona parte delle aziende italiane, e i tutorial scritti per chi ha una macchina propria la saltano: su un hosting condiviso il log spesso non è raggiungibile via SSH, si scarica solo dal pannello, e viene ruotato dopo pochi giorni. Se scopri il problema il quindici del mese, il traffico di inizio mese non esiste più.
Tre cose da chiedere al provider, e sono richieste ragionevoli che qualunque hosting serio soddisfa: per quanti giorni conserva i log grezzi, se può alzare quella finestra, e se il campo user agent è incluso o viene tagliato via. Se la risposta alla terza è no, tutto il resto di questa procedura è inutile su quell'hosting, ed è di per sé un'informazione: significa che non hai modo di sapere chi ti legge.
Ultima cosa da controllare in questa fase, ed è quella che nasconde più sorprese: se davanti al sito c'è un firewall applicativo o una protezione bot attivata dall'hosting per conto suo, i crawler possono essere respinti prima ancora di arrivare al log che stai guardando. Il pannello del firewall e il robots.txt raccontano storie diverse molto più spesso di quanto sembri, perché di solito li gestiscono due persone diverse.
I nomi che esistono davvero
Sono più di quelli che girano nelle liste, e non vogliono dire tutti la stessa cosa. Cerca nel campo user agent:
GPTBot,OAI-SearchBoteChatGPT-User, tutti di OpenAIClaudeBot,Claude-UsereClaude-SearchBot, di AnthropicPerplexityBotePerplexity-UserBingbot, che conta più di quanto sembri: diversi assistenti prendono i risultati web passando da lì invece di venire a scansionarti direttamente
Un nome che non troverai, e che puoi smettere di cercare: Google-Extended non è un crawler. È un'etichetta che puoi mettere nel robots.txt per dire a Google di non usare i tuoi contenuti per Gemini e per l'addestramento dei suoi modelli. Sotto quel nome non passa niente, quindi in un log di accesso non comparirà mai. Ogni checklist che ti dice di cercarlo nei log sta ripetendo una cosa che nessuno ha verificato.
Verificare chi dice di essere un crawler
La stringa dello user agent è testo. Chiunque può mandare GPTBot in un header, e gli scraper lo fanno di continuo, perché i siti tendono a lasciarli passare. Quindi una riga nel log è una dichiarazione, non un fatto.
Il controllo è lo stesso che già usi per Googlebot. OpenAI, Anthropic e Perplexity pubblicano gli intervalli di indirizzi che i loro crawler usano, come file JSON sui propri domini, e alcuni supportano anche il DNS inverso che risolve verso la loro infrastruttura. Prendi gli indirizzi dal log, confrontali con gli intervalli pubblicati, scarta quelli che non tornano. Se non l'hai mai fatto, aspettati che il conteggio delle visite autentiche esca più basso di quanto suggeriva la ricerca grezza.
Cosa hai risposto tu
Adesso guarda i codici di stato accanto a quelle richieste, perché è qui che i siti trovano problemi veri.
Un muro di 403 vuol dire che qualcosa li sta bloccando. Una serie di 404 sulle pagine prodotto di solito significa che una migrazione ha lasciato i vecchi percorsi nell'indice di qualcuno. Catene lunghe di 301 uno dentro l'altro vanno appiattite. E se al crawler stai servendo il banner dei cookie o una pagina di sfida invece del contenuto, lo vedi come una dimensione di risposta sospettosamente identica su ogni richiesta.
Cosa il log non ti dice
Due limiti, e sono il motivo per cui questa procedura affianca la misurazione invece di sostituirla.
Un modello può descrivere la tua azienda a lungo senza scaricare niente, attingendo a quello che ha assorbito durante l'addestramento. Nel log non compare nulla, e tu puoi essere visibile esattamente in quel modo. Il log è cieco a questo.
E il contrario: un crawler può leggerti ogni pagina e l'assistente può comunque nominare un concorrente quando qualcuno chiede chi fornisce quello che fornisci tu. Essere scaricati non è essere consigliati. Il log misura l'accesso. Cosa viene detto nella risposta è una misura separata, ed è quella che fa PSentry, su 4 assistenti e in ogni lingua in cui vendi.
Il controllo sui log fallo lo stesso. È gratis, costa un pomeriggio, ed è l'unico pezzo di tutto questo problema in cui guardi un dato certo invece di un campione.
Tre dubbi che arrivano sempre a questo punto
Se blocco GPTBot sparisco da ChatGPT?
Non necessariamente. Bloccare un crawler impedisce di raccogliere le tue pagine da qui in avanti, ma non cancella quello che un addestramento ha già assorbito, e non tocca le pagine di terzi che parlano di te. Il blocco è una scelta legittima: quello che non lo è, è averla presa nel 2023 e non averla mai più riletta.
Il mio hosting conserva i log solo pochi giorni. Serve lo stesso?
Sì, per capire com'è messo il sito adesso: se i crawler passano, se ricevono errori, se il firewall li respinge. Quello che perdi è il confronto nel tempo. Se il provider non può allungare la finestra, chiedi almeno un estratto giornaliero col conteggio per user agent: occupa pochissimo e basta a tenere una serie.
Passano tanti crawler e non vengo mai citato. È normale?
Sì, ed è il caso più comune. Essere letti è la condizione minima, non il risultato. Il log ti dice che la porta è aperta; se poi l'assistente nomina un altro, la ragione sta in cosa dice il web di voi due, non nel numero di visite.