Gli HTTP status code sono uno di quegli elementi tecnici che restano invisibili agli utenti finali ma che possono fare la differenza tra un sito che si posiziona bene e uno che fatica a essere indicizzato. La maggior parte degli imprenditori e dei marketer ne sente parlare solo quando qualcosa va storto: rankings che calano dopo una migrazione, pagine eliminate che continuano a comparire nei report, redirect che si comportano in modo imprevisto. In questo articolo ti spiego cosa sono gli HTTP status code, quali sono i più importanti dal punto di vista SEO, come gestirli correttamente per evitare problemi di indicizzazione, quali sono le novità tecniche del 2026 e come usarli strategicamente per ottimizzare il crawl budget e proteggere il posizionamento del tuo sito.
Cosa sono gli HTTP Status Code
Gli HTTP status code, in italiano “codici di stato HTTP”, sono codici numerici a tre cifre che il server invia al browser (o al crawler) in risposta a ogni richiesta ricevuta. Comunicano esattamente cosa è successo: se la pagina è stata trovata correttamente, se è stata spostata altrove, se non esiste più, se c’è stato un errore tecnico.
Ogni volta che clicchi su un link, navighi tra le pagine di un sito o un crawler scansiona dei contenuti, dietro le quinte avviene questo dialogo silenzioso: il client manda una richiesta, il server risponde con un codice che spiega l’esito. Tipicamente non ti accorgi di nulla, ma se qualcosa va storto è proprio lo status code che ti dice cosa è successo.
Per chi si occupa di SEO, conoscere i principali HTTP status code è una competenza di base imprescindibile. Servire il codice sbagliato nel momento sbagliato può danneggiare il posizionamento del sito, rallentare l’indicizzazione di nuovi contenuti, far perdere link equity accumulata negli anni o impedire del tutto la visibilità su Google.
Le 5 categorie di HTTP Status Code
I codici di stato sono organizzati in cinque categorie principali, riconoscibili dalla prima cifra. Ognuna ha un significato preciso e diverse implicazioni SEO. Te le presento in ordine, dalla più semplice alla più critica.
1xx — Codici Informativi
I codici della classe 1xx informano il client che la richiesta è stata ricevuta dal server ed è in fase di elaborazione. Si incontrano raramente nella pratica e non hanno particolari implicazioni SEO. Il più comune è il 100 Continue, usato in alcune situazioni tecniche specifiche.
2xx — Codici di Successo
I codici della classe 2xx indicano che tutto è andato bene: il server ha ricevuto, capito e processato correttamente la richiesta. Sono i codici che vuoi vedere sulle tue pagine importanti. I più rilevanti:
- 200 OK: la richiesta è andata a buon fine, il contenuto viene servito normalmente;
- 201 Created: la richiesta ha avuto successo e ha creato una nuova risorsa;
- 204 No Content: la richiesta è andata a buon fine ma il server non restituisce contenuti.
Per la SEO il codice di riferimento è il 200: qualunque pagina importante del tuo sito dovrebbe rispondere con un 200 quando viene richiesta. Se per errore una pagina chiave inizia a rispondere con codici diversi, è il momento di indagare immediatamente.
3xx — Codici di Reindirizzamento
I codici 3xx comunicano che la risorsa richiesta è stata spostata altrove e indicano dove. Sono i codici più critici da gestire correttamente, perché un uso scorretto può causare perdite di posizionamento difficili da recuperare. I principali:
- 301 Moved Permanently: la pagina è stata spostata in modo definitivo, segnale forte per la SEO;
- 302 Found: spostamento temporaneo, da usare con grande cautela;
- 304 Not Modified: il contenuto non è cambiato dall’ultimo accesso, importante per il crawl budget;
- 307 Temporary Redirect: spostamento temporaneo che mantiene il metodo HTTP originale;
- 308 Permanent Redirect: spostamento permanente, versione moderna del 301.
4xx — Errori lato Client
I codici 4xx segnalano errori attribuiti al client (chi ha fatto la richiesta) o all’impossibilità del server di soddisfare la richiesta perché malformata o non autorizzata. I principali:
- 400 Bad Request: la richiesta è malformata o contiene errori di sintassi;
- 401 Unauthorized: serve autenticazione per accedere alla risorsa;
- 403 Forbidden: il server ha capito la richiesta ma rifiuta di soddisfarla;
- 404 Not Found: la risorsa richiesta non esiste sul server;
- 410 Gone: la risorsa esisteva ma è stata rimossa permanentemente;
- 429 Too Many Requests: troppe richieste in poco tempo, rate limit attivato.
5xx — Errori lato Server
I codici 5xx indicano errori del server, ovvero situazioni in cui la richiesta era valida ma il server non è riuscito a processarla correttamente. Sono i codici più pericolosi per la SEO se persistenti nel tempo. I principali:
- 500 Internal Server Error: errore generico del server, causa non specificata;
- 502 Bad Gateway: un server intermedio ha ricevuto una risposta non valida;
- 503 Service Unavailable: il server è temporaneamente indisponibile;
- 504 Gateway Timeout: un server intermedio non ha ricevuto risposta in tempo;
- 521 Web Server Is Down: il server di origine non risponde (tipico errore Cloudflare).
Nota: mentre un singolo 5xx occasionale è fisiologico e non preoccupa Google, errori 5xx ripetuti o prolungati nel tempo sono il segnale più dannoso per il crawl rate del sito. Quando Googlebot incontra errori server persistenti, riduce drasticamente la frequenza di scansione fino a deindicizzare progressivamente i contenuti.
301 vs 302 vs 307 vs 308: capire le differenze pratiche
I codici di redirect sono quelli che generano più confusione anche tra chi si occupa di SEO professionalmente. Vediamo le differenze pratiche tra le quattro tipologie principali, perché ciascuna ha conseguenze molto diverse.
Il 301 Moved Permanently
Il 301 è il redirect più importante in ottica SEO. Comunica a Google che una pagina è stata spostata definitivamente verso un nuovo URL. Il 301 trasferisce l’autorevolezza accumulata dalla vecchia pagina alla nuova, conservando ranking, backlink e link interni che puntavano alla vecchia versione.
Si usa in tutte le situazioni di cambiamento permanente:
- migrazione da HTTP a HTTPS;
- cambio di dominio del sito;
- ristrutturazione degli URL;
- consolidamento di pagine duplicate;
- rinominazione di sezioni o categorie.
Un dato tecnico importante che Google ha confermato di recente è che i redirect 301 devono restare attivi per almeno un anno prima di essere rimossi, in modo da consentire al motore di ricerca di consolidare definitivamente il trasferimento dei segnali dalla vecchia alla nuova URL.
Il 302 Found
Il 302 è un redirect temporaneo che indica a Google che lo spostamento non è definitivo. Non trasferisce link equity alla destinazione, perché il motore di ricerca presume che la situazione tornerà come prima a breve.
Si usa in situazioni come:
- manutenzione temporanea che richiede di deviare il traffico;
- A/B test su pagine alternative;
- geolocalizzazione temporanea verso versioni specifiche del sito;
- spostamenti di durata limitata e nota.
L’errore più frequente è usare il 302 quando invece andrebbe usato il 301. Capita spesso che ristrutturazioni di siti vengano fatte con redirect 302 per pigrizia o disattenzione, con il risultato di non trasferire il valore SEO accumulato e dover ricominciare da capo a posizionarsi sulle nuove URL.
Il 307 e il 308
Il 307 Temporary Redirect è la versione moderna del 302 con una differenza tecnica: mantiene rigorosamente il metodo HTTP della richiesta originale (POST resta POST, GET resta GET). È poco usato in contesti SEO ordinari ma importante in alcuni scenari di applicazioni web.
Il 308 Permanent Redirect è la versione moderna del 301: stesso significato semantico (spostamento permanente, trasferimento di link equity) ma con la stessa garanzia del 307 sul mantenimento del metodo HTTP. Google tratta 301 e 308 in modo sostanzialmente equivalente, ma il 308 sta diventando standard nelle implementazioni più moderne.
Il 304 Not Modified: l’alleato dimenticato del crawl budget
Tra tutti gli status code, il 304 è probabilmente quello più sottovalutato e meno compreso. Si tratta di una risposta che il server può inviare quando il client (browser o crawler) richiede una risorsa già richiesta in precedenza, dicendogli essenzialmente: “non ti serve scaricarla di nuovo, la versione che hai in cache è ancora valida”.
Per la SEO il 304 è prezioso per un motivo specifico: quando Googlebot riceve un 304 per una pagina già scansionata e non modificata, non spreca risorse a riscaricarla. Quel crawl budget risparmiato viene reindirizzato verso contenuti nuovi o effettivamente aggiornati.
Per i siti di grandi dimensioni, una corretta gestione del 304 può fare una differenza enorme nell’efficienza complessiva dell’indicizzazione. Per i siti piccoli l’impatto è marginale, ma è comunque buona pratica configurarlo correttamente. Per approfondire il funzionamento del crawl budget e perché la gestione delle risorse di scansione sia diventata strategica nel 2026, il mio tutorial sul crawl budget e come ottimizzarlo spiega il tema in modo approfondito.
404 vs 410: la differenza che fa risparmiare mesi di lavoro
Una delle decisioni più sottovalutate ma più impattanti è la scelta tra 404 e 410 quando si elimina una pagina dal sito. Sembrano due codici intercambiabili ma in realtà hanno comportamenti molto diversi dal punto di vista di Google.
Il 404 Not Found dice al motore di ricerca “questa pagina non si trova al momento, riprovate più avanti”. È un segnale permissivo: forse la pagina è temporaneamente assente, forse è stata spostata e qualcuno ha dimenticato di mettere il redirect, forse l’URL è stato digitato male. Di fronte a un 404 Googlebot mantiene l’URL nella coda di scansione e torna a controllare con cadenza progressivamente più rada: dopo 24 ore, poi dopo una settimana, poi un mese, poi tre. Per mesi quella URL continua a pesare sul tuo crawl budget e a comparire nei report di Search Console.
Il 410 Gone dice invece al motore di ricerca “questa pagina è permanentemente sparita, non tornerà”. È il segnale di chiusura definitiva. Di fronte a un 410, Googlebot rimuove la pagina dall’indice in pochi giorni e smette di tentare nuove scansioni.
La regola pratica nel 2026 è semplice:
- se la pagina non c’è più ma potrebbe tornare → 404;
- se la pagina non c’è più e non tornerà mai → 410;
- se la pagina è stata sostituita da un’altra → 301 verso quella nuova.
Per le migrazioni di siti con migliaia di URL retirati, scegliere il 410 invece del 404 può accelerare di mesi il processo di pulizia dell’indice di Google, con benefici diretti sull’efficienza del crawl budget complessivo.
Il pericolo dei Soft 404
Un concetto che molti non conoscono ma che ha conseguenze importanti è quello del Soft 404. È quello che succede quando una pagina restituisce un codice 200 OK (sembra cioè una pagina valida) ma il suo contenuto è in realtà vuoto, errato o equivalente a una pagina di errore.
Esempi tipici di Soft 404:
- pagine prodotto e-commerce con scritto “prodotto non disponibile” ma codice 200;
- pagine di ricerca interna senza risultati che restituiscono 200;
- pagine di errore personalizzate che dimenticano di servire il codice 404;
- pagine vuote o con contenuto minimo che non offrono alcun valore.
Google riconosce automaticamente queste situazioni e le classifica come Soft 404 nel report di Search Console. Sono particolarmente dannose perché sprecano crawl budget facendo perdere a Googlebot tempo prezioso su pagine che non meritano attenzione, e creano confusione nei segnali di qualità del sito.
La soluzione corretta è sempre la stessa: una pagina che non ha contenuto valido deve servire un vero 404 (o un 410 se è eliminata definitivamente), oppure va sostituita con un redirect 301 verso una pagina pertinente.
Il 503 e la gestione corretta delle manutenzioni
Un altro punto su cui vedo errori frequenti riguarda la gestione delle manutenzioni programmate del sito. La tentazione naturale è quella di mostrare una pagina “sito in manutenzione, torna più tardi” con un codice 200, ma è la scelta peggiore possibile dal punto di vista SEO.
Il modo corretto di gestire una manutenzione è servire un codice 503 Service Unavailable con un header Retry-After che indica a Google quando il sito sarà di nuovo disponibile. In questo modo il motore di ricerca:
- capisce che si tratta di una situazione temporanea;
- non rischia di deindicizzare contenuti per assenza di risposta;
- rimette in coda la scansione per il momento indicato;
- non penalizza il sito nel ranking durante l’interruzione.
Le manutenzioni programmate di breve durata gestite con 503+Retry-After non hanno alcun impatto sul posizionamento. Le manutenzioni gestite male, con codici sbagliati o pagine di errore servite con 200, possono invece causare problemi che si trascinano per settimane.
HTTP Status Code e crawler AI: il problema del 2026
Una novità interessante del 2026 è l’uso strategico degli HTTP status code per gestire l’invasione dei crawler AI. Decine di nuovi bot stanno consumando enormi quantità di banda dai siti web, e gli status code possono essere usati come strumento di difesa selettiva.
Le strategie più diffuse sono:
- servire 429 Too Many Requests ai crawler AI che superano soglie di frequenza ragionevoli;
- usare 403 Forbidden selettivamente verso i crawler indesiderati identificabili dall’user-agent;
- combinare robots.txt con regole server-side per i bot che ignorano le direttive standard;
- servire 503 con Retry-After per imporre rate limit ai crawler più aggressivi.
È un approccio più sofisticato e meno radicale del blocco totale, perché permette di mantenere la visibilità sui motori AI più rilevanti limitando il consumo di risorse di quelli meno utili.
Come monitorare gli HTTP Status Code del tuo sito
Per gestire correttamente gli HTTP status code serve avere una visione chiara di cosa sta succedendo sul sito. I principali strumenti che utilizzo nei progetti dei clienti sono diversi e si integrano bene tra loro.
Google Search Console
Search Console offre nella sezione “Indicizzazione delle pagine” una panoramica completa di come Google interpreta gli status code servisi dal sito. Mostra pagine indicizzate, escluse, con redirect, con errori, soft 404, e fornisce dettagli sulle URL coinvolte. È lo strumento di partenza imprescindibile.
Screaming Frog SEO Spider
Screaming Frog è il tool desktop di riferimento per la scansione tecnica dei siti. Simula il comportamento di Googlebot e restituisce per ogni URL del sito il codice di stato, eventuali redirect chain, header HTTP, tempi di risposta. Esiste in versione gratuita fino a 500 URL e in versione a pagamento (circa 285 euro l’anno nel 2026) per scansioni illimitate.
Tool di monitoring continuo
Per il monitoraggio continuativo dei codici di stato di siti in produzione, strumenti come Semrush, Ahrefs e SEOZoom offrono dashboard di site audit che effettuano scansioni periodiche segnalando automaticamente nuovi errori. Sono particolarmente utili per gli e-commerce e i siti dinamici dove gli errori possono apparire e sparire frequentemente.
Analisi dei file di log
Il metodo più preciso resta l’analisi dei file di log del server, che permette di vedere esattamente quale codice di stato il server ha servito a ogni richiesta, distinguendo bot da utenti reali. Per approfondire l’analisi dei file di log, la mia guida approfondita a Screaming Frog Log Analyser spiega come configurare e interpretare i log nei dettagli.
Gli errori più comuni nella gestione degli HTTP Status Code
Negli anni ho visto ricorrere gli stessi errori in moltissimi siti. Te li elenco perché conoscerli aiuta a evitarli:
- usare 302 al posto di 301 nelle migrazioni: perdita di link equity;
- servire 200 su pagine vuote: genera Soft 404 e spreca crawl budget;
- servire 200 in manutenzione: dovrebbe essere sempre 503 con Retry-After;
- non gestire le redirect chain: lunghe catene di redirect rallentano e indeboliscono i segnali;
- lasciare in vita 404 di pagine importanti: link equity persa che si poteva recuperare;
- usare 404 quando dovrebbe essere 410: rallenta inutilmente la pulizia dell’indice;
- ignorare gli errori 5xx persistenti: Google riduce il crawl rate e poi deindicizza.
L’errore più subdolo e meno notato è la redirect chain, ovvero una catena di redirect 301 che si susseguono uno dopo l’altro (URL A → URL B → URL C → URL D). Ogni passaggio della catena indebolisce il segnale trasmesso e rallenta il caricamento per l’utente. La regola d’oro è sempre un solo redirect dalla URL originale a quella finale, mai catene.
Quando intervenire e con quale priorità
Visto che gli HTTP status code possono essere molti e la gestione completa richiede tempo, è utile avere un ordine di priorità chiaro per gli interventi. Quello che applico nei progetti di audit tecnico è il seguente.
Priorità massima:
- errori 5xx ricorrenti sulle pagine principali del sito;
- 404 su pagine che avevano traffico significativo o backlink esterni;
- redirect chain con 3 o più passaggi;
- Soft 404 segnalati da Search Console.
Priorità alta:
- 302 usati al posto di 301 nelle migrazioni;
- pagine importanti senza redirect dopo cambi URL;
- manutenzioni gestite senza 503+Retry-After;
- presenza di 410 su pagine che andavano redirette altrove.
Priorità media:
- 404 di pagine senza valore SEO accumulato;
- configurazione del 304 Not Modified su siti di grandi dimensioni;
- gestione strategica dei crawler AI con status code selettivi.
Codici di risposta, crawler e indicizzazione di qualità
Abbiamo visto cosa sono gli HTTP status code e le loro cinque categorie principali (1xx, 2xx, 3xx, 4xx, 5xx), come si distinguono nella pratica i codici di redirect più importanti (301, 302, 307, 308) e perché ognuno ha conseguenze diverse sulla SEO, perché il 304 Not Modified è un alleato sottovalutato del crawl budget, qual è la differenza pratica tra 404 e 410 in termini di velocità di pulizia dell’indice, cosa sono i pericolosi Soft 404, come gestire correttamente le manutenzioni con il 503 e Retry-After, come usare strategicamente gli status code per gestire i crawler AI nel 2026 e come monitorare il tutto con gli strumenti giusti.
Il messaggio chiave è che gli HTTP status code non sono dettagli tecnici, sono il linguaggio con cui il tuo sito comunica con Google e con i motori AI. Servirli correttamente è una di quelle attività SEO meno spettacolari ma con il miglior rapporto sforzo-risultato. Chi li trascura accumula nel tempo problemi che diventano sempre più difficili da risolvere; chi li gestisce bene costruisce un sito tecnicamente solido che premia ogni altro sforzo SEO fatto sopra.