BLOG

Come leggere gli Status Code ed interpretare gli errori

Luca Mainieri | | Tempo di lettura: 8 minuti
Codici Di Stato Http Errori

Un sito web è come un’automobile, ha bisogno di attenzioni e più controlli periodici si fanno, migliori saranno resa e durata. Per comprendere bene scansione, indicizzazione e, più in generale, lo stato di salute di un sito web dobbiamo imparare a leggere i codici di stato HTTP e parlare la loro stessa lingua. 

Attraverso l’analisi degli Status Code possiamo individuare errori e capire la loro natura (ad esempio i 404 e i 503) oltre ad applicare delle strategie correttive per la salvaguardia del posizionamento sui motori di ricerca.

Il client chiama, il server risponde: scopriamo gli Status Code 

Semplificando al massimo, Internet è un ambiente virtuale in cui avvengono relazioni continue tra due attori, client e server. Con il termine client facciamo riferimento al browser che usiamo per navigare, a prescindere da dispositivo e tecnologia. D’altro canto, definiamo come server l’hardware, la macchina dove è ospitato il sito web.

Infografica della Relazione tra Client e Server

Client e browser sono accomunati dal fatto di possedere una propria carta d’identità digitale ovvero l’indirizzo IP. Facciamo un esempio, se provassi a digitare dal tuo browser (client) 216.58.214.78 sulla barra degli indirizzi atterresti sulla homepage di Google (server), lo sai perché? Google.com è il dominio ovvero la trasposizione letterale di uno specifico IP.  

Tutto questo preambolo ci serve per poter definire i codici di stato HTTP come una conversazione a due, fra client e server. Così quando visitiamo un certo url il nostro browser non fa altro che richiedere l’insieme di risorse che compongono quella pagina. Di qualunque tipo siano (HTML, CSS, Immagini, Javascript) vale sempre lo stesso principio: quando il browser fa una richiesta, il server dà una risposta

Arrivando al punto, quando il browser effettua la richiesta al web server, questo invia la risorsa insieme a un set di informazioni ovvero l’intestazione HTTP (HTTP Header). Il linguaggio usato viene chiamato protocollo HTTP che è unico e valido a livello globale, infatti i codici di stato HTTP sono standard in quanto vengono definiti dal consorzio W3C.

un esempio di come viene compilato un HTTP Header

Che cosa sono i codici di stato HTTP e come leggerli

Chiamiamo codice di stato HTTP la risposta del server ad una certa richiesta del browser. In poche parole, quando tentiamo di accedere ad una determinata pagina, il nostro browser invia una richiesta al web server che, a sua volta, risponderà con un codice numerico di tre cifre utile a definire l’esito della richiesta.

Ecco, lo status code serve proprio a comunicare se la risorsa richiesta dal client al server è disponibile oppure no e il perché. Il tutto sintetizzato nei tre numeri riportati codice di stato (es 404). Il primo numero (4) è quello più importante perché dà subito un’informazione essenziale, l’esito della richiesta:

  • 1xx, 2xx, 3xx: la richiesta può essere soddisfatta;
  • 4xx e 5xx: la richiesta è fallita a causa di errori.

Come (e dove) trovare gli Status Code: tutti gli Strumenti

Ogni browser ormai è dotato di una funzione ispeziona con cui possiamo svolgere diverse attività di analisi come accedere alla tab network. In questa sezione possiamo verificare se le risorse necessarie per il rendering della pagina vengono scaricate. Da Google Chrome, basta aprire la pagina da analizzare, tasto destro ispeziona (o in alternativa CTRL + Maiusc + I), spostarsi sulla tab network. Dopo che avrai scrollato l’intera pagina visualizzerai tutte le risorse con i relativi status code.

Schermata Esempio Codice Stato Http, accessibile dal browser Chrome nella tab Network da Ispeziona

Per fare prima e se il focus sono le risorse di tipo HTML, possiamo installare una delle estensioni SEO per Google Chrome come Link Redirect Tracer. In questo modo otteniamo tutte le informazioni che ci servono in un baleno, come ad esempio la presenza di redirect e eventuali catene.

schermata estensione SEO Link Redirect Trace

Devi sapere che il team sviluppo di Neting ha creato in passato un tool online gratuito per la verifica degli Status Code ovvero il Controlla Redirect Server. Basta dare in pasto allo strumento un determinato URL per conoscere il suo codice di stato.

Schermata Tool Neting Redirect Checker

Anche su Google Search Console è presente una funzione per rilevare l’header HTTP di una certa pagina. Per avere una visione d’insieme, osserva la sezione Copertura dove vengono elencate le pagine valide, quelle che rispondono con Status 200, e le pagine escluse dove vengono riportati gli errori a livello client e server. Se hai bisogno di verificare lo status code di una pagina allora devi usare la funzione controllo URL.

schermata esito controllo url Google Search Console

La voce da considerare è Recupero Pagina (page fetch sulla versione inglese) e verificare l’esito riportato, in caso di errori viene descritta anche la tipologia.

Non è possibile scrivere un articolo di SEO tecnica senza citare lo strumento principe, Screaming Frog. La rana urlante ci permette di fare un’ecografia al nostro sito web e scovare in modo puntuale le trappole per gli spider ed errori che intaccano il posizionamento organico. La tab da consultare è l’omonima Response Code.

Schermata Screaming Frog Status Code

Le tipologie di Codici di Stato

Esistono 5 classi di status code che forniscono queste indicazioni:

  • 1xx: Informational Response, il server sta processando la richiesta;
  • 2xx: Success Response, la richiesta è stata completata con successo;
  • 3xx: Redirect Response, sono necessarie ulteriori azioni come una redirezione per poter completare la richiesta;
  • 4xx: Client Error, la richiesta è stata inoltrata ma la pagina non può essere raggiunta a causa di errori o perché non esiste;
  • 5xx: Server Error, la richiesta del client è valida ma non può essere completata dal server.

Entriamo adesso nel vivo analizzando gli status code più ricorrenti ed utili per le analisi SEO. Ad esempio, non tratteremo gli status code HTTP 1xx perché sono molto rari. 
Merita invece di essere citato a parte il famigerato errore di tipo 418 che incombe con il pericoloso messaggio I’m a teapot! Niente panico, è solo uno scherzo nerd del 1998 e per di più, ogni tanto viene rispolverato da Google come Easter Egg. Su Wayback Machine abbiamo addirittura scovato un ingegnoso tentativo di spiegazione illustrata per l’errore teiera.

Errore 418 Teapot

200: Status OK

Otteniamo un codice di stato 200 quando la risorsa richiesta dal client è disponibile ed erogata con successo dal server. Di vitale importanza è assicurarsi che tutte le pagine del proprio sito, o quantomeno quelle più strategiche, rispondano con status 200. Solo così abbiamo garanzia che la pagine siano raggiungibili e quindi indicizzabili dai crawler. Insomma, lo status 200 è il segnale che sta filando tutto liscio.

Occhio ai falsi amici! Esiste uno status code chiamato soft 404 che si verifica quando vediamo rispondere come 200 una pagina che non dovrebbe esistere. Di solito sono pagine vuote o con contenuti scarsi, queste sono nocive perché erodono il crawl budget.

301: Moved permanently

Il server risponde con uno status 301 quando il contenuto dell’URL richiesto è stato trasferito in modo definitivo su un nuovo url. Tienilo stampato bene in mente, il Redirect 301 è in grado di passare gran parte della link juice. Alcuni esempi tipici di utilizzo massivo di 301 sono la migrazione da HTTP ad HTTPS e il restyling di un sito web, casi in cui un’impostazione corretta dei redirect ci protegge da eventuali crolli di traffico.

Nel caso volessimo rimuovere un Url e spostare tutto il contenuto contenuto su uno nuovo a fronte di un cambio di struttura, occorre effettuare una redirezione di tipo 301. In caso contrario il vecchio URL risponderà con un errore 404 e la nuova pagina farà fatica a posizionarsi. Infine, il 301 è una delle soluzioni per sistemare i contenuti duplicati.

302: Moved temporarily

Come ci insegna John Mu, un 301 è per sempre! Per questo motivo se il trasferimento di un contenuto è di natura temporanea la procedura corretta è quella di restituire uno Status Code 302.

il Tweet di John Muller sui redirect 301

A differenza della soluzione precedente, il Redirect 302 non passa link juice: in questo modo l’url di partenza non perderà segnali di popolarità e rilevanza, mantenendo così il suo posizionamento. Attenzione, se il 302 rimane in vita più tempo del dovuto potrebbe essere interpretato come un 301 dai crawler.

401: Unauthorized

Superate le classi 1XX e 2XX, entriamo a piedi pari nel mondo degli errori. Il primo che vedremo è lo codice di stato 401 che descrive il caso di autentificazione fallita: la pagina richiesta dal client richiede l’inserimento di username e password oppure quando viene negato l’accesso a determinati indirizzi IP. La classica soluzione che usiamo per proteggere l’ambiente di sviluppo dai tentativi di indicizzazione da parte dei crawler.

403: Forbidden

L’errore 403 indica che è proibito fare richiesta di un certo URL. Una misura di sicurezza che adottiamo in modo permanente per contrastare comportamenti anomali adottati dai crawler. Inoltre è lo status code restituito quando l’utente sbaglia le credenziali. Citiamo anche lo Status 429 Too many requests che condivide lo stesso scopo ma che ha una natura temporanea.

404: Not Found

Eccoci arrivati allo status code più famoso. L’errore 404 segnala che la risorsa richiesta non può essere trovata. E’ la pagina su cui atterriamo ad esempio quando clicchiamo su un link rotto, il che succede spesso quando rimuoviamo una pagina e ci dimentichiamo di modificare i link interni che puntavano a quella.

Ancora abbiamo un 404 quando, digitando un indirizzo sulla barra, compiamo un errore di battitura nell’url path ovvero la parte che segue il dominio. Per questo motivo quando ci imbattiamo in un 404 non vuol dire per forza che la risorsa richiesta sia effettivamente esistita. Per quello, esiste l’errore 410.

Sfatiamo un mito SEO, gli errori 404 non sono il male assoluto in quanto rappresentano la quotidianità e sono anche utili. Pensa alla frustrazione se, al posto del 404, venissi redirezionato in una pagina non pertinente con quello che stavi cercando. A livello di user experience, una buona abitudine è quella di personalizzare la pagina 404

esempio pagine 404 personalizzata di Discogs

410: Gone

L’errore 410 indica la rimozione permanente di un URL, quindi è una dichiarazione esplicita che quell’url è esistito ma non esisterà più. Applichiamo un 410 quando dobbiamo cancellare in modo definitivo un URL dalla SERP in quanto si tratta di un segnale più forte rispetto ad un 404.

451: Unavailable for Legal Reasons

Otteniamo un errore 451 quando l’URL non è raggiungibile per motivi legali. Lo troviamo spesso ad esempio nei siti di torrent e di streaming pirata. In ogni caso, la risposta ricevuta dovrebbe essere accompagnata il motivo per cui la risorsa non è disponibile, menzionando legislazione e regole infrante. Piccola curiosità, Il numero scelto per questo codice di stato è un tributo a Fahrenheit 451, capolavoro distopico di Ray Bradbury.

500: Internal Server Error

Otteniamo un codice di stato o errore 500 quando il server ha avuto problemi nel processamento della richiesta ma non è stato possibile sapere cosa è andato storto nello specifico.

503: Service Unavailable

Un errore di tipo 503 comunica che il server è temporaneamente irraggiungibile e tornerà disponibile riprovando in un secondo momento. Capita in caso di sovraccarico del server oppure durante attività di manutenzione gestite male.

Esattamente come accade per i codici di stato di tipo 429, Google potrebbe anche rimuovere dai risultati di ricerca le pagine che restituiscono un codice di stato 503 per lungo tempo.

Status Code: Ecco cosa abbiamo imparato 

Siamo sinceri, è facile fare confusione nella giungla dei codici di stato. In questo articolo abbiamo in effetti trattato solo quelli più frequenti e che hanno un forte impatto sulla SEO. Se vuoi approfondire, potresti controllare l’elenco completo della guida per Developer di Mozilla.

Secondo la nostra esperienza, è di vitale importanza avere la padronanza di questi Status Code:

  • 200 OK;
  • 301 Moved permanently;
  • 302 Found / Moved temporarily;
  • 404 Not Found;
  • 410 Gone;
  • 503 Service Unavailable.

Fra i fondamentali della SEO, questi rappresentano senza dubbio l’ABC. Ribadiamo ancora, i codici di stato analizzano la relazione fra client e server, non può dunque esistere una consulenza SEO che non passi per l’analisi ed interpretazione degli Status Code. Bene, siamo giunti al termine, ci auguriamo che con questo articolo la tua conoscenza di codici HTTP ed errori risponda con un limpido status 200 e non più con un 404!

2 comments

  1. Ciao, sto studiando la SEO e non sapevo che esistesse il code 451 (unavailable for legal reasons). Vorrei segnalare che ho trovato un codice stato 610 – solo per alcuni servizi cloud – che riguarda il timeout di connessione http. Non credo sia diverso dal classico 504, ma mi domando se abbia ricadute sul posizionamento nei motori di ricerca. Vi è mai capitato di incontrare questa risposta?

  2. Ciao Silvia, grazie per il commento e per lo spunto. Avevo sentito parlare di questo errore ma non mi è ancora capitato di riscontrarlo, approfondirò. In linea teorica, dovrebbe avere ricadute nel posizionamento nel senso che più il timeout perdura, maggiori saranno gli effetti negativi per la SEO. Se si tratta di un timeout breve e momentaneo, Google sarà (o meglio dovrebbe essere) clemente. Buono Studio!

Lascia un commento

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

CHIEDI AGLI ESPERTI

Contatta un Consulente

Giovani, dinamici e preparati. I consulenti di Neting sono a disposizione per una consulenza gratuita. Contatta ora il Team e inizia a svliuppare la tua strategia online.

contatta il team