Guida ai Codici di Stato HTTP
SEO Tecnica
  7 min leggi
Guida ai Codici di…
SEO Tester Online
5 Gennaio 2022

Guida ai Codici di Stato HTTP

In questa guida scoprirai i più comuni Codici di Stato HTTP e cosa rivelano su ciò che accade dietro le quinte di un server.

Partiamo dalla loro definizione!

Cosa sono i Codici di Stato HTTP?

Si tratta di messaggi standard che intercorrono tra il client e il server quando questi comunicano tramite il protocollo HTTP (che sta per hypertext transfer protocol).

Ad esempio, quando un client (tu) fa clic su un link o digita un URL nella barra degli indirizzi, non fa altro che inviare una richiesta a un determinato server, chiedendo di trasmettere al proprio browser il contenuto della pagina web che desidera visualizzare.

La “lingua” di questa richiesta è proprio l’HTTP e la risposta che si ottiene dal server è un codice a tre cifre chiamato Codice di Stato HTTP e il contenuto presente in quella sezione.

Come vengono classificati i codici di stato?

I codici di stato HTTP sono suddivisi in 5 “classi”:

  • 100: risposte informative;
  • 200: risposte riuscite;
  • 300: reindirizzare le informazioni;
  • 400: risposte di errore del client;
  • 500: risposte di errore del server.

All’interno di ciascuna di queste classi, esistono diversi codici che possono essere restituiti dal server. Ogni singolo codice ha un significato specifico e unico, che tratteremo nell’elenco più completo che segue!

Prima, però, vediamo se e quanto questi codici influiscono sulla SEO. 

Perché i Codici di Stato HTTP sono importanti per la SEO?

Durante il crawling di un sito web i bot dei motori di ricerca riescono a vedere anche i codici di stato HTTP e da qui percepiscono lo stato di salute di tutte le pagine web.

I codici di livello 100 e 200 non hanno un impatto rilevante sulla SEO e non influiscono sul ranking. Per la maggior parte, sono i codici di livello superiore che contano!

Le risposte di livello 400 e 500, infatti, possono impedire ai bot di effettuare il crawling e quindi di indicizzare le pagine

Un numero eccessivo di questi errori può indicare che il sito non è di buona qualità e determinare delle penalità nel posizionamento.

I codici di livello 300 hanno un rapporto particolare e complicato con la SEO. 

L’aspetto principale da sapere per capire che impatto hanno consiste nel capire la differenza tra redirect permanenti e temporanei.

Quelli permanenti condividono la qualità dei link dai backlink, quelli temporanei no. 

In altre parole, quando si utilizzano redirect temporanei per le pagine spostate, si perde il vantaggio SEO ottenuto grazie alle attività di link building.

Quali codici sono essenziali per la SEO?

Nella SEO alcuni codici sono più importanti di altri, perché possono influenzare il ranking di un sito.

Possiamo ordinarli in tre gruppi:

  • Found

Include solo il codice 200. Indica che la pagina è stata trovata all’URL indicato, come previsto.

  • Redirect

Include i codici 301,302 e 303. Essi indicano che la risorsa è altrove, temporaneamente o permanentemente. La loro corretta attuazione è fondamentale per non incorrere in penalizzazioni.

  • Not found

Un codice di stato HTTP 404 provoca una scansione non uniforme, e quindi il posizionamento dell’intero sito web può soffrirne.

Elenco di Codici di Stato HTTP più comuni

Anche se ci sono più di 40 diversi codici di stato del server, probabilmente ne incontrerete di norma meno di una dozzina. Di seguito, descriviamo i più comuni!

Codici di stato http 100 (risposte informative)

Questi codici ci dicono che il server ha ricevuto la richiesta, e la sta elaborando. La risposta può essere:

  • 100 (continue): il server ha ricevuto l’header della richiesta (le informazioni preliminari). Il client quindi può continuare a inviare il corpo della richiesta (il payload di dati);
  • 101 (switching protocols): il server ha ricevuto la richiesta del client di cambiare protocollo;
  • 102 (processing): il server ha ricevuto la richiesta, ma non può ancora rispondere. È una risposta data per evitare che la connessione vada in timeout.

Codici di stato HTTP 200 (risposte di avvenuto successo)

Le risposte di avvenuto successo iniziano con il numero due. Significano che il server ha ricevuto la richiesta e l’ha accettata:

  • 200 (OK): è la risposta generica di comunicazione avvenuta correttamente;
  • 201 (Created): il server ha creato la risorsa richiesta;
  • 202 (Accepted): il server ha accettato la richiesta, ma sta ancora lavorando per restituire la risposta;
  • 203 (Non-Authoritative information): uguale a 200. Un transformation proxy ha ricevuto la richiesta. Questo, a sua volta, restituisce una risposta modificata;
  • 204 (No Content): il server ha elaborato correttamente la richiesta e non ha restituito alcun contenuto;
  • 205 (Reset Content): uguale a 204. Inoltre, la risposta richiede il reset della visualizzazione del documento da parte del richiedente.
  • 206 (Partial Content): il server restituisce solo una parte della risorsa richiesta dal client. Questo a causa del range header inviato dal client. Il suo ruolo è quello di frazionare un grande download in pacchetti più piccoli, da scaricare simultaneamente;
  • 207 (Multi-Status): si tratta di una risposta a più richieste. Indica che il corpo include i codici di risposta precedenti;
  • 208 (Already Reported): utilizzato nelle risposte DAV. Indica che un precedente codice 207 riporta le singole risposte.

Codici di stato HTTP 300 (redirect)

Questi codici di stato indicano che il server deve eseguire un’azione aggiuntiva per completare la richiesta, come il redirect.

Come abbiamo già detto in precedenza, il redirect è un aspetto molto importante nella SEO

Possiamo impostarlo per dire al browser che una determinata risorsa non è più nell’URL originale. Per esempio, è utile quando una pagina web viene eliminata e si vuole reindirizzare l’utente a una pagina 404.

Un altro esempio molto comune è la modifica della struttura dell’URL o del dominio.

Vediamoli più nello specifico:

  • 300 (Multiple Choices): il client dispone di più opzioni, ad esempio per quanto riguarda il formato in cui scaricare la risorsa richiesta;
  • 301 (Moved permanently): il client deve indirizzare la richiesta (e tutte le richieste future) a un altro URI;
  • 302 (Found): può essere utilizzato per indicare un redirect temporaneo o per indicare al client di cercare un altro URL;
  • 303 (See Other): il client può trovare la risorsa richiesta in un altro URI;
  • 304 (Not Modified): il client possiede già la risorsa richiesta. Il server non è in grado di fornire una versione più aggiornata;
  • 305 (Use Proxy): la risorsa richiesta è disponibile tramite un proxy;
  • 307 (Temporary Redirect): uguale a 302;
  • 308 (Permanent Redirect): uguale a 301.

Codici di stato HTTP 400 (errori client)

Si tratta di un codice che indica un errore riguardante il client, come ad esempio una richiesta non valida, una risorsa richiesta non trovata o una mancanza di privilegi per accedervi.

La risposta deve includere nel suo corpo una spiegazione dell’errore e se è temporanea o permanente. Ecco i codici HTTP 400 più comuni:

  • 400 (Bad Request): il server non è in grado di elaborare la richiesta. Potrebbe essere a causa di un errore di sintassi, dimensione eccessiva o una richiesta non valida;
  • 401 (Unauthorized): il client non può accedere alla risorsa richiesta. L’autenticazione non è riuscita o non è possibile eseguire l’autenticazione;
  • 403 (Forbidden): a differenza di 401, il client si è autenticato, ma il server si rifiuta di elaborarlo comunque;
  • 404 (Not found): il codice di risposta più famoso. Il server non ha trovato la risorsa richiesta. Tuttavia, questa potrebbe essere disponibile in futuro;
  • 405 (Method Not Allowed): il client ha inviato la richiesta utilizzando un metodo non valido. Ad esempio, quando si utilizza un GET ma si dovrebbe usare un POST. Se vuoi saperne di più sui metodi HTTP, ti consigliamo la lettura di questo articolo;
  • 406 (Not Acceptable): il server può generare la risorsa richiesta, ma il formato non è tra quelli accettati dal client;
  • 407 (Proxy Authentication): il client deve autenticarsi con il proxy;
  • 408 (Request Timeout): timeout del server durante l’attesa della richiesta;
  • 409 (Conflict): la richiesta non può essere elaborata a causa di un conflitto in corso tra versioni diverse della stessa risorsa. Può verificarsi quando più client cercano di modificare la stessa risorsa contemporaneamente;
  • 410 (Gone): la risorsa richiesta non è disponibile. A differenza di 404, la risorsa in questione non sarà disponibile nemmeno in futuro;
  • 411 (Length required): la richiesta non contiene un’indicazione della lunghezza del contenuto come previsto dalla risorsa;
  • 412 (Precondition Failed): il server non è in grado di elaborare le richieste. Non possiede uno dei presupposti specificati nella richiesta;
  • 413 (Request Entity Too Large): la richiesta è troppo grande per il server e non può gestirla;
  • 414 (URI Too Long): l’URI contenuto nella richiesta è troppo grande per essere elaborato dal server;
  • 415 (Unsupported Media Type): il client ha richiesto una risorsa in un formato non supportato dal server;
  • 416 (Range Not Satisfiable): il client ha richiesto un frammento di file, ma il server non è in grado di soddisfare la richiesta;
  • 417 (Expectation Failed): il server non è in grado di soddisfare i requisiti contenuti nell’intestazione della richiesta;
  • 418 (I’m a teapot): È un codice-burla della IETF;
  • 420 (Enhance your calm): utilizzato dalle API di Twitter per indicare che il client ha effettuato troppe richieste in lasso di tempo troppo breve;
  • 421 (Misdirected request): il server che ha ricevuto la richiesta non può elaborarla;
  • 422 (Unprocessable Entity): un errore semantico impedisce al server di elaborare la richiesta;
  • 423 (Locked): il client non può accedere alla risorsa perché è bloccata;
  • 426 (Upgrade required): il client deve utilizzare un protocollo di sicurezza più aggiornato;
  • 429 (Too Many Requests): il client ha inviato troppe richieste troppo velocemente;
  • 451 (Not Available for Legal Reasons): il client ha richiesto una risorsa il cui accesso è limitato dalla censura o dalla richiesta di un governo. Il nome potrebbe essere un riferimento a Fahrenheit 451 di Ray Bradbury.

Codici di stato HTTP 500 (errori del server)

Significa che la richiesta del client è corretta, ma il server non può eseguirla. Vediamoli più da vicino:

  • 500 (Internal server error): messaggio di errore generico, errore imprevisto;
  • 501 (Not implemented): il server non è in grado di riconoscere il metodo di richiesta o non è in grado di eseguirla al momento;
  • 502 (Bad Gateway): il server che ha restituito la risposta funge da proxy. Il server in upstream ha inviato una risposta non valida;
  • 503 (Server Unavailable): il server non può soddisfare la richiesta al momento perché è inattivo. Ad esempio, perché è in fase di manutenzione.

Come controllare i Codici di Stato HTTP?

Per monitorare il modo in cui i motori di ricerca percepiscono i codici di stato HTTP è quello di utilizzare il SEO Spider di SEO Tester Online, oppure Google Search Console.

schermata seo spider

Vuoi scoprire come analizzare la SEO del tuo sito? Ti consigliamo la lettura della nostra Guida al SEO Spider.

Facci sapere nei commenti come procede la tua analisi dei codici di stato!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *