Come Configurare le Regole WAF di Cloudflare per Consentire Perplexity e ChatGPT Bloccando i Crawler Aggressivi
Comprendere la Gestione dei Bot AI di Cloudflare: Perché il Pulsante di Blocco Globale È Pericoloso
La funzione "Blocca Bot AI" con un clic di Cloudflare blocca indiscriminatamente tutti i crawler AI, inclusi motori di ricerca benefici come Perplexity e ChatGPT che generano traffico organico significativo verso il tuo sito. Questa opzione drastica impedisce l'indicizzazione dei tuoi contenuti da parte delle piattaforme di ricerca AI di nuova generazione, rendendo di fatto il tuo sito web invisibile a milioni di utenti che si affidano a strumenti di ricerca basati su AI per la scoperta di informazioni.
L'Importanza Strategica della Gestione Selettiva dei Bot AI
Il traffico web moderno proviene sempre più da motori di ricerca e assistenti basati su AI. Perplexity, ChatGPT Search, AI Overviews di Google e piattaforme simili rappresentano il futuro del recupero delle informazioni. Bloccare questi crawler legittimi utilizzando il blocco generalizzato dei bot AI di Cloudflare crea un gap critico di visibilità che può impattare gravemente la scopribilità del tuo sito e la portata organica.
La soluzione consiste nell'implementare regole granulari del Web Application Firewall (WAF) che distinguano tra crawler AI benefici e scraper aggressivi che consumano banda senza fornire valore. Questa guida fornisce istruzioni complete per configurare regole WAF di Cloudflare che proteggono la tua infrastruttura mantenendo la visibilità negli ecosistemi di ricerca AI.
Principali User-Agent e Range IP dei Crawler AI
Prima di configurare le regole WAF, devi comprendere i metodi di identificazione utilizzati dai crawler AI legittimi. La seguente tabella fornisce informazioni complete sugli user-agent dei principali bot AI e i loro range IP associati:
| Provider | Token User-Agent | Esempio User-Agent Completo | Verifica Range IP | Token Robots.txt |
|---|---|---|---|---|
| Perplexity AI | PerplexityBot | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; PerplexityBot/1.0; +https://perplexity.ai/bot) | Verifica tramite reverse DNS lookup | PerplexityBot |
| OpenAI (ChatGPT) | GPTBot | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.0; +https://openai.com/gptbot) | JSON pubblicato su openai.com/gptbot.json | GPTBot |
| OpenAI (SearchGPT) | OAI-SearchBot | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; OAI-SearchBot/1.0; +https://openai.com/searchbot) | JSON pubblicato su openai.com/searchbot.json | OAI-SearchBot |
| Google (Gemini) | Google-Extended | Mozilla/5.0 (compatible; Google-Extended/1.0; +http://www.google.com/bot.html) | Verifica tramite range IP Google | Google-Extended |
| Anthropic (Claude) | anthropic-ai | anthropic-ai (compatible; Claude-Web/1.0; +https://anthropic.com/bot) | Verifica tramite reverse DNS | anthropic-ai |
| Apple (Applebot) | Applebot | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Safari/605.1.15 (Applebot/0.1; +http://www.apple.com/go/applebot) | 17.0.0.0/8 (range principale) | Applebot |
| Cohere | cohere-ai | cohere-ai (compatible; CohereBot/1.0; +https://cohere.com/bot) | Verifica tramite reverse DNS | cohere-ai |
| Meta AI | FacebookBot | facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php) | ASN pubblicato: AS32934, AS63293 | FacebookBot |
Configurazione di Regole WAF Personalizzate per Consentire i Crawler AI Benefici
Le Regole Personalizzate WAF di Cloudflare forniscono la flessibilità per creare policy sofisticate di gestione dei bot. La seguente configurazione consente i crawler di ricerca AI legittimi bloccando scraper aggressivi e bot non autorizzati.
Passaggio 1: Accedere alle Regole Personalizzate WAF di Cloudflare
- Accedi alla dashboard di Cloudflare
- Seleziona il dominio che vuoi configurare
- Vai su Sicurezza → WAF → Regole personalizzate
- Clicca su Crea regola per iniziare a configurare il tuo set di regole personalizzato
Passaggio 2: Creare una Regola di Autorizzazione per i Crawler AI Legittimi
Crea una regola con la seguente configurazione:
Nome Regola: Consenti Crawler di Ricerca AI Legittimi
Espressione:
(http.user_agent contains "PerplexityBot") or (http.user_agent contains "GPTBot") or (http.user_agent contains "OAI-SearchBot") or (http.user_agent contains "Google-Extended") or (http.user_agent contains "anthropic-ai") or (http.user_agent contains "Applebot") or (http.user_agent contains "cohere-ai") or (http.user_agent contains "FacebookBot" and not http.user_agent contains "facebookexternalhit")
Azione: Consenti
Priorità : Imposta a 1 (massima priorità per garantire che questa regola venga eseguita per prima)
Passaggio 3: Creare una Regola di Blocco per Scraper Generici Aggressivi
Dopo aver consentito i crawler legittimi, crea una regola secondaria per bloccare gli scraper aggressivi noti:
Nome Regola: Blocca Scraper Aggressivi e Bot Non Autorizzati
Espressione:
(http.user_agent contains "scrapy") or (http.user_agent contains "python-requests") or (http.user_agent contains "curl") or (http.user_agent contains "wget") or (http.user_agent contains "go-http-client") or (http.user_agent contains "axios") or (http.user_agent contains "node-fetch") or (http.user_agent eq "") or (http.user_agent contains "Bytespider") or (http.user_agent contains "PetalBot") or (http.user_agent contains "AhrefsBot" and not cf.bot_management.verified_bot) or (http.user_agent contains "SemrushBot" and not cf.bot_management.verified_bot) or (http.user_agent contains "DotBot") or (http.user_agent contains "MJ12bot") or (http.user_agent contains "BLEXBot")
Azione: Blocca
Priorità : Imposta a 2
Passaggio 4: Implementare Regole di Challenge per Pattern di Traffico Sospetti
Per il traffico che non corrisponde né ai criteri di autorizzazione né a quelli di blocco ma presenta pattern sospetti, implementa una regola di challenge:
Nome Regola: Challenge per Comportamento Simile a Bot Sospetto
Espressione:
(cf.bot_management.score lt 30) and not (cf.bot_management.verified_bot) and not (http.user_agent contains "PerplexityBot") and not (http.user_agent contains "GPTBot") and not (http.user_agent contains "OAI-SearchBot") and not (http.user_agent contains "Google-Extended") and not (http.user_agent contains "Applebot")
Azione: Challenge Gestita
Priorità : Imposta a 3
Implementazione di Regole di Rate Limiting Personalizzate per la Protezione degli Endpoint API
Il rate limiting fornisce un ulteriore livello di protezione contro l'abuso di scraping, in particolare per endpoint API e pagine ad alta intensità di risorse. Segui questi passaggi per configurare un rate limiting intelligente che non impatti i crawler AI legittimi:
Passaggio 1: Navigare alle Regole di Rate Limiting
- Nella dashboard di Cloudflare, vai su Sicurezza → WAF → Regole di rate limiting
- Clicca su Crea regola
Passaggio 2: Configurare il Rate Limiting degli Endpoint API
Nome Regola: Rate Limiting Endpoint API con Esenzione Crawler AI
Espressione:
(http.request.uri.path contains "/api/") and not (http.user_agent contains "PerplexityBot") and not (http.user_agent contains "GPTBot") and not (http.user_agent contains "OAI-SearchBot") and not (http.user_agent contains "Applebot") and not (cf.bot_management.verified_bot)
Caratteristiche:
- Richieste: 100 richieste
- Periodo: 60 secondi
- Metodo di conteggio: Conta per indirizzo IP
Azione: Blocca per 1 ora
Passaggio 3: Configurare il Rate Limiting delle Pagine di Contenuto
Per le pagine di contenuto, implementa limiti più generosi che accomodino pattern di lettura legittimi:
Nome Regola: Rate Limiting Pagine di Contenuto
Espressione:
(http.request.uri.path contains "/blog/" or http.request.uri.path contains "/articles/") and not (http.user_agent contains "PerplexityBot") and not (http.user_agent contains "GPTBot") and not (http.user_agent contains "OAI-SearchBot") and not (http.user_agent contains "Google-Extended") and not (http.user_agent contains "Applebot") and not (cf.bot_management.verified_bot)
Caratteristiche:
- Richieste: 300 richieste
- Periodo: 300 secondi (5 minuti)
- Metodo di conteggio: Conta per indirizzo IP
Azione: Challenge Gestita
Passaggio 4: Implementare il Rate Limiting per Crawler Aggressivi
Crea un limite rigoroso specificamente per crawler aggressivi noti che non sono stati bloccati completamente:
Nome Regola: Limitazione Crawler Aggressivi
Espressione:
(http.user_agent contains "AhrefsBot") or (http.user_agent contains "SemrushBot") or (http.user_agent contains "MJ12bot") or (cf.bot_management.score lt 20 and not cf.bot_management.verified_bot)
Caratteristiche:
- Richieste: 10 richieste
- Periodo: 60 secondi
- Metodo di conteggio: Conta per indirizzo IP
Azione: Blocca per 24 ore
Passaggio 5: Monitorare e Regolare i Limiti di Rate
- Vai su Sicurezza → Eventi per monitorare le regole attivate
- Rivedi il Log delle attività per falsi positivi che influenzano il traffico legittimo
- Regola le soglie di rate limiting in base ai pattern di traffico tipici del tuo sito
- Usa Analytics → Sicurezza per identificare pattern emergenti di scraper
- Aggiorna la tua lista di autorizzazioni trimestralmente man mano che emergono nuovi motori di ricerca AI
Configurazione Avanzata: Verifica dei Range IP
Le stringhe user-agent possono essere falsificate, rendendo la verifica dei range IP un metodo di validazione secondario essenziale. Implementa queste regole avanzate per una sicurezza migliorata:
Validazione Range IP Bot Verificati
Crea una regola che richieda sia l'user-agent corretto CHE la verifica del range IP per contenuti di alto valore:
(http.request.uri.path contains "/premium/") and ( (http.user_agent contains "GPTBot" and not cf.bot_management.verified_bot) or (http.user_agent contains "PerplexityBot" and not cf.bot_management.verified_bot) )
Azione: Challenge Gestita
Questa regola sfida i crawler che dichiarano di essere bot AI legittimi ma non provengono da range IP verificati, proteggendo i contenuti premium da tentativi di spoofing.
Best Practice di Monitoraggio e Manutenzione
Una gestione efficace delle regole WAF richiede monitoraggio e regolazione continui. Implementa queste best practice:
- Revisione Settimanale: Controlla gli Eventi di Sicurezza per traffico legittimo bloccato e regola le regole di conseguenza
- Analisi Mensile: Rivedi i dati Analytics per identificare nuovi user-agent di crawler e pattern emergenti di scraping
- Aggiornamenti Trimestrali: Aggiorna la tua lista di autorizzazioni man mano che vengono lanciati nuovi motori di ricerca AI e quelli esistenti modificano i loro crawler
- Configurazione Avvisi: Imposta notifiche Cloudflare per picchi insoliti di traffico bloccato
- Documentazione: Mantieni documentazione interna delle modifiche alle regole e la logica dietro ogni configurazione
- Protocollo di Test: Prima di distribuire nuove regole in produzione, testale in modalità "Log" per identificare potenziali problemi
Coordinamento con Robots.txt
Le regole WAF dovrebbero complementare, non sostituire, le tue direttive robots.txt. Mantieni un approccio coordinato:
# Consenti crawler AI benefici User-agent: PerplexityBot Allow: / User-agent: GPTBot Allow: / User-agent: OAI-SearchBot Allow: / User-agent: Google-Extended Allow: / User-agent: Applebot Allow: / User-agent: anthropic-ai Allow: / # Blocca scraper aggressivi User-agent: Bytespider Disallow: / User-agent: PetalBot Disallow: / User-agent: AhrefsBot Crawl-delay: 10 Disallow: /api/ User-agent: SemrushBot Crawl-delay: 10 Disallow: /api/
Considerazioni sull'Impatto delle Prestazioni
Le regole WAF vengono eseguite su ogni richiesta, quindi l'ottimizzazione è cruciale per mantenere le prestazioni del sito:
- Ordine delle Regole: Posiziona le regole più frequentemente corrispondenti (regole di autorizzazione per crawler comuni) a priorità più alta per ridurre i tempi di elaborazione
- Efficienza delle Espressioni: Usa corrispondenza di stringhe semplice (contains) piuttosto che regex complessi quando possibile
- Consolidamento Regole: Combina condizioni correlate in singole regole piuttosto che creare multiple regole sovrapposte
- Integrazione Caching: Assicurati che le regole WAF non interferiscano con il caching di Cloudflare evitando challenge non necessarie su risorse cacheable
- Considerazioni Geografiche: Per contenuti specifici per regione, aggiungi filtri geografici per ridurre la valutazione non necessaria delle regole
Domande Frequenti
Perché non dovrei usare la funzione "Blocca Bot AI" con un clic di Cloudflare?
Il blocco globale dei bot AI di Cloudflare è uno strumento indiscriminato che blocca tutti i crawler AI, inclusi quelli benefici come Perplexity, ChatGPT Search e le funzionalità AI di Google. Queste piattaforme generano traffico organico significativo e rappresentano il futuro della ricerca. Bloccarle rende i tuoi contenuti invisibili a milioni di utenti che si affidano a strumenti di ricerca basati su AI. Le regole WAF personalizzate ti permettono di consentire selettivamente i motori di ricerca AI legittimi bloccando scraper aggressivi che non forniscono valore.
Come verifico che le mie regole WAF funzionino correttamente?
Monitora le tue regole attraverso la dashboard Eventi di Sicurezza di Cloudflare (Sicurezza → Eventi). Questo mostra dati in tempo reale su quali regole si stanno attivando e quale traffico stanno influenzando. Inizia le nuove regole in modalità "Log" piuttosto che "Blocca" per osservare il loro comportamento senza impattare il traffico. Rivedi il log delle attività quotidianamente per la prima settimana dopo l'implementazione di nuove regole per individuare eventuali falsi positivi. Puoi anche usare comandi curl con diverse stringhe user-agent per testare manualmente le tue regole.
Qual è la differenza tra le azioni "Blocca" e "Challenge Gestita"?
"Blocca" nega immediatamente l'accesso senza opportunità per il visitatore di procedere, restituendo un errore 403 Forbidden. Questo è appropriato per bot malevoli noti e scraper aggressivi. "Challenge Gestita" presenta una sfida intelligente che i browser legittimi possono superare automaticamente bloccando i bot. Il sistema di Cloudflare determina il tipo di sfida appropriato (invisibile, JavaScript challenge o CAPTCHA) in base alle caratteristiche della richiesta. Usa Challenge Gestita per traffico sospetto che potrebbe includere utenti legittimi, e Blocca per fonti confermate come malevole.
Con quale frequenza dovrei aggiornare la mia lista di autorizzazioni per crawler AI?
Rivedi e aggiorna la tua lista di autorizzazioni trimestralmente come minimo, poiché il panorama della ricerca AI evolve rapidamente. Nuovi motori di ricerca AI vengono lanciati regolarmente, e quelli esistenti potrebbero cambiare i loro user-agent di crawler o range IP. Iscriviti agli annunci delle principali aziende AI (OpenAI, Anthropic, Google, Perplexity) per rimanere informato sui cambiamenti dei crawler. Monitora il tuo log Eventi di Sicurezza per user-agent bloccati che potrebbero essere nuovi crawler legittimi. Quando vengono lanciati importanti prodotti di ricerca AI (come ChatGPT Search o nuove funzionalità AI di Google), aggiorna immediatamente le tue regole per mantenere la visibilità .
I crawler AI legittimi possono falsificare i loro user-agent per bypassare le mie regole?
Sebbene gli user-agent possano essere falsificati, le aziende AI legittime non si impegnano in questa pratica poiché danneggerebbe la loro reputazione e violerebbe le linee guida per webmaster. Tuttavia, attori malevoli potrebbero falsificare user-agent di crawler legittimi. Ecco perché la verifica del range IP è cruciale. Usa il campo cf.bot_management.verified_bot di Cloudflare, che valida che le richieste che dichiarano di provenire da bot noti provengano effettivamente da range IP verificati. Per contenuti di alto valore, implementa regole che richiedano sia l'user-agent corretto CHE il range IP verificato. Questo previene lo spoofing consentendo i crawler legittimi.
Quali limiti di rate sono appropriati per i crawler AI?
I crawler AI legittimi tipicamente rispettano limiti di rate ragionevoli e direttive crawl-delay. Per crawler benefici come PerplexityBot e GPTBot, esentali completamente dal rate limiting o imposta limiti molto generosi (1000+ richieste per 5 minuti). Questi crawler sono già progettati per essere rispettosi e non sovraccaricheranno il tuo server. Per crawler SEO aggressivi come AhrefsBot o SemrushBot, implementa limiti rigorosi (10-20 richieste al minuto) per prevenire l'esaurimento delle risorse. Monitora il carico del tuo server e regola i limiti in base alla capacità della tua infrastruttura. Gli endpoint API dovrebbero avere limiti più rigorosi rispetto alle pagine di contenuto.
Dovrei bloccare tutti gli user-agent Python e curl?
Bloccare user-agent generici come "python-requests" o "curl" può essere efficace contro scraper poco sofisticati, ma potrebbe anche bloccare strumenti automatizzati legittimi, servizi di monitoraggio e script interni. Invece di un blocco generalizzato, usa un approccio stratificato: blocca questi user-agent solo su endpoint sensibili (API, pannelli admin) consentendoli sui contenuti pubblici. In alternativa, usa il rate limiting piuttosto che il blocco totale—gli strumenti legittimi rispetteranno i limiti di rate mentre gli scraper aggressivi attiveranno i blocchi. Considera l'implementazione dell'autenticazione tramite chiave API per l'accesso programmatico piuttosto che affidarti esclusivamente al blocco degli user-agent.
Come gestisco i falsi positivi dove utenti legittimi vengono bloccati?
I falsi positivi sono inevitabili con una gestione aggressiva dei bot. Implementa un processo di sblocco chiaro: crea una pagina dedicata che spiega perché è avvenuto il blocco e fornisce informazioni di contatto per utenti legittimi che richiedono lo sblocco. Usa "Challenge Gestita" invece di "Blocca" per casi limite, poiché questo permette agli utenti legittimi di dimostrare di essere umani. Monitora quotidianamente la tua dashboard Eventi di Sicurezza per pattern che indicano falsi positivi (es. blocchi da range IP aziendali, regioni geografiche specifiche o durante orari lavorativi). Mantieni una whitelist di range IP noti come buoni (il tuo ufficio, principali reti aziendali, provider cloud usati da servizi legittimi).
Qual è l'impatto di queste regole WAF sulla mia fattura Cloudflare?
Le Regole Personalizzate WAF sono incluse nei piani Cloudflare Pro e superiori, con limiti sul numero di regole che puoi creare (tipicamente 10-100 a seconda del tuo piano). Le regole stesse non comportano costi per richiesta—vengono valutate come parte dell'elaborazione standard delle richieste di Cloudflare. Le regole di Rate Limiting potrebbero avere prezzi separati su alcuni piani. Le funzionalità di Bot Management (cf.bot_management.score) richiedono un piano Business o Enterprise. L'impatto sulle prestazioni è minimo poiché la rete edge di Cloudflare elabora queste regole in modo efficiente. I risparmi sui costi derivanti dal blocco del traffico malevolo (riduzione di banda, carico server e costi legati allo scraping) tipicamente superano di gran lunga eventuali costi aggiuntivi di Cloudflare.
Come bilancio l'accesso dei crawler SEO con la protezione dagli scraper?
Distingui tra crawler SEO legittimi (Googlebot, Bingbot) e strumenti SEO aggressivi (AhrefsBot, SemrushBot). Consenti sempre i crawler di motori di ricerca verificati—usa cf.bot_management.verified_bot per assicurarti che siano legittimi. Per i crawler di strumenti SEO, implementa il rate limiting piuttosto che il blocco se trovi i loro dati utili per l'analisi competitiva. Usa direttive crawl-delay di robots.txt per rallentare i crawler aggressivi senza bloccarli completamente. Per contenuti premium o protetti, blocca tutti i crawler eccetto i motori di ricerca verificati. Ricorda che i crawler di motori di ricerca legittimi (Google, Bing) sono essenziali per la SEO tradizionale, mentre i crawler di ricerca AI (Perplexity, ChatGPT) sono essenziali per la visibilità nella ricerca AI—hai bisogno di entrambi.
Posso usare queste regole per creare un modello di accesso API a pagamento?
Sì, le regole WAF possono applicare un modello di accesso a livelli. Crea regole che bloccano tutto l'accesso automatizzato a endpoint specifici, poi rilascia chiavi API ai clienti paganti e inserisci in whitelist i loro range IP o richiedi header di autenticazione. Usa Cloudflare Workers in combinazione con regole WAF per autenticazione più sofisticata. Implementa livelli di rate limiting basati sul livello di abbonamento—il livello gratuito ottiene 100 richieste/ora, il livello a pagamento ottiene 10.000 richieste/ora. Per aziende AI che vogliono addestrare sui tuoi contenuti, puoi consentire selettivamente i loro crawler a sezioni specifiche richiedendo accordi commerciali per contenuti premium. Questo approccio è sempre più comune poiché gli editori cercano di monetizzare l'accesso ai dati per l'addestramento AI.
Cosa dovrei fare se viene lanciato un nuovo motore di ricerca AI?
Quando viene lanciato un nuovo motore di ricerca AI, ricerca la loro documentazione sui crawler per identificare la loro stringa user-agent e i range IP. La maggior parte delle aziende AI legittime pubblica queste informazioni nella loro documentazione robots.txt o nelle pagine per sviluppatori. Aggiungi il loro user-agent alla tua lista di autorizzazioni entro 24-48 ore dal lancio per assicurarti che i tuoi contenuti vengano indicizzati precocemente. Monitora gli Eventi di Sicurezza per vedere se il loro crawler viene bloccato da regole esistenti. Considera la reputazione dell'azienda e il potenziale valore del traffico prima di consentire il loro crawler—non tutti i motori di ricerca AI genereranno traffico significativo. Unisciti a comunità e forum di webmaster dove vengono discussi i lanci di nuovi crawler per rimanere informato sulle piattaforme emergenti.