Risposta rapida
Perché il mio AI agent riceve un 403 quando recupera una pagina?
Di solito perché il sito, o il suo CDN, rifiuta il traffico automatizzato o AI. Cloudflare blocca gli AI crawler per impostazione predefinita sui nuovi domini dal 1 luglio 2025, e dal 15 settembre 2026 blocca il traffico "Agent" sulle pagine supportate dalla pubblicità dei nuovi domini. Altre cause sono rate limit e login wall. La soluzione è il permesso, non il mascheramento. WebReaderAPI restituisce la risposta del sito, senza addebito; senza KYC, pagando in criptovalute.
Cause comuni di un web fetch fallito
| 403 da un CDN | Il bot management blocca AI crawler o agent per impostazione predefinita su molti siti |
|---|---|
| 403 o 401 dal sito | Login wall, area riservata ai membri, regole geografiche o blocco netto degli agent conosciuti |
| 429 | Troppe richieste in poco tempo; il sito ti sta applicando un rate limit |
| 402 | Il sito chiede un pagamento, ad esempio tramite Cloudflare pay per crawl |
| 200 ma testo vuoto | La pagina costruisce il contenuto con JavaScript; non è un errore, ma non c'è nulla da leggere |
| Rifiutato prima del fetch | Il tuo strumento ha rispettato robots.txt e saltato la pagina |
Cosa è cambiato sul web nel 2025 e nel 2026?
I grandi fornitori di infrastruttura hanno reso il blocco degli AI un'impostazione predefinita. Tre cambiamenti con data spiegano la maggior parte dei nuovi 403:
- 1 luglio 2025: Cloudflare ha dichiarato di bloccare ora gli AI crawler per impostazione predefinita, chiedendo a ogni nuovo dominio all'iscrizione se consentirli. Lo stesso giorno ha lanciato pay per crawl in beta privata, che risponde con HTTP 402 e un prezzo.
- 1 luglio 2026: Cloudflare ha introdotto tre categorie di traffico AI, Search, Agent e Training. "Agent" include esplicitamente i fetcher delle chat come ChatGPT-User.
- 15 settembre 2026: per i nuovi domini, i preset di Cloudflare bloccano il traffico Training e Agent sulle pagine che mostrano annunci; Search resta consentito.
Un agent che recupera una pagina per un utente rientra nella categoria Agent. Sui siti supportati dalla pubblicità attivati dopo settembre 2026, aspettati dei rifiuti.
Come distinguo un blocco da un bug?
Leggi il codice di stato e il corpo prima di cambiare qualsiasi cosa.
| Cosa vedi | Significato probabile | Passo successivo |
|---|---|---|
| 403 con una challenge o pagina "access denied" | Il sito o il suo CDN rifiuta il traffico automatizzato | Rispettalo; cerca un'API o chiedi l'accesso |
| 402 con header di prezzo | Il sito vende l'accesso per singola richiesta | Decidi se pagare tramite il suo canale |
| 429 | Hai inviato troppe richieste | Rallenta e riprova più tardi con backoff |
| 401, o una pagina di login | Il contenuto richiede un account | Fuori ambito per un reader pubblico |
| 200 con quasi nessun testo | Contenuto costruito con JavaScript | Renderizza la pagina in un browser |
| Il tuo strumento dice che robots.txt lo vieta | Il sito ha chiesto ai robot di saltarla | Rispettalo |
Solo il 429 e la pagina JavaScript vuota sono problemi tecnici che puoi risolvere dalla tua parte. Gli altri sono decisioni prese dal proprietario del sito.
Cosa può fare legittimamente chi costruisce un agent?
Collabora con il sito, non aggirarlo. Questi passi risolvono molti fallimenti e mantengono il tuo agent dalla parte giusta nei confronti dei proprietari dei siti:
- Usa il canale del sito stesso. Molti siti offrono un'API, un feed RSS o Atom, o una sitemap con il contenuto che ti serve.
- Chiedi l'accesso. I proprietari dei siti possono consentire un bot con un nome in robots.txt o nelle impostazioni del loro CDN. Uno User-Agent chiaro e una pagina di contatto lo rendono facile.
- Renderizza le pagine consentite ma vuote. Per le pagine solo JavaScript, usa un reader che esegue un browser headless.
- Rallenta e usa la cache. Leggi la stessa pagina una volta, salvala e rispetta le risposte
Crawl-delaye 429. - Paga dove il sito vende l'accesso. Un 402 è un'offerta; accettala tramite il canale del sito o lascia fuori la pagina.
Ognuno di questi passi lascia il controllo al proprietario del sito, ed è anche ciò che mantiene utile il tuo agent nel tempo.
Cosa non devo mai fare per superare un rifiuto?
Non mascherare mai l'agent e non aggirare mai una protezione. Falsificare lo User-Agent di un browser, ruotare gli indirizzi IP per sfuggire a un blocco o risolvere le pagine challenge trasforma un client educato in uno strumento costruito per aggirare i controlli di accesso. Nel 2026, due tribunali statunitensi hanno considerato tali tecniche come circonvenzione in cause legali sull'accesso automatizzato ai risultati di ricerca. I casi sono ancora aperti e nulla è deciso, ma il rischio non è teorico.
Rompe anche la fiducia con i siti da cui dipendono i tuoi utenti. Un rifiuto è un'informazione: registralo, dì all'utente che la pagina non era disponibile e passa a un'altra fonte.
Cosa fanno gli strumenti di fetch integrati quando un sito rifiuta?
La maggior parte restituisce l'errore al modello, che poi dice all'utente che non ha potuto leggere la pagina. La documentazione di OpenClaw, letta il 22 ottobre 2026, dice che il suo web_fetch integrato estrae il contenuto con Readability, non esegue JavaScript e limita l'output a 20.000 caratteri; può ripiegare su un provider di fetch, e i plugin possono registrarne di nuovi. Il server fetch di riferimento MCP rispetta robots.txt per i fetch avviati dal modello per impostazione predefinita.
Quando questi strumenti falliscono su pagine che consentono i robot ma richiedono JavaScript, un reader che renderizza le pagine aiuta. Quando falliscono perché il sito ha rifiutato, nessuno strumento dovrebbe cambiare la risposta.
Cosa restituisce WebReaderAPI quando un sito rifiuta?
Restituisce il rifiuto in modo chiaro, e non ti viene addebitato nulla. Una pagina vietata da robots.txt dà 403 blocked_by_robots. Un sito che dichiara ai-input=no dà 403 blocked_by_site_policy. Un sito che rifiuta la richiesta in qualsiasi altro modo dà 502 target_refused, con il codice di stato del sito in target_status.
Se un sito rifiuta la nostra richiesta, restituiamo la sua risposta: non risolviamo mai CAPTCHA, non accediamo agli account e non tentiamo di aggirare un blocco o un paywall. Il tuo agent può mostrare all'utente esattamente perché una pagina è stata saltata. La pagina degli errori elenca ogni codice con la regola di retry per ciascuno.
Errori di web fetch: domande comuni
Perché una pagina si apre nel mio browser ma fallisce nel mio agent?
Perché il sito tratta le persone e i client automatizzati in modo diverso. Il bot management può consentire i browser e rifiutare gli agent, e alcuni siti bloccano il traffico AI per impostazione predefinita. La pagina è pubblica per i lettori, non necessariamente per i robot.
Riprovare risolverà un 403?
Raramente. Un 403 è una decisione, non un glitch. Riprova i 429, i timeout e gli errori di rete con backoff esponenziale; considera il 403 definitivo a meno che il proprietario del sito non lo cambi.
WebReaderAPI può leggere pagine che il mio agent non riesce a leggere?
Solo pagine che consentono i robot ma richiedono un browser per mostrare il loro testo, perché WebReaderAPI renderizza JavaScript quando serve. Non può leggere le pagine che un sito rifiuta, e non ci prova.
Come posso far autorizzare il mio bot su un sito?
Usa uno User-Agent stabile e descrittivo con un URL di contatto, segui robots.txt, mantieni bassi i tassi di richiesta e chiedi al proprietario. Schemi di agent firmati come Web Bot Auth permettono ai siti di verificare chi sei.
Fonti (8)
- Comunicato stampa: AI crawler bloccati per impostazione predefinita — Cloudflare (2025-07-01)
- Presentiamo il pagamento per singola pagina scansionata — Cloudflare (2025-07-01)
- Blog: opzioni di traffico per ricerca, agenti e training — Cloudflare (2026-07-01)
- Blog: nuovi valori predefiniti per crawler AI e agenti — Cloudflare (2026-09-15)
- Strumento di recupero web — OpenClaw (read 2026-10-22)
- MCP fetch server — Model Context Protocol (read 2026-10-22)
- Reddit c. SerpApi LLC — Loeb & Loeb (2026-08)
- Causa di Google contro SerpApi archiviata — Search Engine Roundtable (2026-07-22)