Bloccato per accesso vietato (403)

Che cosa significa lo stato "Bloccato per accesso vietato (403)" nel rapporto Indicizzazione delle pagine di Google Search Console, perché Googlebot riceve 403 mentre il tuo browser no, in che cosa differisce dal 401 e come diagnosticarlo, correggerlo e validarlo.

Prima pubblicazione: 23 giu 2026 · Ultimo aggiornamento: 11 ago 2026 · Advanced
Lingue
2 segnali di evidenza in questa pagina

"Bloccato per accesso vietato (403)" nel rapporto Indicizzazione delle pagine di GSC significa che Googlebot ha eseguito il crawl dell’URL e il server ha restituito un HTTP 403. Google non lo indicizzerà (e lo rimuove se era già indicizzato). La guida Indicizzazione delle pagine di Google descrive il 403 come credenziali fornite ma rifiutate: è la formulazione del rapporto di Google, non la definizione completa di HTTP; RFC 9110 definisce il 403 più ampiamente e può non avere nulla a che fare con le credenziali. Se l’URL dovrebbe essere pubblico e indicizzabile, tratta il 403 come un bug da trovare; se dovrebbe restare privato, il 403 potrebbe svolgere correttamente il suo lavoro: correggi invece i segnali di scoperta. Per gli URL che dovrebbero essere pubblici, firewall, CDN o WAF sono cause frequentemente segnalate, motivo per cui la pagina spesso si carica nel browser ma restituisce 403 a Google. Google tratta 401 e 403 allo stesso modo per l’indicizzazione e dice di non usare nessuno dei due per limitare il crawl: usa 429 o 503. Verifica il vero Googlebot (DNS inverso, intervalli IP pubblicati e categoria client corretta) prima di autorizzarlo, limita l’eccezione, poi conferma un 200 in Ispezione URL e Convalida correzione.

TL;DR — Un 403 nel rapporto Indicizzazione delle pagine significa che Googlebot ha ricevuto un HTTP 403 sull’URL, quindi Google non lo indicizzerà (e lo rimuove se era già indicizzato). La guida Indicizzazione delle pagine di Google presenta il 403 come credenziali fornite ma rifiutate: è la formulazione del rapporto, non la definizione completa di HTTP; RFC 9110 definisce il 403 in modo più ampio come “compreso ma rifiutato”, con o senza credenziali, quindi considera la formulazione di Google un’euristica, non la prova di una configurazione errata. Decidi prima se l’URL dovrebbe essere pubblico e indicizzabile: per gli URL che dovrebbero essere pubblici, un firewall/CDN/WAF che blocca Googlebot per errore è una causa segnalata frequentemente, motivo per cui la pagina spesso si apre per te ma restituisce 403 a Google; un 403 su un URL destinato a restare privato può invece funzionare come previsto. Google tratta 401 e 403 allo stesso modo per l’indicizzazione e dice esplicitamente di non usare 401/403 per limitare il crawl: usa 429 (o 503). Verifica il vero Googlebot (DNS inverso, intervalli IP pubblicati e categoria client corretta) prima di inserirlo in allowlist, limita l’eccezione al percorso e alla regola specifici, poi conferma un 200 in Ispezione URL → Test live URL ed esegui Convalida correzione.

Che cosa dice davvero Google su un 403 — e che cosa dice davvero HTTP

L’etichetta riporta la risposta osservata, non lo specifico WAF, CDN o controllo degli accessi che l’ha causata. Evidence for this claim The Page Indexing report identifies URLs where Google encountered a forbidden-access response. Scope: Google Search Console report terminology and documented Search behavior; the label alone may not prove the underlying root cause. Confidence: high · Verified: Google: Page indexing report La conseguenza sull’indicizzazione segue la gestione generale dei 4xx da parte di Google. Evidence for this claim Google treats 4xx responses other than 429 as if the content does not exist for indexing. Scope: Google Search Console report terminology and documented Search behavior; the label alone may not prove the underlying root cause. Confidence: high · Verified: Google: HTTP status codes

La documentazione del rapporto Indicizzazione delle pagine di Google la descrive così: un HTTP 403 significa che lo user-agent ha fornito credenziali ma non ha ottenuto l’accesso; tuttavia Googlebot non fornisce mai credenziali, quindi, secondo la formulazione di Google, il server restituisce l’errore per errore. La pagina non verrà indicizzata. Se vuoi indicizzarla, la correzione indicata da Google è ammettere gli utenti non autenticati oppure autorizzare esplicitamente le richieste di Googlebot senza autenticazione.

Questa è però la formulazione della guida di Google, non la definizione HTTP completa. RFC 9110 definisce il 403 in modo più ampio: “the server understood the request but refuses to fulfill it,” (traduzione) «il server ha compreso la richiesta ma rifiuta di soddisfarla.» Le credenziali possono essere coinvolte, ma la RFC dice esplicitamente che una richiesta può essere vietata per ragioni completamente non legate alle credenziali: una policy, una regola di controllo degli accessi, una decisione di sicurezza dell’edge o qualunque altra scelta del proprietario del server. Quindi la conclusione utile non è “un 403 a Googlebot significa sempre per definizione che una regola è rotta”, ma “scopri se questo URL dovrebbe essere raggiungibile e poi trova la regola esatta che ha restituito 403”. Per una pagina che dovrebbe essere pubblica e indicizzata, un 403 a Googlebot è quasi sempre qualcosa da correggere. Per una pagina deliberatamente privata o vietata, il 403 può essere una decisione di accesso valida e funzionante: il problema di solito è che Google non avrebbe dovuto scoprire l’URL (vedi il controllo d’intento), non che il firewall sia errato.

Qualunque sia il caso, la documentazione separata di Google sui codici di stato HTTP è netta sulle conseguenze per l’indicizzazione: non usa il contenuto degli URL che restituiscono codici 4xx, tutti gli errori 4xx tranne 429 sono trattati allo stesso modo (il crawler comunica al sistema successivo che il contenuto non esiste) e la pipeline di indicizzazione rimuove l’URL dall’indice se era già stato indicizzato.

Evidence for this claim Google treats 4xx responses other than 429 as if the content does not exist for indexing. Scope: Google Search Console report terminology and documented Search behavior; the label alone may not prove the underlying root cause. Confidence: high · Verified: Google: HTTP status codes

Decidi che cosa deve fare l’URL prima di correggere qualsiasi cosa

Non tutte le righe di questo rapporto richiedono la stessa correzione. Prima inserisci l’URL in una di queste quattro categorie:

  1. Pubblico e destinato all’indicizzazione. Il 403 è involontario: esegui il ciclo diagnosi → correzione → validazione qui sotto.
  2. Pubblico ma non destinato all’indicizzazione. Non usare robots.txt per risolvere il problema: un disallow di robots.txt è una barriera di crawl separata, con la propria motivazione Indicizzazione delle pagine (“bloccato da robots.txt”); da solo non produce l’HTTP 403 riportato da questo stato. Servi la normale risposta 200 e usa una direttiva noindex (o un redirect/rimozione corretti).
  3. Deliberatamente privato o vietato. Un 403 può essere l’esito corretto e voluto per una risorsa che il richiedente non dovrebbe raggiungere. Se compare in questo rapporto, il problema operativo di solito è che l’URL è scopribile — nella sitemap, nei link interni o altrove — non che la regola di accesso sia sbagliata. Pulisci il segnale di scoperta invece di aprire la porta.
  4. Un URL che non dovrebbe esistere o di cui non vuoi confermare l’esistenza. Scegli la risposta in base alla policy di sicurezza dell’applicazione, non a una scorciatoia SEO: qui possono essere legittimi sia un 403 sia un 404, se non vuoi confermare che l’URL esista.
Evidence for this claim A robots.txt disallow is a separate crawl gate and Page indexing reason; it does not itself generate the HTTP 403 response required for the Blocked due to access forbidden (403) reason. Scope: verified Search Console properties Confidence: high · Verified: Page indexing report

Da qui in avanti si presume il caso 1: un URL che vuoi davvero sottoporre a crawl e indicizzare.

403 vs 401: come distinguerli

Questi due stati sono gemelli nel rapporto e la maggior parte degli articoli li semplifica con una regola empirica (“403 = non sono state chieste credenziali, 401 = barriera di accesso”) che da sola non è affidabile: anche un livello di autenticazione configurato male può restituire 403 e finire in questa riga. Il segnale vero è la risposta stessa:

  • 401 (unauthorized) — secondo RFC 9110, un 401 significa nello specifico che mancano credenziali di autenticazione valide e la risposta deve contenere una challenge WWW-Authenticate (autenticazione HTTP, barriera di accesso). A Google è stato detto che doveva autenticarsi e non ha potuto.
  • 403 (accesso vietato) — un rifiuto più ampio. RFC 9110 lo definisce come “il server ha compreso la richiesta ma rifiuta di soddisfarla”, con o senza credenziali. In pratica questa riga riguarda più spesso un blocco di firewall/CDN/WAF o una regola di sicurezza, ma può anche essere un’applicazione che restituisce 403 per un controllo auth rotto, un limitatore di velocità o una decisione intenzionale di controllo degli accessi.
Evidence for this claim A 401 response means valid authentication credentials are missing and must include a WWW-Authenticate challenge; a 403 is a refusal that can occur with or without credentials. Scope: 401 and 403 responses Confidence: high · Verified: RFC 9110: HTTP Semantics

Per distinguerli davvero su un determinato URL, controlla stato e header restituiti — la risposta contiene un header WWW-Authenticate? — invece di dedurre il meccanismo dalla sola etichetta del rapporto. Condividono l’esito (non indicizzato) e spesso la correzione (far passare Googlebot verificato o aprire il contenuto agli utenti anonimi), quindi, una volta capito quale stai osservando, puoi applicare lo stesso ciclo diagnostico a entrambe le righe.

Che effetto ha un 403 sull’indicizzazione

Quando Googlebot riceve un 403, seguono tre cose:

  1. Il contenuto viene ignorato. Google non usa il contenuto degli URL 4xx, quindi nulla della pagina può essere indicizzato.
  2. L’URL viene rimosso se era indicizzato. Un 403 può deindicizzare una pagina che in precedenza si posizionava: non è solo un problema di “non verrà aggiunta”, ma anche di “scompare dai risultati”.
  3. La frequenza di crawl diminuisce. Nel tempo Google sottopone a crawl gli URL 4xx meno spesso, quindi un 403 di lunga durata viene visitato meno e recupera più lentamente dopo la correzione.

Perché Googlebot riceve 403 mentre il browser no

È la domanda che fa girare le persone in tondo. La pagina si carica nel browser, quindi il contenuto è chiaramente a posto, ma Google riporta un 403. La spiegazione probabile è che browser e Googlebot producano richieste molto diverse e una regola di gestione dei bot costruita per fermare gli scraper scatti per il crawler mentre serve normalmente le persone. Trattala però come una ipotesi da confermare, non come un fatto già dimostrato: l’attributo che conta davvero varia da sito a sito:

  • Il browser invia cookie, un vero user-agent da browser e può risolvere una challenge JS o CAPTCHA; la richiesta di Googlebot in genere non contiene nulla di questo: niente cookie, user-agent da crawler e nessuna capacità di risolvere una challenge interattiva (anche se Google-InspectionTool esegue JavaScript e riporta l’output renderizzato, quindi la supposizione “Googlebot has no JavaScript” non è corretta per ogni parte del processo).
  • Oltre alle differenze lato client, le due richieste possono differire anche per IP/categoria sorgente, area geografica, metodo, referrer, stato della cache e regola che è effettivamente scattata: una qualunque di queste può essere il vero innesco.

Non indovinare quale attributo l’abbia causato. Confronta i log esatti di edge e origine per una richiesta realmente bloccata con quelli di una visita normale nel browser — stesso ID regola, header di risposta, metodo, UA, IP sorgente e categoria verificata, area geografica, cookie, referrer, stato della cache ed esito della challenge — e modifica un attributo alla volta finché trovi quello che fa cambiare la risposta. È così che confermi che il 403 sia selettivo invece di darlo per scontato.

Cause comuni

  • Gestione dei bot su CDN/WAF. Cloudflare (Bot Fight Mode / Super Bot Fight Mode, Browser Integrity Check, Managed Challenge), Akamai, Imperva/Incapsula, Sucuri e AWS WAF possono sottoporre a challenge o restituire 403 ai client non browser, incluso Googlebot. Per gli URL che dovrebbero essere pubblici è una delle cause segnalate più spesso e quasi sempre involontaria, anche se non esiste una percentuale verificata in modo indipendente sul suo peso.
  • Firewall del server/regole di sicurezza. mod_security / OWASP CRS, fail2ban o firewall a livello host che interpretano il pattern di Googlebot come abusivo.
  • Regole user-agent/referrer/hotlink. Regole che restituiscono 403 a ogni richiesta senza uno user-agent o un referrer simile a quello di un browser.
  • Blocco geografico o IP. Esclusione degli intervalli IP da cui esegue il crawl Googlebot (soprattutto IP statunitensi), quindi un blocco per Paese può intercettarlo senza che sia evidente.
  • Barriere di accesso o credenziali. Richiesta di cookie o accesso per vedere contenuti che dovrebbero essere pubblici: è il caso gemello del 401.
  • Regole di rate limiting che restituiscono 403 dopo N richieste. Non farlo: vedi qui sotto.

Non usare il 403 per rallentare Googlebot

È l’anti-pattern che vale la pena chiamare per nome. Persone (e alcune CDN) restituiscono 403 o 404 per rallentare Googlebot e ridurre il carico sul server. Google è stato esplicito: non funziona e non va fatto: non usare i codici di stato 401 e 403 per limitare la velocità di crawl. Non hanno alcun effetto sul crawl, ma deindicizzano la pagina. Se hai davvero bisogno che Googlebot rallenti, restituisci 429 (o un 5xx come 503): sono i codici che Google interpreta come “rallenta” e l’effetto è temporaneo, non permanente.

Come diagnosticarlo

  1. Ispezione URL → Test live URL. Passa un URL interessato in Search Console e usa Test live URL per confermare che Google riceva attualmente un 403, non un rapporto obsoleto. Ricorda che il test è Google-InspectionTool, un client Google specifico: un test live superato dice che InspectionTool è passato in quel momento, non che il Googlebot programmato seguirà lo stesso percorso WAF, geografico, di cache o rate limit al prossimo crawl.
  2. Riproduci come Googlebot. Non provare dal browser normale: recupera l’URL con lo user-agent di Googlebot, idealmente dall’esterno della tua rete e da più di una regione (Google esegue soprattutto il crawl da IP statunitensi ma può spostarsi in altri Paesi se le richieste dagli Stati Uniti vengono bloccate, quindi un esito positivo da una sola regione non dimostra l’accesso globale). In questo modo fai scattare la stessa regola. I comandi sono nella scheda Scripts.
  3. Leggi i log CDN/WAF/firewall. Trova la regola esatta scattata sulla richiesta di Googlebot: confronta header di risposta, ID regola e trigger (user-agent, IP, challenge o rate limit) con la voce del log di una visita normale, invece di supporre quale attributo abbia causato il blocco.
  4. Verifica il vero Googlebot e la sua categoria. Prima di autorizzare qualcosa, conferma che le richieste siano davvero di Googlebot tramite DNS inverso + diretto o intervalli IP pubblicati da Google e controlla quale client Google abbia effettuato la richiesta: Googlebot comune, crawler speciali e fetcher attivati dall’utente (come Google-InspectionTool) usano maschere host e liste IP diverse, quindi verificare contro la lista sbagliata può far sembrare falsificata una richiesta autentica.

Come correggerlo

  • Limita l’eccezione per Googlebot verificato nel WAF o firewall: usa un’identità verificata (DNS inverso + diretto, abbinata alla categoria client corretta) oppure gli attuali intervalli IP dei crawler pubblicati da Google, non la fiducia nella sola stringa user-agent. Mantieni l’eccezione stretta: i percorsi specifici che ne hanno bisogno e la regola specifica che blocca, invece di un’eccezione generalizzata per tutto Google. Lascia attivi gli altri controlli di sicurezza, i rate limit e i log e imposta una data di scadenza/revisione, così un’allowlist obsoleta non sopravvive silenziosamente al motivo per cui era stata creata. Chiedi al fornitore della CDN o del firewall di confermare che Googlebot sia autorizzato e automatizza un controllo delle regole di blocco contro le sottoreti IP pubblicate correnti da Google, per evitare che un futuro aggiornamento degli intervalli IP lo blocchi di nuovo senza avviso.
  • Apri il contenuto pubblico agli utenti anonimi. Se il 403 nasce da un requisito di accesso/cookie su contenuti che dovrebbero essere pubblici, rimuovi quel requisito (è anche la correzione condivisa con il caso gemello 401).
  • Sostituisci il rate limit 403 con 429. Se una regola restituisce 403 dopo una soglia di richieste, cambiala per restituire 429 (o 503), così Googlebot lo interpreta come “rallenta” invece di “vattene”.

Valida la correzione e fai reindicizzare la pagina

Dopo la correzione della regola, l’URL dovrebbe restituire 200. Poi:

  1. Ispezione URL → Test live URL per confermare che la risposta live sia ora 200.
  2. Richiedi l’indicizzazione per gli URL ad alta priorità e/o fai clic su Convalida correzione sulla riga “Bloccato per accesso vietato (403)” nel rapporto Indicizzazione delle pagine.
  3. La reindicizzazione segue automaticamente quando Google esegue di nuovo il crawl di un 200: non esiste una garanzia ufficiale sulla velocità esatta e l’URL deve comunque superare un crawl normale prima di ricomparire. Non devi attivare altro manualmente oltre a rimuovere il blocco, confermare una risposta sana e dare tempo a Google di ripetere il crawl.
Evidence for this claim The Page Indexing report identifies URLs where Google encountered a forbidden-access response. Scope: Google Search Console report terminology and documented Search behavior; the label alone may not prove the underlying root cause. Confidence: high · Verified: Google: Page indexing report

Per il quadro generale dei motivi di non indicizzazione presenti qui e del modo in cui il rapporto li raggruppa, consulta la panoramica del rapporto Indicizzazione delle pagine. Per lo stato gemello, “Bloccato per richiesta non autorizzata (401)” è la versione 401 dello stesso problema.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.