Home/ Wiki/ Siti Web/ Errori HTTP

Errori HTTP Comuni

Tutti gli status code HTTP che devi conoscere: cosa significano, perché si verificano, come risolverli e quale impatto hanno sulla SEO del tuo sito.

Indice dei contenuti
Aggiornato: Aprile 2026 9 min di lettura

Panoramica degli status code

Ogni volta che un browser richiede una risorsa a un server web, la risposta include un codice di stato HTTP (status code) a tre cifre. Questo codice comunica immediatamente l'esito della richiesta: successo, redirect, errore del client o errore del server.

Conoscere gli status code è fondamentale per chi lavora nel web development, nella SEO e nella gestione di siti web. Ogni codice ha implicazioni specifiche sull'esperienza utente e sull'indicizzazione.

"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.

CodiceNomeSignificato
100ContinueIl server ha ricevuto gli header e il client può inviare il body.
200OKLa richiesta ha avuto successo. È la risposta standard per le pagine caricate correttamente.
201CreatedLa richiesta ha portato alla creazione di una nuova risorsa (tipico nelle API REST).
204No ContentSuccesso, 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.

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.
Errore comune: usare un 302 quando serve un 301. Se la pagina è stata spostata definitivamente, il 302 impedisce il trasferimento del valore SEO e mantiene l'URL vecchio nell'indice di Google.

Codici 4xx (errori client)

I codici 4xx indicano che il problema è nella richiesta inviata dal client (browser).

CodiceNomeCausaSoluzione
400Bad RequestSintassi della richiesta non valida, parametri erratiVerificare URL, parametri e formato dei dati inviati
401UnauthorizedAutenticazione richiesta ma non fornita o non validaFornire credenziali corrette, verificare token API
403ForbiddenIl server rifiuta la richiesta nonostante l'autenticazioneVerificare permessi file/cartelle, regole .htaccess
404Not FoundLa risorsa richiesta non esisteVerificare l'URL, impostare redirect 301 o pagina 404 personalizzata
405Method Not AllowedIl metodo HTTP usato non è supportato per quella risorsaUsare il metodo corretto (GET, POST, PUT, DELETE)
429Too Many RequestsTroppe 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.

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.
503 e SEO: durante la manutenzione programmata, restituire un 503 con l'header 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

Gli status code influenzano direttamente il modo in cui Google indicizza e valuta il tuo sito:

  • 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.

Monitorare regolarmente gli status code con Google Search Console è una pratica fondamentale per ogni strategia SEO.

Come diagnosticare gli errori

Strumenti utili per identificare e monitorare gli errori HTTP:

  • 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/pagina mostra gli header di risposta incluso lo status code.

Prevenzione e best practice

Per minimizzare gli errori HTTP e i loro effetti negativi:

  1. Implementa redirect 301 per tutte le URL che cambiano durante redesign o migrazioni.
  2. Crea una pagina 404 personalizzata con navigazione, ricerca e suggerimenti di contenuti.
  3. Monitora regolarmente gli status code con Google Search Console e strumenti di crawling.
  4. Testa prima del deploy: verifica che tutte le pagine restituiscano 200 prima di andare in produzione.
  5. Configura alert automatici per errori 5xx, in modo da intervenire rapidamente.

Evitare errori nel codice e nella struttura del sito richiede anche buone pratiche di web design e una gestione professionale del codice con Git.