I crawler AI stanno gonfiando i tuoi numeri di traffico, e la solita scorciatoia — controllare l'header User-Agent — non lo rileva.

Una recente scansione dei log durata otto giorni ha rivelato 468 recuperi di articoli reali, ma 991 richieste che fingevano di essere bot AI mentre in realtà cercavano file come .env o .git. Il colpevole? Chiunque può inserire una stringa User-Agent dichiarata autonomamente, come GPTBot o ChatGPT-User, in una richiesta HTTP.

Perché la metrica è importante

I siti web considerano un aumento del "traffico AI" come un segno di rilevanza. Usano questi numeri per giustificare le tariffe pubblicitarie, allocare le risorse del server e vantarsi con gli investitori. Quando la metà delle visite AI riportate è solo rumore, i budget si disperdono e le dashboard diventano fuorvianti.

I due filtri che separano le affermazioni dalla realtà

  1. verifiedBotCategory di Cloudflare – Cloudflare compila questo campo solo dopo aver risolto l'IP della richiesta in un dominio bot noto tramite reverse DNS. Se l'header indica "GPTBot" ma l'IP fallisce la ricerca, la richiesta finisce nel contenitore "unverified".
  2. Controllo incrociato della sitemap – Un bot legge realmente i tuoi contenuti solo quando l'URL richiesto appare nella tua sitemap XML. Le richieste per percorsi assenti dalla sitemap probabilmente cercano vulnerabilità piuttosto che indicizzare articoli.

Applicando entrambi i filtri allo stesso campione di otto giorni sono emersi numeri netti:

  • ChatGPT-User – il 39% delle richieste ha superato la verifica.
  • GPTBot – il 13% verificato.
  • PerplexityBot – lo 0% verificato.
  • Google-Extended – lo 0% verificato; la stringa non corrisponde a nessun crawler ufficiale di Google.

Anche tra le chiamate verificate, molti bot hanno recuperato solo robots.txt o la sitemap stessa, non le pagine degli articoli che ti interessano.

Cosa possono fare gli sviluppatori oggi

  • Abilita la verifica dei bot di Cloudflare nella tua pipeline di analisi. Il campo verifiedBotCategory appare negli header della richiesta e può essere memorizzato insieme ai tuoi log.
  • Mantieni una sitemap aggiornata e automatizza un controllo affinché il percorso di ogni richiesta in entrata esista lì prima di conteggiarlo come visualizzazione di contenuti.
  • Filtra i metodi non-GET e le richieste che puntano a tipici file di sviluppo (.env, .git, .bak). Si tratta quasi sempre di scansioni malevole.

Il punto di vista opposto

Alcuni sostengono che i controlli reverse DNS possano essere falsificati e che lo scopo legittimo di un bot possa essere quello di scoprire nuovi URL non ancora elencati nella sitemap. Queste preoccupazioni sono valide: un attaccante determinato potrebbe compromettere un record DNS, e i nuovi contenuti saranno naturalmente assenti dalla sitemap attuale fino al prossimo ciclo di generazione.

La risposta pragmatica è trattare la verifica come un punteggio di affidabilità piuttosto che come un filtro assoluto. Combina la verifica DNS, la presenza nella sitemap e i controlli del metodo di richiesta per alzare l'asticella di ciò che conti come "traffico AI reale". Se una richiesta supera due controlli su tre, segnalala per una revisione manuale invece di scartarla immediatamente.

Cosa monitorare in seguito

  • Modifiche all'API di verifica di Cloudflare – qualsiasi alterazione alla logica di verifiedBotCategory potrebbe spostare i tassi di verifica.
  • Emergenza di nuovi bot auto-identificati – monitora le stringhe User-Agent che appaiono nei tuoi log; un picco improvviso potrebbe indicare un nuovo scanner che si spaccia per un crawler AI.
  • Frequenza di generazione della sitemap – intervalli più lunghi aumentano la probabilità che i crawler legittimi vengano classificati erroneamente.

Il punto chiave è semplice: smetti di trattare una stringa User-Agent come una prova. Sovrapponi la verifica DNS e la validazione della sitemap, e avrai un quadro più chiaro di chi sta effettivamente leggendo i tuoi contenuti.

Fonte: https://dev.to/aulvem/ai-crawler-user-agents-are-self-reported-468-real-fetches-991-fake-ones-bgo