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: 3 ago 2026 · Advanced
Lingue
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”: l’URL viene rimosso dall’indice, con “no effect on crawl rate”; 5xx (e 429) significa “il server sta fallendo”: 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 “a server error”. 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, limitato a “a few days at most”, 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. Evidence for this claim Primary standard or official documentation supporting the adjacent article claim. Scope: Protocol semantics and Search behavior are kept separate; no indexing, ranking, or migration-timing guarantee is inferred. Confidence: high · Verified: RFC 9110: Status codes Non dedurre una singola causa principale o un tempo esatto di rimozione dalla sola famiglia del codice. Evidence for this claim Primary standard or official documentation supporting the adjacent article claim. Scope: Protocol semantics and Search behavior are kept separate; no indexing, ranking, or migration-timing guarantee is inferred. Confidence: high · Verified: 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: “Google doesn’t use the content from URLs that return 4xx status codes,” e “Google crawlers inform the next processing system that the content doesn’t exist.” 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. Questo sfata il mito: “The 4xx status codes, except 429, have no effect on crawl rate.” 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: “don’t use 401 and 403 status codes for limiting the crawl rate.” 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. “5xx and 429 server errors prompt Google’s crawlers to temporarily slow down with crawling,” e “the decrease in crawl rate is proportionate to the number of individual URLs that are returning a server error.” Alcuni 500 incidono appena; un’interruzione a livello di sito riduce drasticamente il crawling.
  • Gli URL indicizzati vengono conservati… finché gli errori persistono. “Already indexed URLs are preserved in the index, but eventually dropped,” e Google “removes from the index URLs that persistently return a server error.” Un breve picco non ti deindicizza; un guasto prolungato sì.
  • Anche il contenuto dei 5xx viene ignorato. “Any content Google receives from URLs that return a 5xx status code is ignored.”
  • Il recupero è automatico ma graduale. “Once the server starts responding with a 2xx status code, Google gradually increases the crawl rate for the site.” Google rallenta rapidamente ed è prudente nel riprendere: 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 Google lo tratta come un segnale del server: “Google’s crawlers treat the 429 status code as a signal that the server is overloaded, and it’s considered a server error.” 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: è “a form of rate-limiting to protect the 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 Unavailable For Legal Reasons — 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. La guida di Google sul crawl budget osserva che “if the site slows down or responds with server errors, the limit goes down and Google crawls less.” Ma il vero spreco di budget è il soft 404: “soft 404 pages will continue to be crawled, and waste your budget.” Poiché un soft 404 sembra attivo (restituisce 200), Google continua a ricontrollare una pagina che in realtà non esiste. È per questo che il soft 404 è il caso “peggiore”: non scompare in modo netto come un vero 404, resta e consuma fetch.

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:

  • “If you need to urgently disable the site for 1-2 days, then return an informational error page with a 503 HTTP response status code.”
  • “This is an extreme measure that should only be taken for a very short period of time (a few days at most),” perché “completely closing a site even for just a few weeks can have negative consequences on Google’s indexing of your site.”
  • “Don’t block the website by returning 403, 404, 410 HTTP status codes” durante il periodo di inattività: un 4xx dice “scomparso definitivamente”, esattamente il segnale sbagliato per un’interruzione temporanea.
  • Il tranello che quasi tutti perdono: “Don’t return a 503 HTTP response status code for the robots.txt file because this blocks all 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 Page Indexing di Search Console, dove ciascuno corrisponde a uno stato distinto:

  • Not found (404)“this page returned a 404 error when requested.”
  • Server error (5xx)“your server returned a 500-level error when the page was requested.”
  • Blocked due to unauthorized request (401)“the page was blocked to Googlebot by a request for authorization.”
  • Blocked due to access forbidden (403) — un 403 in cui sono state fornite credenziali ma l’accesso non è stato concesso.
  • Blocked due to other 4xx issue — un 4xx non coperto da un altro stato; usa URL Inspection per eseguire il debug.
  • Soft 404 — un messaggio “user-friendly ‘not found’ message but not a 404 HTTP response code.”
  • Redirect error — catena troppo lunga, loop, 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 Validate Fix per richiedere un nuovo crawling, ma mantieni aspettative realistiche sui tempi: il recrawl non è istantaneo. E ricorda l’impostazione di Google: “it’s fine for a URL not to be indexed for the right reasons — for example… a 404 for a page that you’ve removed and have no replacement for.” Non ogni errore è un’attività da svolgere.

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 link in ingresso, link interni, presenza nella sitemap o traffico residuo: reindirizzali con un 301 verso una pagina pertinente per recuperare l’equity dei link. Lascia che gli URL davvero morti restituiscano 404 o 410. Come scrivo nella mia guida Ahrefs, per la maggior parte di questi casi la correzione pratica è “you just need to 301 redirect each of these pages to a relevant page”, ma solo quando esiste una destinazione pertinente. 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 definisce l’obiettivo di Bing come “crawl efficiency north star … to crawl a URL only when the content has been added … updated,” e gli errori persistenti vanno direttamente contro questo obiettivo: Bing consuma spazio di crawling su URL che non forniscono 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 le superfici degli errori di crawling di Bing in Bing Webmaster Tools (URL Inspection, Crawl Control, Site Scan).

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 Unauthorized — che cosa attiva lo stato “Blocked due to unauthorized request” 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 Unavailable For Legal Reasons — 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.

Add an expert note

Pin an expert quote

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