In internet sono presenti più di un miliardo di siti web. Se un utente vuole ri­chia­ma­re sul suo browser un sito web specifico, quale l’homepage della sua squadra del cuore, il sito della banca o leggere le sue email, ha bisogno di un indirizzo internet. Così si localizza l’offerta web de­si­de­ra­ta sul server cor­ri­spon­den­te. La tra­smis­sio­ne dei dati richiesti sul computer locale avviene con l’aiuto del pro­to­col­lo di tra­sfe­ri­men­to di un ipertesto (HTTP). Il browser (in questo caso si chiama client) invia una richiesta al server web che risponde con un codice di stato http co­sti­tui­to da una serie di numeri a tre cifre.

Tramite questo messaggio, il server web comunica al browser se la richiesta è stata com­ple­ta­ta, se è so­prag­giun­to un errore o se è ne­ces­sa­ria un’au­ten­ti­ca­zio­ne. Il codice di stato http è una parte es­sen­zia­le del messaggio del server web che viene au­to­ma­ti­ca­men­te aggiunta dal server all’header di ogni risposta http. Un utente riceve ge­ne­ral­men­te i codici di stato http solo sotto forma di una pagina html generata au­to­ma­ti­ca­men­te, nel caso in cui il server web non possa eseguire la richiesta del client o non sia stato possibile inviare i dati di un sito.

Categorie degli stati http

I codici di stato http si dividono ge­ne­ral­men­te in cinque categorie, nelle quali le prime cifre del codice indicano l’ap­par­te­nen­za ad una categoria. Così il codice di stato http 200 fa parte della categoria 2xx, mentre il codice 404 di quella 4xx. Questa clas­si­fi­ca­zio­ne viene fatta in base al si­gni­fi­ca­to e alla funzione dei codici di stato. Si distingue in:

  • Categoria 1xx – in­for­ma­ti­va: nel caso in cui venga co­mu­ni­ca­to un codice di stato http della categoria 1xx, il server risponde al client che la richiesta è ancora in corso. Rientrano in questa categoria i codici che inviano in­for­ma­zio­ni da elaborare e che ri­spon­do­no mentre la richiesta è in corso.
  • Categoria 2xx – successo: un codice 2xx comunica che un’ope­ra­zio­ne è andata a buon fine. Se viene inviato un codice 2xx, vuol dire che il server ha ricevuto, elaborato e accettato la richiesta del client. Quindi i codici 2xx vengono inviati spesso in con­tem­po­ra­nea con i dati richiesti del sito. Ge­ne­ral­men­te l’utente non si accorge di niente e vi­sua­liz­za solo la pagina web richiesta.
  • Categoria 3xx – rein­di­riz­za­men­to: il codice 3xx indica che la richiesta è stata ricevuta dal server. Per as­si­cu­rar­si una corretta ela­bo­ra­zio­ne, sono necessari altri passaggi lato client. I codici 3xx si ri­scon­tra­no so­prat­tut­to nel caso di inoltri e rein­di­riz­za­men­ti.
  • Categoria 4xx – errore del client: se compare un codice 4xx, si tratta di un errore del client. Il server ha ricevuto la richiesta, ma non può eseguirla, ge­ne­ral­men­te a causa di una richiesta errata. Di solito agli utenti viene segnalato questo tipo di errore tramite la creazione au­to­ma­ti­ca di una pagina html.
  • Categoria 5xx – errore del server: con il codice 5xx si indica un errore del server im­pu­ta­bi­le al server stesso. Errori di questo tipo segnalano che la richiesta ef­fet­tua­ta non è mo­men­ta­nea­men­te ese­gui­bi­le o non è ad­di­rit­tu­ra possibile. Anche in questo caso viene ge­ne­ral­men­te creata una pagina di errore html.

Pa­no­ra­mi­ca dei codici di stato http più im­por­tan­ti

I codici di stato http ricoprono un ruolo fon­da­men­ta­le per i gestori dei siti o per gli spe­cia­li­sti SEO. Gli errori che compaiono agli utenti sono so­prat­tut­to i codici di errore del client come il 404 (Not Found) o gli errori del server come il 503 (Service Una­vai­la­ble) che spesso sono vi­sua­liz­za­ti sul browser come pagine html create au­to­ma­ti­ca­men­te. Ma ne esistono anche molti altri che non sono visibili im­me­dia­ta­men­te e che possono essere con­trol­la­ti dagli am­mi­ni­stra­to­ri solo tramite strumenti speciali ed esten­sio­ni del browser. È im­por­tan­te de­ter­mi­na­re l’errore e ri­sol­ver­lo per con­sen­ti­re una migliore na­vi­ga­bi­li­tà al vi­si­ta­to­re del sito e per ot­ti­miz­za­re la propria posizione sui motori di ricerca. La lista seguente mostra alcuni dei codici di risposta più comuni. Per ulteriori in­for­ma­zio­ni si rimanda alla pagina espli­ca­ti­va di HTML.

  • Codice di stato 200 – OK: il codice di stato http 200 indica che la richiesta è andata a buon fine. Tutti i dati richiesti sono stati lo­ca­liz­za­ti sul server web e trasmessi al client. Nor­mal­men­te gli utenti non vi­sua­liz­za­no questo codice.
  • Codice di stato 301 – Moved Per­ma­nen­tly: il codice 301 significa che i dati richiesti dal client non si trovano più all’indirizzo ri­chia­ma­to, ma sono invece stati spostati per­ma­nen­te­men­te. Visto che la posizione attuale dei contenuti richiesti può essere inclusa nello stato, il browser rein­di­riz­za au­to­ma­ti­ca­men­te gli utenti al nuovo indirizzo e quello vecchio non è più valido.  Anche il codice 301 non viene visto dall’utente, dato che viene sem­pli­ce­men­te cambiato l’URL sulla barra degli indirizzi.
  • Codice di stato 302 – Moved Tem­po­ra­ri­ly: Al contrario dello stato 301, che indica un tra­sfe­ri­men­to per­ma­nen­te, il codice 302 comunica che i dati richiesti sono rag­giun­gi­bi­li tem­po­ra­nea­men­te ad un altro indirizzo. Anche per l’errore 302 viene co­mu­ni­ca­to dove si trovano le in­for­ma­zio­ni richieste cosicché si venga rein­di­riz­za­ti au­to­ma­ti­ca­men­te. Il vecchio indirizzo rimane però valido. 
  • Codice di stato 403 – Forbidden: il codice di stato 403 segnala al client che l’accesso ai dati richiesti è protetto e che la richiesta non può essere eseguita per via di un’au­to­riz­za­zio­ne mancante del client. Ge­ne­ral­men­te, questo problema di accesso viene co­mu­ni­ca­to all’utente tramite la vi­sua­liz­za­zio­ne di una pagina HTML generata au­to­ma­ti­ca­men­te.
  • Codice di stato 404 – Not found: Se si riceve la risposta del server 404, i dati richiesti della pagina non sono stati trovati sul server. Ge­ne­ral­men­te, il sito web non esiste più o i contenuti sono stati tra­sfe­ri­ti senza co­mu­ni­ca­re il nuovo indirizzo. Gli utenti che ricevono un errore 404 do­vreb­be­ro con­trol­la­re se hanno inserito l’indirizzo corretto sulla barra degli indirizzi. I link che rimandano a pagine non più esistenti sono chiamati “link morti”.
  • Codice di stato 500 – Internal Server Error: La risposta del server 500 funge da codice di stato di rag­grup­pa­men­to per errori ina­spet­ta­ti del server. Se si riscontra un problema lato server che impedisce di ri­chia­ma­re i dati richiesti, verrà re­sti­tui­to au­to­ma­ti­ca­men­te questo codice di stato. Oltre alla risposta al client, il server web genera so­li­ta­men­te un pro­to­col­lo interno di errore che deve essere ana­liz­za­to dai gestori dei siti per ef­fet­tua­re le ri­pa­ra­zio­ni ne­ces­sa­rie al software del server.
  • Codice di stato 503 – Service Una­vai­la­ble: Se l’utente vi­sua­liz­za un codice 503 significa che il server web cor­ri­spon­den­te che dovrebbe inviare le in­for­ma­zio­ni richieste è so­vrac­ca­ri­co. A volte la risposta del server contiene in­for­ma­zio­ni che spe­ci­fi­ca­no quando la richiesta potrà essere rie­la­bo­ra­ta. In ogni caso, gli utenti possono stare tran­quil­li: l’am­mi­ni­stra­to­re sta già lavorando al problema e il server sarà di nuovo di­spo­ni­bi­le a breve.

Come si com­por­ta­no i gestori dei siti web con i codici di stato http?

Per offrire ai vi­si­ta­to­ri un’espe­rien­za di na­vi­ga­zio­ne ottimale, gli am­mi­ni­stra­to­ri devono fare in modo di ridurre al minimo le pagine di errore HTML generate au­to­ma­ti­ca­men­te. Ciò vale so­prat­tut­to per i siti web di grandi di­men­sio­ni, gli e-commerce e i portali di notizie, dove l’as­sor­ti­men­to e le in­for­ma­zio­ni offerte variano no­te­vol­men­te.  Se la pagina è scomparsa, il vi­si­ta­to­re che cerca di accedere ai contenuti riceve ge­ne­ral­men­te un codice di stato 404 (Not Found). Per questo motivo molti utenti lasciano la pagina e cercano le in­for­ma­zio­ni o i prodotti de­si­de­ra­ti su altri siti, spesso su quelli dei diretti con­cor­ren­ti. È quindi nell’interesse dei gestori dei siti web prendere le misure adeguate per far rimanere gli utenti sulla pagina.

Al­tret­tan­to intensi sono gli sforzi degli am­mi­ni­stra­to­ri nell’iden­ti­fi­ca­zio­ne degli errori 404 sul sito. Per questo ci sono ad es. i Webmaster Tools di Google con i quali è possibile vi­sua­liz­za­re il rapporto di errori di scansione per i siti web e risolvere fa­cil­men­te il codice di stato 404, im­po­stan­do gli inoltri necessari. In più, creando delle pagine di errore per­so­na­liz­za­te, si evita che i vi­si­ta­to­ri decidano di non tornare più sul sito.

Rein­di­riz­za­re pagine di errore 404 su offerte al­ter­na­ti­ve tramite codice 301

Nel caso venisse iden­ti­fi­ca­ta una pagina eliminata, si consiglia di impostare un inoltro a contenuti simili tramite il codice di stato 301 (Moved Per­ma­nen­tly). Il vi­si­ta­to­re di una pagina non trova il prodotto o le in­for­ma­zio­ni richieste, ma pro­po­nen­do dei contenuti al­ter­na­ti­vi viene in­co­rag­gia­to a rimanere sulla pagina. Im­por­tan­te è che l’indirizzo al­ter­na­ti­vo sia collegato alla richiesta ori­gi­na­ria e che offra al vi­si­ta­to­re un valore aggiunto. Teo­ri­ca­men­te le pagine 404 si possono rein­di­riz­za­re tramite il codice 301, ad es. all’homepage. Chi sceglie per l’inoltro landing page per­so­na­liz­za­te, riuscirà ef­fi­ca­ce­men­te a far rimanere il vi­si­ta­to­re sulla pagina.

Pagine di errore al­ter­na­ti­ve mi­glio­ra­no la na­vi­ga­bi­li­tà sul sito per gli utenti

Anche con una buona ma­nu­ten­zio­ne della pagina, non è sempre possibile evitare gli errori 404. Quindi si consiglia di inserire degli avvisi per­so­na­liz­za­ti piuttosto che uti­liz­za­re quelli generati au­to­ma­ti­ca­men­te dal server tramite il file di con­fi­gu­ra­zio­ne .htaccess. Gli avvisi al­ter­na­ti­vi 404 vanno ge­ne­ral­men­te adattati al design del sito e possono offrire spesso, oltre al codice di stato, altre in­for­ma­zio­ni come pagine di prodotti simili o una lista con le offerte attuali. In che modo i gestori dei siti integrino pagine di errore al­ter­na­ti­ve viene spiegato det­ta­glia­ta­men­te nell’articolo “I dieci migliori trucchi per .htaccess”.

Il si­gni­fi­ca­to degli stati di codice per l’ot­ti­miz­za­zio­ne sui motori di ricerca

Alcuni codici di stato HTTP ricoprono anche nell’ot­ti­miz­za­zio­ne per i motori di ricerca un ruolo im­por­tan­te. Infatti, il codice 404 per esempio non comunica solo al browser di un utente che la pagina richiesta non è stata trovata; anche i motori di ricerca non possono scan­sio­na­re il suo contenuto e, proprio come i vi­si­ta­to­ri reali, anche i bot dei motori di ricerca vengono rimandati tramite rein­di­riz­za­men­to ai contenuti di una nuova de­sti­na­zio­ne. Per motivi di ot­ti­miz­za­zio­ne SEO è opportuno qui uti­liz­za­re un codice di stato 301, utile per mantenere i link forti. Qualora i crawler di un motore di ricerca tro­vas­se­ro, scan­sio­nan­do la pagina, un codice di stato 301, lo con­si­de­re­reb­be­ro come un vecchio indirizzo non più valido da can­cel­la­re dall’indice di ricerca e da so­sti­tui­re con la nuova de­sti­na­zio­ne di inoltro.

In questo caso i link forti che rimandano alla vecchia pagina non vengono persi, ma vengono tra­sfe­ri­ti sulla de­sti­na­zio­ne di rein­di­riz­za­men­to 301. È so­prat­tut­to rilevante che la vecchia pagina venga tra­sfe­ri­ta per­ma­nen­te­men­te alla de­sti­na­zio­ne di inoltro, man­te­nen­do l’autorità acquisita e il suo PageRank, conferiti dai link in entrata. Avviene invece di­ver­sa­men­te con il codice di stato 302. Dato che indica solo un inoltro tem­po­ra­neo, il vecchio indirizzo rimane nell’indice. In questo caso la forza dei link di eventuali backlink non viene tra­sfe­ri­ta alla de­sti­na­zio­ne di inoltro.

Vai al menu prin­ci­pa­le