GEO & AEO

Robots.txt per i crawler AI: guida pratica

6 min di lettura·WeArkMedia·

Il mese scorso ho analizzato i log del server di un cliente e-commerce e ho trovato una sorpresa: GPTBot faceva 40.000 richieste al mese, ClaudeBot 12.000, e PerplexityBot passava ogni pochi minuti. Nessuno di questi crawler era citato nel loro robots.txt. Non sapevano nemmeno che questi bot esistessero — figuriamoci se avevano deciso cosa farne. È il problema con cui si scontrano oggi la maggior parte delle aziende: il tuo robots.txt è probabilmente ancora scritto per Googlebot e Bingbot, mentre un nuovo esercito di crawler indicizza il tuo sito per ChatGPT, Claude e Perplexity.

Questo articolo è una guida pratica, non teoria. Ti mostriamo esattamente quali user-agent devi conoscere, come configurarli e condividiamo la nostra implementazione (app/robots.ts) che usiamo nei progetti WeArkMedia.

Perché oggi robots.txt funziona diversamente da cinque anni fa

Robots.txt esiste dal 1994 e ha sempre fatto una cosa sola: dire ai crawler quali percorsi possono visitare e quali no. Semplice, statico, prevedibile. Il problema è che le premesse su cui quel file è stato costruito non valgono più.

I crawler tradizionali come Googlebot indicizzano le tue pagine per posizionarle in una lista di risultati, e in cambio tu ricevi traffico organico. I crawler AI funzionano in modo radicalmente diverso: GPTBot, ClaudeBot e PerplexityBot recuperano contenuti per elaborarli in dati di addestramento o per generare risposte in tempo reale dentro una chat. L'utente magari vede il tuo nome, ma spesso non clicca mai sul tuo sito.

Questo cambia completamente l'equazione. Se blocchi questi bot, la tua azienda semplicemente non esiste nella risposta che un utente riceve quando chiede a ChatGPT o a Perplexity prodotti del tuo settore. Se li autorizzi tutti senza pensarci, rischi di regalare l'intero archivio dei tuoi contenuti senza alcun controllo su come verranno usati. La strategia giusta sta nel mezzo, e va scelta in modo consapevole — non subita perché il robots.txt non è mai stato aggiornato.

Se vuoi capire come questi crawler trovano ed elaborano il tuo sito, questa guida GEO su come ChatGPT trova il tuo sito web è il complemento ideale di questo articolo.

I crawler AI più importanti da conoscere

Prima di configurare qualsiasi cosa, devi sapere chi passa a trovarti. Ecco i crawler che nel 2026 contano davvero.

GPTBot (OpenAI)

GPTBot è il crawler che OpenAI usa per raccogliere contenuti destinati all'addestramento e alla generazione di risposte in ChatGPT, inclusa la funzionalità di browsing. Stringa user-agent: GPTBot. OpenAI pubblica i range IP di questo crawler, il che semplifica la verifica del traffico nei tuoi log.

ClaudeBot (Anthropic)

ClaudeBot scansiona il web per i modelli Claude di Anthropic. Esiste anche una variante, anthropic-ai, usata specificamente per recuperare contenuti durante le interazioni degli utenti (pensa alla ricerca web di Claude). Vale la pena gestire i due user-agent separatamente, perché servono scopi diversi.

PerplexityBot

Perplexity è ormai una fonte concreta di traffico da AI, soprattutto perché risponde citando le fonti in modo diretto — spesso con un link cliccabile verso il tuo sito. Questo rende PerplexityBot uno dei pochi crawler AI per cui autorizzare conviene quasi sempre, dato che genera referral reali e non solo estrazione di contenuti.

Gli altri crawler rilevanti

  • Google-Extended — stabilisce se Google può usare i tuoi contenuti per Gemini e le AI Overviews, indipendentemente dall'indicizzazione di Googlebot.
  • CCBot — il crawler di Common Crawl, il cui dataset viene usato da moltissimi laboratori AI per addestrare i modelli.
  • Applebot-Extended — regola l'uso dei tuoi contenuti per Apple Intelligence.
  • Bytespider — legato a ByteDance (TikTok), aggressivo nelle scansioni e spesso motivo di preoccupazione per il carico sul server.

Ogni crawler ha uno scopo diverso e un modello di business diverso alle spalle. Per questo una regola unica "allow all" o "disallow all" è quasi sempre sbagliata.

Implementazione pratica: il nostro robots.ts

Nei progetti WeArkMedia su Next.js utilizziamo un file robots.txt generato dinamicamente tramite app/robots.ts, invece di un file statico nella cartella public. Così abbiamo la flessibilità di definire e modificare regole per singolo crawler senza forzare un deploy a ogni cambiamento.

import type { MetadataRoute } from 'next'

export default function robots(): MetadataRoute.Robots {
  return {
    rules: [
      {
        userAgent: '*',
        allow: '/',
        disallow: ['/admin/', '/api/', '/_next/'],
      },
      {
        userAgent: 'GPTBot',
        allow: '/',
        disallow: ['/admin/', '/api/'],
      },
      {
        userAgent: 'ClaudeBot',
        allow: '/',
        disallow: ['/admin/', '/api/'],
      },
      {
        userAgent: 'PerplexityBot',
        allow: '/',
      },
      {
        userAgent: 'Google-Extended',
        allow: '/',
      },
      {
        userAgent: 'Bytespider',
        disallow: '/',
      },
      {
        userAgent: 'CCBot',
        disallow: '/',
      },
    ],
    sitemap: 'https://wearkmedia.com/sitemap.xml',
  }
}

Perché abbiamo fatto queste scelte

Autorizziamo di proposito GPTBot, ClaudeBot e PerplexityBot su tutti i contenuti pubblici, perché i nostri clienti vogliono essere visibili nelle risposte AI — è il cuore del lavoro GEO/AEO. Blocchiamo Bytespider per default, perché questo crawler è noto per un comportamento aggressivo che non porta valore concreto alla maggior parte delle aziende italiane ed europee. Spesso blocchiamo anche CCBot, a meno che il cliente voglia contribuire di proposito a dataset di addestramento aperti: non è chiaro quale modello ne tragga vantaggio e non torna nessuna attribuzione diretta.

Dettaglio importante: robots.txt è una richiesta, non una porta blindata. I crawler seri come GPTBot e ClaudeBot di norma rispettano le regole, ma esistono anche scraper poco scrupolosi che falsificano lo user-agent o ignorano il file. Per proteggere davvero contenuti sensibili servono rate limiting lato server o un WAF: robots.txt governa solo il comportamento dei bot che si identificano correttamente.

Strategia: quando bloccare ha davvero senso

Non ogni situazione richiede apertura totale. Ci sono tre scenari in cui bloccare i crawler AI è la scelta migliore.

Contenuti dietro paywall o login

Se hai contenuti premium, materiali di formazione o portali clienti, non vuoi che GPTBot se li porti via senza che nessuno abbia mai pagato per leggerli. Blocca questi percorsi specifici nelle regole disallow per singolo crawler, invece di chiudere l'intero dominio.

Siti che vivono solo di ricavi pubblicitari

Per editori e siti di contenuti che campano di page view e impression pubblicitarie, la dispersione dei contenuti nelle risposte AI può costare fatturato concreto. Qui serve una valutazione consapevole tra visibilità nelle risposte AI ed entrate dirette dai visitatori.

Carico sul server con piani di hosting piccoli

Alcuni crawler AI, soprattutto i meno noti, scansionano in modo inefficiente e possono mettere in ginocchio ambienti di hosting condiviso. Se ti accorgi che i costi del server salgono per via del traffico bot senza benefici chiari, bloccare in modo selettivo è una scelta legittima.

Per la maggior parte delle PMI e delle aziende di servizi vale però il contrario: consentire l'accesso è la norma, perché la visibilità nelle risposte AI è esattamente l'obiettivo delle moderne strategie AEO. Un robots.txt blindato è un autogol per la tua visibilità, per quanto i tuoi contenuti siano ottimi.

Per approfondire

Domande frequenti

robots.txt blocca automaticamente i crawler AI se non faccio nulla?
No. Senza regole specifiche, la maggior parte dei bot AI scansiona il tuo sito come se non esistessero restrizioni. Alcuni crawler, come GPTBot, controllano attivamente le regole, ma se il tuo user-agent non è menzionato di solito ricade nella regola generica `*`, oppure l'accesso viene consentito per default.
Posso permettere GPTBot e bloccare ClaudeBot?
Sì, ed è esattamente il motivo per cui conviene definire i crawler per singolo user-agent invece di usare un'unica regola generale. Nell'esempio robots.ts qui sopra vedi come impostare percorsi allow e disallow separati per ogni bot, mantenendo il controllo completo su quale servizio AI ha accesso.
I crawler AI rispettano davvero robots.txt o fanno quello che vogliono?
I crawler grandi e affidabili come GPTBot e ClaudeBot in genere rispettano le regole di robots.txt, perché hanno interesse a tutelare la propria reputazione ed evitare rischi legali. Gli scraper meno trasparenti a volte le ignorano. Per maggiore sicurezza, combina robots.txt con il monitoraggio server-side di user-agent e range IP.
Devo modificare robots.txt se sto appena iniziando con l'AEO?
Sì, è uno dei primi passi tecnici. Prima di partire con l'ottimizzazione dei contenuti devi essere certo che i crawler AI riescano ad accedere alle tue pagine. Consideralo le fondamenta: senza accesso, tutti gli sforzi GEO successivi, come quelli descritti in [strategie GEO efficaci](/blog/effectieve-strategieen-generative-engine-optimization), semplicemente non possono comparire nelle risposte AI.
Come controllo quali crawler AI stanno già visitando il mio sito?
Guarda nei log del server o del CDN l'header user-agent e filtra per i nomi noti come GPTBot, ClaudeBot, PerplexityBot e CCBot. Strumenti come Cloudflare mostrano già questi dati in categorie nella dashboard analytics, sotto la voce 'AI crawlers': molto più comodo che setacciare i log a mano.

Pronto a iniziare con il GEO?

Contattaci per un audit gratuito del tuo sito.

Inizia la conversazione