Le cinque famiglie
Ogni volta che un browser chiede qualcosa a un server, nella risposta c'è un codice di stato HTTP di tre cifre che dice com'è andata: bene, ti sposto altrove, hai sbagliato tu, ho sbagliato io. Sono un centinaio e quelli da conoscere sono una decina.
Punti chiave
- Gli status code HTTP si dividono in cinque famiglie: 1xx informativi, 2xx successo, 3xx redirect, 4xx errori client, 5xx errori server.
- Il codice indicato influenza direttamente SEO e indicizzazione: un 301 trasferisce il valore della pagina, un 302 no.
- Il 404 segnala risorse inesistenti; troppi 404 e 5xx riducono il crawl budget e la fiducia di Google.
- Strumenti come Google Search Console, Chrome DevTools, Screaming Frog e
curl -Ipermettono di diagnosticare ogni risposta. - La prevenzione passa da redirect 301 corretti, pagina 404 personalizzata, monitoraggio continuo e alert sugli errori 5xx.
Servono a chi sviluppa e a chi si occupa di SEO, perché ogni codice ha una conseguenza diversa su come Google tratta quella pagina: un 301 passa il valore alla nuova pagina, un 302 no, un 404 la fa uscire dall'indice, un 500 ripetuto convince Google che il sito non è affidabile.
"Uno status code non è solo un numero tecnico: è il primo segnale che il tuo server invia al mondo su come sta funzionando il sito."
Codici 1xx e 2xx (successo)
I codici 1xx sono informativi e raramente visibili all'utente. I codici 2xx indicano che la richiesta è stata elaborata con successo.
| Codice | Nome | Significato |
|---|---|---|
| 100 | Continue | Il server ha ricevuto gli header e il client può inviare il body. |
| 200 | OK | La richiesta ha avuto successo. È la risposta standard per le pagine caricate correttamente. |
| 201 | Created | La richiesta ha portato alla creazione di una nuova risorsa (tipico nelle API REST). |
| 204 | No Content | Successo, ma nessun contenuto da restituire (es. dopo un DELETE). |
Il codice 200 OK è ciò che ogni pagina del tuo sito dovrebbe restituire ai motori di ricerca per le URL valide. Un errore frequente nei progetti gestiti senza attenzione tecnica è restituire un 200 anche su pagine vuote o inesistenti (i cosiddetti soft 404): Google le indicizza come valide, sprecando crawl budget e diluendo la qualità percepita del dominio. Verifica sempre con strumenti di crawling che le pagine importanti rispondano davvero 200 e che gli errori restituiscano il codice corretto.
Codici 3xx (redirect)
I codici 3xx indicano che la risorsa è stata spostata e il browser deve seguire un reindirizzamento.
- 301 Moved Permanently: la risorsa è stata spostata in modo permanente al nuovo URL. I motori di ricerca trasferiscono il valore SEO (link equity) alla nuova pagina. È il redirect da usare per migrazioni e cambi di URL.
- 302 Found (Temporary Redirect): redirect temporaneo. I motori di ricerca continuano a indicizzare l'URL originale. Usalo solo per spostamenti effettivamente temporanei (es. manutenzione).
- 304 Not Modified: la risorsa non è cambiata dall'ultima richiesta. Il browser usa la versione in cache, risparmiando banda.
- 307/308: equivalenti rispettivamente di 302 e 301, ma preservano il metodo HTTP della richiesta originale.
Codici 4xx (errori client)
I codici 4xx indicano che il problema è nella richiesta inviata dal client (browser).
| Codice | Nome | Causa | Soluzione |
|---|---|---|---|
| 400 | Bad Request | Sintassi della richiesta non valida, parametri errati | Verificare URL, parametri e formato dei dati inviati |
| 401 | Unauthorized | Autenticazione richiesta ma non fornita o non valida | Fornire credenziali corrette, verificare token API |
| 403 | Forbidden | Il server rifiuta la richiesta nonostante l'autenticazione | Verificare permessi file/cartelle, regole .htaccess |
| 404 | Not Found | La risorsa richiesta non esiste | Verificare l'URL, impostare redirect 301 o pagina 404 personalizzata |
| 405 | Method Not Allowed | Il metodo HTTP usato non è supportato per quella risorsa | Usare il metodo corretto (GET, POST, PUT, DELETE) |
| 429 | Too Many Requests | Troppe richieste in poco tempo (rate limiting) | Ridurre la frequenza delle richieste, rispettare i limiti dell'API |
Il 404 Not Found è l'errore più comune e visibile. Una pagina 404 personalizzata e utile migliora l'esperienza utente e riduce il bounce rate: invece di lasciare l'utente in un vicolo cieco, offri un menu di navigazione, un campo di ricerca e i link ai contenuti più visitati. Distingui sempre il 404 (la risorsa non esiste) dal 403 (esiste ma l'accesso è vietato) e dal 401 (serve autenticazione): confonderli genera diagnosi sbagliate e tempi di risoluzione più lunghi, soprattutto quando lavori con automazioni o integrazioni AI che leggono le risposte HTTP per decidere come comportarsi.
Codici 5xx (errori server)
I codici 5xx indicano che il server non è riuscito a completare una richiesta valida. Sono i più critici perché segnalano problemi infrastrutturali.
- 500 Internal Server Error: errore generico del server. Cause comuni: errori nel codice PHP/Python, permessi file errati, file .htaccess corrotto, memoria esaurita. Controllare i log del server per la causa specifica.
- 502 Bad Gateway: il server che funge da gateway o proxy ha ricevuto una risposta non valida dal server upstream. Spesso legato a problemi di configurazione NGINX/Apache o al backend applicativo che non risponde.
- 503 Service Unavailable: il server è temporaneamente non disponibile, di solito per sovraccarico o manutenzione. È l'unico errore 5xx che Google considera esplicitamente temporaneo.
- 504 Gateway Timeout: il server upstream non ha risposto in tempo. Cause: query database lente, API esterne non raggiungibili, timeout configurati troppo bassi.
Retry-After dice a Google di tornare più tardi senza penalizzare il sito. Non usare mai un 200 su una pagina di manutenzione.
Impatto SEO degli status code
Come incidono sul posizionamento:
- 200: la pagina viene indicizzata normalmente.
- 301: il valore SEO viene trasferito al nuovo URL (con una minima perdita fisiologica).
- 302: l'URL originale resta nell'indice; il valore SEO non viene trasferito.
- 404: dopo un certo periodo, la pagina viene rimossa dall'indice. Troppi 404 possono segnalare scarsa qualità del sito.
- 5xx: errori persistenti portano Google a ridurre il crawl budget e, nel tempo, a deindicizzare le pagine coinvolte.
Vale la pena guardare gli errori in Search Console una volta al mese: è lì che si scoprono i 404 nati da un link scritto male e i 500 sporadici che nessuno ha segnalato.
Come diagnosticare gli errori
Gli strumenti per trovarli:
- Google Search Console: segnala errori di scansione (404, 5xx) e problemi di indicizzazione.
- Chrome DevTools (tab Network): mostra lo status code di ogni richiesta in tempo reale.
- Screaming Frog: effettua un crawl completo del sito e identifica tutti gli errori.
- Log del server: il file access.log e error.log contengono informazioni dettagliate su ogni richiesta.
- curl:
curl -I https://esempio.it/paginamostra gli header di risposta incluso lo status code.
La logica di diagnosi parte sempre dalla famiglia del codice: un 4xx ti dice di guardare la richiesta (URL, parametri, autenticazione), mentre un 5xx ti porta dritto ai log del server e all'infrastruttura. Incrocia più fonti, perché un errore intermittente che non compare in DevTools può emergere chiaramente nei log o nel crawl periodico di Screaming Frog. Nel lavoro quotidiano, salvare i comandi curl ricorrenti e impostare un crawl programmato ti fa risparmiare ore di troubleshooting.
Come si prevengono
Come si riduce il danno:
- Implementa redirect 301 per tutte le URL che cambiano durante redesign o migrazioni.
- Crea una pagina 404 personalizzata con navigazione, ricerca e suggerimenti di contenuti.
- Monitora regolarmente gli status code con Google Search Console e strumenti di crawling.
- Testa prima del deploy: verifica che tutte le pagine restituiscano 200 prima di andare in produzione.
- Configura alert automatici per errori 5xx, in modo da intervenire rapidamente.
Molti di questi errori nascono a monte, quindi si prevengono con buone abitudini di progettazione e tenendo il codice sotto Git, che ti permette di tornare indietro quando un rilascio comincia a restituire 500.
Vuoi imparare ad applicarlo davvero?
Scopri i corsi e la formazione di Federico Boggia su AI, dati e digitale.