Codici di errore HTTP

Come i codici di errore HTTP 4xx e 5xx influenzano la SEO: come Google gestisce gli errori, quali causano deindicizzazione, spreco di crawling e cali di ranking e come monitorarli e correggerli.

Prima pubblicazione: 27 giu 2026 · Ultimo aggiornamento: 24 ago 2026 · Avanzato
1 segnale di evidenza in questa pagina

I codici di errore HTTP sono le risposte 4xx (errore del client) e 5xx (errore del server) che un server restituisce invece di una risposta 2xx riuscita. Google tratta le due classi in modo molto diverso: 4xx (tranne 429) significa che il contenuto non esiste: la pagina esce dall’indice, senza alcun effetto sul tasso di crawling; 5xx (e 429) significa che il server sta fallendo: Google limita prima il crawling a livello di sito e rimuove le pagine solo se gli errori persistono. 429 è numericamente un 4xx, ma Google lo tratta esplicitamente come un errore del server. Un soft 404 è il caso insidioso: un 200 che sembra “non trovato”, che Google segnala come spreco di crawl budget (soprattutto nei siti grandi) invece di rimuovere la pagina in modo netto. I 404 non sono un segnale di qualità o ranking (Mueller), quindi non farti prendere dal panico per un conteggio di errori: l’impatto reale di un errore isolato dipende comunque dall’URL (una risorsa speciale come robots.txt ha una gestione propria degli errori, diversa da quella di una pagina ordinaria); dai priorità agli URL in errore che hanno link o traffico. Per un periodo di inattività pianificato usa 503 + Retry-After (mai 403/404/410) e non usare mai 503 per robots.txt. Monitora l’intera famiglia attraverso il report Page Indexing di Search Console. Questo hub mappa e collega ogni singolo codice: 401, 403, 404, 404 contro 410, 410, 429, 451, 500, 502, 503, 504 e soft 404.

TL;DR — I codici di errore HTTP sono le classi di stato 4xx (client) e 5xx (server). Google traccia una netta linea comportamentale tra loro: 4xx (tranne 429) significa «il contenuto non esiste» e l’URL viene rimosso dall’indice senza effetti sul tasso di crawling; 5xx (e 429) significa “the server itself is failing.” (traduzione) «è il server stesso ad avere un guasto.» Google limita il crawling in proporzione, conserva inizialmente gli URL indicizzati e li deindicizza solo se gli errori persistono, poi aumenta nuovamente il tasso di crawling gradualmente dopo il recupero. 429 è numericamente un 4xx, ma Google lo definisce un errore del server. Il contenuto di qualsiasi risposta di errore viene ignorato. I 404 non sono un segnale di qualità (Mueller): fai triage in base a link e traffico, non correggere tutto e ricorda che l’impatto reale di un errore isolato dipende dall’URL (robots.txt ha una gestione speciale degli errori che una pagina ordinaria non ha). I soft 404 (un 200 che sembra «non trovato») sono segnalati da Google come spreco di crawl budget, soprattutto per i siti grandi, non come effetto garantito su ogni sito. Per un periodo di inattività pianificato usa 503 + Retry-After per pochi giorni al massimo e non usare mai 503 per robots.txt. Monitora la famiglia attraverso il report Page Indexing di GSC. Questo hub mappa e collega ogni singolo codice.

La distinzione che regge tutto il tema

Il codice del protocollo descrive l’esito HTTP; un’etichetta di Search Console descrive il modo in cui Google ha classificato un fetch osservato. Prova a sostegno di questa affermazione Primary standard or official documentation supporting the adjacent article claim. Ambito: Protocol semantics and Search behavior are kept separate; no indexing, ranking, or migration-timing guarantee is inferred. Attendibilità: alta · Verificato: RFC 9110: Status codes Non dedurre una singola causa principale o un tempo esatto di rimozione dalla sola famiglia del codice. Prova a sostegno di questa affermazione Primary standard or official documentation supporting the adjacent article claim. Ambito: Protocol semantics and Search behavior are kept separate; no indexing, ranking, or migration-timing guarantee is inferred. Attendibilità: alta · Verificato: Google: HTTP and network errors

Quattro livelli vengono appiattiti in “è un 404” quando si parla di errori; tenerli separati è ciò che rende comprensibile il resto della pagina:

  1. Semantica del protocollo — il significato del codice di stato secondo la specifica HTTP (un 404 significa “non trovato”, punto).
  2. Fetch osservato — ciò che Googlebot ha effettivamente ricevuto in una richiesta specifica e in un momento specifico, che può differire da ciò che vede un browser.
  3. Elaborazione della ricerca — il modo in cui la pipeline di indicizzazione di Google classifica e tratta quel fetch osservato (rimuove l’URL, limita il crawl, ignora il corpo).
  4. Causa principale — il motivo effettivo sul tuo server (un deployment errato, un database sovraccarico, una regola WAF), che il solo codice di stato non rivela mai.

Conoscere la famiglia (4xx contro 5xx) ti dice quale dei primi tre livelli stai osservando. Non sostituisce mai il quarto: devi comunque scoprire perché è successo.

La documentazione di Google separa chiaramente i due casi e vale la pena interiorizzarlo prima di tutto: gli errori 4xx dicono “il contenuto non esiste”; gli errori 5xx dicono “il server stesso sta fallendo”. Sono due problemi completamente diversi e la pipeline di indicizzazione di Google reagisce in due modi completamente diversi.

Un’ancora utile: perfino un codice di successo non è una promessa. Google dice chiaramente che “for Google Search, an HTTP 2xx (success) status code doesn’t guarantee indexing.” I codici di errore sono in realtà la metà più deterministica del quadro: dicono a Google, senza ambiguità, “scomparso” oppure “guasto”.

Come Google tratta gli errori 4xx

Per gli errori del client, il comportamento di Google è uniforme e netto: non usa il contenuto degli URL che restituiscono codici 4xx diversi da 429 e comunica al sistema di elaborazione successivo che “the content doesn’t exist.” (traduzione) «il contenuto non esiste.» Anche se la tua pagina 403 o 404 renderizza molto testo reale, niente di quel testo viene indicizzato: il corpo della risposta di errore viene ignorato.

Ne conseguono due conseguenze:

  • Gli URL indicizzati in precedenza vengono rimossi. Quando una pagina restituisce in modo affidabile un 4xx, Google la rimuove dall’indice nel tempo.
  • Non c’è una penalizzazione sul tasso di crawling. I codici 4xx, tranne 429, non influenzano il tasso di crawling. Una montagna di 404 non rallenta il crawling del resto del sito da parte di Google.

Quest’ultimo punto elimina un cattivo riflesso: non provare a limitare Googlebot con un 401 o un 403. Google avverte esplicitamente di non usare questi codici per limitare il tasso di crawling. Un muro di autenticazione non rallenta il crawling: rende soltanto invisibile il contenuto.

Come Google tratta gli errori 5xx (e 429)

Gli errori del server attivano il ramo “the server is struggling” e qui Google protegge deliberatamente il tuo sito:

  • Il tasso di crawling viene limitato per primo, in proporzione al volume. Gli errori 5xx e 429 inducono i crawler di Google a rallentare temporaneamente; la riduzione è proporzionale al numero di URL che restituiscono un errore del server. Alcuni 500 incidono appena; un’interruzione a livello di sito riduce drasticamente il crawling.
  • Gli URL indicizzati vengono conservati… finché gli errori persistono. Gli URL già indicizzati vengono inizialmente mantenuti, ma alla fine Google rimuove quelli che continuano a restituire un errore del server. Un breve picco non ti deindicizza; un guasto prolungato sì.
  • Anche il contenuto dei 5xx viene ignorato. Google ignora qualsiasi contenuto ricevuto da URL che restituiscono un codice 5xx.
  • Il recupero è automatico ma graduale. Quando il server torna a rispondere con un codice 2xx, Google aumenta gradualmente il tasso di crawling del sito. Non c’è uno «sblocco» manuale: devi correggere la causa principale e aspettare.

Perché 429 rientra nella famiglia degli errori del server

Questa è la sfumatura che manca nella maggior parte delle guide. 429 Too Many Requests è numericamente un 4xx, ma i crawler di Google lo interpretano come segnale di sovraccarico e lo considerano un errore del server. Quindi un WAF o un rate limiter che inizia a restituire 429 a Googlebot limiterà il crawling proprio come un’ondata di 500: non rimuoverà le singole pagine come farebbe un 404. Quando scompongo i codici nella mia guida ai codici di stato HTTP su Ahrefs, metto 429 insieme agli errori del server proprio per questo motivo: è una forma di limitazione delle richieste che protegge il server e fa rallentare Google.

La mappa delle famiglie di codici di errore

Ecco la vista rapida di triage dell’intera famiglia. Ogni codice qui sotto ha un approfondimento autonomo annidato sotto questo hub (sono anche nella barra laterale):

Errori di blocco/accesso

  • 401 Unauthorized — il client non si è identificato o verificato quando necessario. Googlebot viene bloccato dietro una richiesta di autenticazione.
  • 403 Forbidden — il client è noto ma non dispone dei diritti di accesso.

Errori di mancata trovata

  • 404 Not Found — la risorsa richiesta non è stata trovata.
  • 404 vs 410 — la differenza pratica tra “non trovato” e “rimosso” (è più piccola di quanto si pensi).
  • 410 Gone — come un 404, ma dice anche che la risorsa non tornerà. Rimuove le pagine leggermente più velocemente.

Il codice dalla doppia identità

  • 429 Too Many Requests — rate limiting; numericamente 4xx, ma Google lo tratta come un errore del server ai fini del tasso di crawling.

Legale

  • 451 Non disponibile per motivi legali — bloccato per un motivo legale: blocchi a livello di Paese e rimozioni DMCA.

Errori del server (5xx)

  • 500 Internal Server Error — il server ha incontrato un problema che non riesce a gestire.
  • 502 Bad Gateway — una risposta errata da un server upstream.
  • 503 Service Unavailable — il server è sovraccarico o fermo per manutenzione (il codice corretto per un periodo di inattività pianificato).
  • 504 Gateway Timeout — nessuna risposta tempestiva da un server upstream.

Il caso insidioso

  • Soft 404 — una pagina che restituisce 200 OK ma sembra “non trovata”. Il peggio dei due mondi: ne parleremo più avanti.

I redirect rotti sono adiacenti agli errori ma vengono classificati separatamente (Google li mostra come “Redirect error” in Search Console, distinto da una normale “Page with redirect” funzionante). Per impostazione predefinita i crawler di Google “follow up to 10 redirect hops” prima di arrendersi; una catena troppo lunga, un loop o un URL errato si trasformano in quello stato di Redirect error.

Un errore HTTP danneggia la SEO?

Partiamo dalla conclusione: un errore isolato su una pagina ordinaria è quasi mai un problema e i 404, nello specifico, non sono un segnale di ranking o qualità. Mueller lo ha detto esplicitamente e più volte. Il riflesso “ho 50 000 errori 404, quindi il mio sito deve essere penalizzato” è il mito numero uno da sfatare. Gli errori sono una parte normale del web; avere pagine 404 o 410 è il modo tecnicamente corretto di gestire URL che non esistono.

“Isolato” non significa però “sempre innocuo”: l’impatto reale dipende da ciò che restituisce l’errore. Un 404 su una pagina ordinaria è un non-evento; una risorsa speciale è diversa. Google assegna a robots.txt regole proprie di gestione degli errori, distinte da quelle degli URL normali, quindi un errore del server su robots.txt può influire sul crawling in un modo in cui il 404 di una pagina ordinaria non lo farebbe. Valuta un errore in base all’URL su cui compare e a ciò che dipende da esso, non soltanto in base al codice di stato.

L’unico schema con un meccanismo reale e documentato è l’errore 5xx persistente e diffuso: limitazione del tasso di crawling → eventuale deindicizzazione. Anche questo è proporzionato al numero di URL che restituiscono errori e in genere è reversibile quando il server si riprende. Google descrive il ritorno alla normalità come graduale, non istantaneo: considera quindi il tempo esatto, la frequenza dei retry e la velocità del recupero dipendenti dalle prove (ciò che descrivono i documenti di Google), non una garanzia fissa. La distinzione di Mueller da ricordare è che il tasso di crawling reagisce agli errori del server (429/500/503/timeout), non ai 404.

Spreco di crawl e deindicizzazione: due danni diversi

È utile separare i due modi in cui gli errori possono costarti:

  • Deindicizzazione — 4xx persistenti (pagina rimossa come “scomparsa”) o 5xx persistenti (pagine rimosse dopo un guasto prolungato del server). Riguarda le pagine che escono dall’indice.
  • Spreco di crawl budget — soprattutto un problema dei siti grandi. Google spiega: “if the site slows down or responds with server errors, the limit goes down and Google crawls less.” (traduzione) «Se il sito rallenta o risponde con errori del server, il limite diminuisce e Google esegue meno crawling.» Il vero spreco di budget è il soft 404: “soft 404 pages will continue to be crawled, and waste your budget.” (traduzione) «Le pagine soft 404 continueranno a essere sottoposte a crawling e sprecheranno il budget.» Poiché sembrano attive (restituiscono 200), Google ricontrolla pagine che in realtà non esistono. È per questo che il soft 404 è il caso peggiore: non scompare in modo netto come un vero 404, resta e consuma richieste.

Il caso soft 404 ha due cause comuni, entrambe da nominare: un template personalizzato “pagina non trovata” che restituisce 200 invece di un vero 404 e un redirect generalizzato di ogni URL morto alla homepage; Google riconosce anche questo schema come soft 404. Una pagina 404 utile e cordiale è positiva per l’esperienza utente e pienamente raccomandata, a condizione che restituisca comunque il vero codice di stato HTTP 404.

Come gestire correttamente un periodo di inattività pianificato

Quando metti intenzionalmente offline un sito (o una sezione), il codice corretto è 503 Service Unavailable con un header Retry-After: mai un 4xx. Le indicazioni di Google “Pause your online business” sono specifiche:

  • Se devi disattivare urgentemente il sito per uno o due giorni, restituisci una pagina informativa di errore con codice HTTP 503.
  • È una misura estrema da usare soltanto per pochi giorni: chiudere completamente un sito anche solo per qualche settimana può danneggiare la sua indicizzazione.
  • Non bloccare il sito restituendo codici HTTP 403, 404 o 410 durante il periodo di inattività: un 4xx dice «scomparso definitivamente», esattamente il segnale sbagliato per un’interruzione temporanea.
  • Il tranello che quasi tutti perdono: non restituire un codice HTTP 503 per il file robots.txt, perché bloccherebbe tutto il crawling. Usa 503 per le pagine, non per robots.txt.

Come monitorare l’intera famiglia in Search Console

Giorno per giorno incontrerai questi errori nel report Indicizzazione delle pagine di Search Console, dove ciascuno corrisponde a uno stato distinto:

  • Non trovata (404) — la pagina ha restituito un errore 404 quando è stata richiesta.
  • Errore del server (5xx) — il server ha restituito un errore di livello 500 quando la pagina è stata richiesta.
  • Bloccata per richiesta non autorizzata (401) — una richiesta di autorizzazione ha impedito a Googlebot di accedere alla pagina.
  • Bloccata per accesso vietato (403) — sono state fornite credenziali ma l’accesso non è stato concesso.
  • Bloccata per un altro problema 4xx — un errore non coperto da un altro stato; usa Controllo URL per eseguire il debug.
  • Errore morbido 404 — un messaggio amichevole di pagina non trovata che non restituisce un vero codice HTTP 404.
  • Errore di reindirizzamento — catena troppo lunga, ciclo, URL eccessivamente lungo o URL errato nella catena.

Ogni stato indica una causa principale e un percorso di correzione diversi. Dopo averne risolto uno, usa Convalida correzione per richiedere un nuovo crawling, ma mantieni aspettative realistiche sui tempi: il nuovo passaggio non è istantaneo. È normale che un URL non sia indicizzato per ragioni corrette, per esempio un 404 relativo a una pagina rimossa senza sostituzione. Non ogni errore richiede un intervento.

Search Console da sola non basta per agire: è un punto di osservazione campionato e ritardato. Quando registri un errore per il triage, annota almeno URL, momento in cui l’hai osservato, punto di osservazione (Search Console, controllo live o log del server/CDN), user agent della richiesta, metodo HTTP, codice di stato finale e percorso della risposta (compresa la catena di redirect), se è un caso isolato o ricorrente e un passaggio di verifica dopo la correzione una volta effettuato il redeploy. Confrontare GSC con un controllo di stato live e con i tuoi log trasforma una riga obsoleta del report in un problema confermato e correggibile.

Come correggere e stabilire la priorità degli errori

  • Fai triage dei 404 in base al valore. Correggi quelli con collegamenti in ingresso, collegamenti interni, presenza nella sitemap o traffico residuo: reindirizzali con un 301 verso una pagina pertinente per recuperare il valore dei link. Lascia che gli URL davvero morti restituiscano 404 o 410. Nella maggior parte dei casi importanti basta reindirizzare ogni pagina con un 301 verso una destinazione pertinente, quando esiste. Non reindirizzare tutto alla homepage: è un soft 404.
  • 410 contro 404 è una differenza marginale. Un 410 rimuove una pagina leggermente più velocemente di un 404; la differenza SEO pratica è ridotta. Usa 410 quando vuoi dichiarare esplicitamente che qualcosa è scomparso per sempre, ma non aspettarti un risultato molto migliore.
  • Individua la causa dei 5xx. Le correzioni sono lato server: capacità e timeout per i 500, salute di upstream/CDN per 502/504 e regole WAF o di rate limiting che colpiscono erroneamente Googlebot per 403/429. Conferma il bot reale con un controllo DNS inverso/diretto prima di applicargli il rate limiting.
  • Cause principali comuni da nominare: errori dell’applicazione e del database e host sovraccarichi (5xx), guasti upstream/CDN (502/504), rate limiting o WAF che blocca i bot (403/429), migrazioni interrotte e link interni obsoleti (404), pagine di errore “amichevoli” configurate male (soft 404).

Bing: uno schema simile, non verificato codice per codice in modo indipendente

Le dichiarazioni pubbliche di Bing vanno nella stessa direzione dell’approccio di Google: i codici nell’intervallo 400 vengono trattati come contenuti mancanti o vietati e quelli nell’intervallo 500 segnalano problemi del server che ostacolano l’efficienza del crawling. Tuttavia non ho verificato in modo indipendente una parità completa e aggiornata, codice per codice, con la documentazione di Bing; trattala quindi come indicazione, non come corrispondenza uno a uno confermata. Fabrice Canel descrive come principio guida la scansione di un URL soltanto quando il contenuto è stato aggiunto o aggiornato; gli errori persistenti vanno direttamente contro questo obiettivo perché consumano risorse su URL privi di contenuti freschi e indicizzabili. Bing raccomanda inoltre un 503 con Retry-After per i periodi di inattività pianificati, invece di servire pagine di errore come 200. Troverai questi errori negli Strumenti per webmaster di Bing, in Controllo URL, Controllo scansione e Analisi del sito.

Dove andare dopo

Questa pagina è l’hub concettuale della famiglia dei codici di errore. Si trova nel cluster più ampio dei codici di stato HTTP (il quadro completo 1xx–5xx, oltre a redirect e codici di successo); questo sub-hub è la mappa della metà dedicata agli errori. Ogni codice qui sotto ha un approfondimento autonomo:

Blocco/accesso

  • 401 Non autorizzato — che cosa attiva lo stato «Bloccata per richiesta non autorizzata» e perché i muri di autenticazione non limitano Googlebot.
  • 403 Forbidden — credenziali fornite ma accesso negato e schemi WAF/blocco bot che causano falsi 403 a Googlebot.

Non trovato

  • 404 Not Found — come Google gestisce le pagine mancanti, perché non è una penalizzazione e quali 404 correggere davvero.
  • 404 contro 410 — la differenza reale e piccola e quando scegliere l’uno o l’altro.
  • 410 Gone — il segnale “scomparso definitivamente” e la sua rimozione leggermente più rapida.

Rate limiting

  • 429 Too Many Requests — il 4xx che si comporta come un 5xx e come evitare che i rate limit limitino il tuo crawling.

Legale

  • 451 Non disponibile per motivi legali — rimozioni, blocchi a livello di Paese e modo in cui vengono visualizzate le rimozioni legali.

Errori del server

  • 500 Internal Server Error — il guasto generico del server e come individuarne la causa.
  • 502 Bad Gateway — guasti upstream/proxy.
  • 503 Service Unavailable — il codice corretto per manutenzione e inattività pianificata (con il tranello di robots.txt).
  • 504 Gateway Timeout — timeout upstream.

Il caso insidioso

  • Soft 404 — il 200 che sembra una pagina scomparsa, perché spreca crawl budget e come trasformarlo in un vero 404.

I redirect rotti vengono gestiti separatamente come stato Redirect error: sono correlati, ma classificati autonomamente in Search Console.

Aggiungi una nota dell’esperto

Fissa una citazione dell’esperto

Persona nuova? Crea il suo profilo non rivendicato in /admin/experts/ → Fissa una citazione dell’esperto prima.