Il tuo firewall ti sta nascondendo a ChatGPT
Un plugin di sicurezza configurato anni fa blocca i crawler AI insieme agli scraper. Il sito funziona, Analytics non segnala niente, e intanto agli assistenti non esisti.
Davide Ruggeri
Ho lanciato un crawl sul sito di un cliente nuovo. Scansione standard, niente di esotico: struttura, status code, title, canonical, il minimo per capire cosa ho davanti.
Il crawler si è fermato quasi subito. Poche URL raccolte, poi solo errori.
Il sito, da browser, funzionava benissimo.
Il colpevole era il firewall
Sono andato a vedere cosa girava sull’installazione WordPress e ho trovato Wordfence, uno dei plugin di sicurezza più diffusi al mondo. Nessuno lo aveva messo lì per fare danni. Qualcuno, anni fa, lo aveva installato e configurato in modo aggressivo per fermare gli scraper e i tentativi di accesso, e da allora nessuno lo aveva più toccato.
Wordfence blocca il traffico non umano in diversi modi: limiti di richieste al minuto, regole sul comportamento (troppe pagine, troppi 404), blocchi su pattern di user agent, regole firewall vere e proprie. In modalità Extended Protection gira prima che WordPress si carichi, quindi la richiesta viene respinta ancora prima di toccare il sito.
Nella lista dei servizi che Wordfence esenta di default trovi Google, Sucuri, Uptime Robot, StatusCake, Seznam. Non c’è nessun provider AI. I crawler di Google verificati passano perché il plugin fa un controllo DNS inverso e li riconosce. Tutto il resto è “un bot come un altro”.
Il mio crawler era un bot come un altro. Fin qui, poco male: cambio user agent, rallento, finisco l’audit.
La domanda vera: se blocca me, chi altro blocca?
Il punto interessante è arrivato dopo. Se quel firewall ferma un crawler SEO, cosa succede quando è un assistente AI a provare ad aprire quel sito?
Non è una domanda teorica. Una parte crescente delle persone non arriva più su un sito partendo da una SERP. Chiede a ChatGPT, a Perplexity, a Gemini, e il modello va a leggere le pagine in tempo reale per rispondere. Se la pagina non si apre, il modello non dice “il sito è protetto”. Dice qualcos’altro, o parla di qualcun altro.
Ho fatto la prova. Ho chiesto a un agente di navigare il sito e di riportarmi cosa c’era su alcune pagine specifiche. Non ci è riuscito.
Ho disattivato Wordfence e ho rifatto lo stesso identico test. L’agente ha navigato senza problemi.
Non tutti i bot AI sono la stessa cosa
Qui serve una distinzione che quasi nessuno fa, ed è la ragione per cui tanti siti si tagliano fuori senza volerlo.
I bot AI che passano su un sito appartengono a tre categorie diverse, con conseguenze diverse:
1. I crawler di addestramento (GPTBot, ClaudeBot, Google-Extended, CCBot). Raccolgono contenuti per allenare i modelli. Bloccarli è una scelta legittima. Un editore che vive di contenuti originali ha ottime ragioni per farlo, e non perde traffico oggi.
2. I crawler di indicizzazione (OAI-SearchBot, PerplexityBot, Claude-SearchBot). Costruiscono l’indice che gli assistenti consultano quando rispondono. Bloccarli significa non comparire nelle risposte. È l’equivalente di mettere noindex su Google, con la differenza che nessuno ti manda una notifica.
3. I fetcher in tempo reale (ChatGPT-User, Perplexity-User, Claude-User). Si attivano quando è una persona a chiedere qualcosa che riguarda quel sito. Sono la categoria più preziosa in assoluto: c’è un utente vivo, con un’intenzione dichiarata, che sta chiedendo proprio di te. Bloccare questi è la versione digitale di chiudere la porta in faccia a chi ha suonato il campanello.
Un firewall configurato a mano non fa questa distinzione. Vede traffico non umano e lo tratta allo stesso modo. È lo stesso attrito di cui ho scritto a proposito di WordPress e degli strumenti agentici: lo stack è nato quando i visitatori erano solo persone con un browser, e ogni pezzo dà per scontato che sia ancora così. Il cliente crede di aver bloccato gli scraper, e in realtà ha bloccato anche i suoi potenziali clienti.
Il problema è che non lo vedi da nessuna parte
Questa è la parte che mi ha convinto a scriverne.
Un blocco del genere non lascia tracce dove le vai a cercare. Analytics non registra niente, perché la richiesta viene respinta prima di caricare qualsiasi script. Search Console non ti dice niente, perché Googlebot passa tranquillamente. Il sito da browser è perfetto, quindi il cliente non ha nessun motivo di sospettare. Le uniche tracce stanno nel Live Traffic di Wordfence, dentro un pannello che nessuno apre da anni.
Puoi restare invisibile agli agenti AI per mesi senza avere il minimo segnale che sta succedendo. E se lavori con un fornitore che si occupa solo di contenuti o solo di campagne, quel segnale non lo cercherà mai nessuno.
Disattivare il firewall non è la soluzione
Va detto chiaro: io Wordfence l’ho spento per fare una diagnosi, non per lasciarlo spento. Un sito WordPress senza protezione dura poco, e ho già raccontato come si presenta un sito compromesso e quanto costa rimetterlo in piedi. La scelta giusta non è togliere il firewall, è insegnargli a distinguere.
Su un sito con questo problema, l’ordine con cui procedo è questo:
- Live Traffic, filtrato sui blocchi. Wordfence registra sempre il motivo. Serve sapere se ha bloccato per limite di richieste, per un pattern di user agent o per una regola del firewall, perché il rimedio è diverso in ogni caso.
- Firewall > Blocking. Qui si trovano i pattern custom, spesso aggiunti anni prima da qualcuno che voleva fermare uno scraper specifico e ha scritto una regola troppo larga.
- Rate Limiting. Molti valori di default sono impostati su illimitato, quindi se il sito blocca è perché qualcuno ha stretto a mano. Meglio limiti generosi con azione “throttle” che limiti severi con azione “block”.
- robots.txt. Capita spesso di trovarci
Disallowsui bot AI lasciati da un plugin SEO o da un fornitore precedente, magari con un’opzione attivata una volta e mai più rivista. - Il livello sopra WordPress. Se il sito sta su un hosting gestito o dietro Cloudflare, il blocco può avvenire al bordo, prima che la richiesta arrivi al plugin. In quel caso nei log di Wordfence non c’è niente e stai guardando nel posto sbagliato.
- Ritestare con un agente vero. Non con un tool che dichiara di simularlo. Chiedi a un assistente di leggerti una pagina specifica e guarda cosa risponde.
E infine la decisione di merito, che non è tecnica: quali bot vuoi far entrare. Bloccare l’addestramento e lasciare passare indicizzazione e fetch in tempo reale è una posizione difendibile per quasi tutti. Bloccare tutto indistintamente non è una posizione, è una configurazione che nessuno ha mai rivisto.
La morale
Nessuno di questi siti è “rotto”. Funzionano, si caricano, convertono. Semplicemente esistono per gli esseri umani con un browser e non esistono per un pezzo crescente di chi cerca informazioni.
Sono cose che si vedono solo se qualcuno guarda il sito nel suo insieme, server compreso, e continua a guardarlo anche dopo il lancio. Una configurazione fatta nel 2021 per un problema del 2021 non si aggiorna da sola quando cambia il modo in cui le persone cercano.
Su questo sito, alla fine, il firewall l’ho riconfigurato. Su altri la conclusione è stata diversa: se il layer che ti blocca esiste solo perché sotto c’è WordPress da difendere, a un certo punto conviene cambiare motore senza cambiare carrozzeria. Una build statica non ha una superficie da proteggere, quindi non ha nemmeno un guardiano che sbaglia a riconoscere chi bussa.
Vuoi sapere se il tuo sito è visibile agli assistenti AI?
Raccontaci il tuo progetto e ci diamo un’occhiata insieme: zeromega.it/raccontaci-il-tuo-progetto.