Drag

Chiama adesso!
800 93 1196

30 marzo 2022

Codici di stato HTTP, richieste e risposte: la guida completa

Alex Baldarelli

Scritto daAlex Baldarelli

Tempo stimato per la lettura8 minuti

Una delle conditio sine qua non affinché i motori di ricerca indicizzino il nostro sito è la corretta risposta alle richieste HTTP. Nella comunicazione online, un client effettua una richiesta a un server e quest’ultimo restituisce un codice di stato, che indica, per l'appunto, se una richiesta è stata “soddisfatta” nel modo corretto o meno.

Vedremo in quest’articolo le diverse tipologie di richieste HTTP e i codici di stato contenenti le risposte dei server. Una guida che ti porterà dentro il cosiddetto protocollo HTTP, utilizzato nel web da client e server per scambiarsi informazioni. Non solo, potrai scoprire come gestire nel modo corretto eventuali errori HTTP: conoscere i principali codici di stato ti permette di identificare problemi di navigazione ed evitare di perdere posizioni in SERP. Avanti tutta: codice di stato non ti temo!

Codici di stato HTTP: cosa sono e come sono composti

Un codice di stato (status code) non è altro che la risposta che un server invia in seguito a una richiesta di un browser. Questa può essere completata con successo o può essere bloccata, restituendo un messaggio di errore. Ogni codice di stato è costituito da tre cifre. Più precisamente, siamo di fronte a un codice costituito da due parti:
  • Header: contengono la risposta effettiva e altre informazioni come le indicazioni sulle tempo di conservazione della risposta in cache da parte del browser. Di fatto, l’utente non ha evidenza dell’header, ma è sulla base di questo che il client “legge” la risposta del server e soprattutto sa come mostrare il body payload, l’altra parte del codice.
  • Body Payload: è la parte del codice che viene utilizzata per fare il rendering della pagina e mostrarla all’utente.

Risposte HTTP: le categorie “positive”

I codici di stato HTTP appartengono a cinque principali categorie, che per comodità suddivideremo in codici di stato positivi (o comunque strettamente informazionali) e quelli negativi. L’utente ha evidenza indirettamente dei codici di stato positivi, ossia solo mediante la visualizzazione della risorsa richiesta; non ha evidenza, invece, del codice di stato informativo, se non nei casi in cui l’elaborazione della richiesta risulti particolarmente lunga in termini di tempo. Per poter prendere nota di tutti i codici di stato, compresi quelli “invisibili”, è indispensabile avvalersi di uno strumento come Google Search Console, che permette di effettuare una scansione specifica e puntuale in quest’ottica, ma per un’analisi più approfondita è utilissimo anche Screaming Frog, che vedremo in seguito.

Vediamo di seguito le categorie positive, identificate tali dalla prima cifra del codice.
  • 1xx: Informativa: il server comunica al client che la richiesta è stata ricevuta ed è ancora in corso di elaborazione. L’utente non ha visibilità di questo codice di stato considerato né positivo né negativo, bensì informazionale.
  • 2xx: Successo: Il server ha ricevuto, elaborato e accettato la richiesta. Il risultato è la pagina o la risorsa web visualizzata correttamente dall’utente. Il codice 2xx più frequente è il 200, il quale indica che la richiesta è andata a buon fine, ossia tutti i dati sono stati forniti al client. Normalmente gli utenti non visualizzano questo codice di stato.
  • 3xx: Reindirizzamento (redirect): il server riceve la richiesta e reindirizza verso un’altra pagina, per rispondere a un’eventuale messaggio di errore. L’obiettivo è informare il client che, in ragione della mancata risposta positiva alla richiesta, sono necessarie delle ulteriori misure per poterla portare a termine. Il reindirizzamento è una delle risposte a un’eventuale errore 404 di mancata visualizzazione della pagina, che può avvenire quando la pagina richiesta sia stata spostata altrove e sia raggiungibile solo da una nuova fonte.
L’utente più attento nota un reindirizzamento della pagina o della risorsa richiesta, pertanto rientra tra gli errori visibili all’utente.
Tra i reindirizzamenti che troviamo più frequentemente, per “mettere ordine” agli errori, sono da citare sicuramente i 301 e 302. Qual è la differenza tra i due?

Se desideri spostare un contenuto definitivamente, utilizza un redirect 301, altrimenti se il reindirizzamento è solo temporaneo, scegli un redirect 302. Voi direte… ma se l’utente si accorge del redirect perché è importante differenziarli? Perché Google li tratta in maniera diversa. Come? Vediamoli nel paragrafo successivo!

Codici di stato positivi e SEO

Durante le operazione di crawling, i motori di ricerca analizzano anche i codici di stato HTTP e in base a questi valutano lo stato di salute del sito. Ebbene sì, anche gli status code hanno il loro peso in termini di posizionamento. Google ha già pubblicato una guida completa a tal proposito.

In realtà, il codice 1xx, essendo strettamente informativo, non incide nelle ricerche Google, al contrario dei 2xx e 3xx. Vediamoli!
  • Codice di Stato 200 e 201: : il contenuto ricevuto nella risposta può essere considerato per l’indicizzazione ( ma non è detto che venga effettivamente indicizzato).
  • Codice di stato 202: Googlebot attende il contenuto per un tempo limitato, per poi trasmetterlo alla pipeline di indicizzazione. quindi passa tutto ciò che ha ricevuto alla pipeline di indicizzazione.
  • Codice di stato 204: il motore di ricerca segnala alla pipeline di indicizzazione di non aver ricevuto alcun contenuto. In Search Console Google lo considera un un “soft 404”
Abbiamo detto che i redirect 301 e 302 sono praticamente identici per l’utente finale, mentre esiste una netta differenza in merito a come le tratta Google.
  • Redirect 301: per Google questo sarà il nuovo URL, “dismettendo” quello vecchio. Questo perché i redirect 301 dicono a Google che questa è una passaggio definitivo, pertanto il nuovo URL dovrà essere indicizzato.
  • Redirect 302: Google effettua delle verifiche per capire quale indicizzare. Il motore di ricerca è consapevole che i webmaster più superficiali spesso li utilizzano in maniera intercambiabile, anche se per principio dovrebbe indicizzare quello originale. Vuoi sapere come Google sta considerando il redirect 302? Inserisci l’URL nel tool URL Inspection di Search Console: se lo strumento restituisce l’avviso “URL non è su Google”, Google sta considerando il redirect come 301, altrimenti come 302.

Vuoi sapere come gestire al meglio i redirect in ottica SEO? Ne abbiamo parlato qui!




Codici di stato negativi: gli errori HTTP

Abbiamo detto che se la richiesta al server è andata a buon fine, l’utente vedrà la pagina richiesta. Se invece il server (per colpa sua o per colpa del client) non può restituire la risorsa, verrà mostrato un codice di stato di errore. Come per i codici di stato positivi, anche in questo caso la prima cifra indica se l’errore è causato dal client o dal server, mentre le altre due cifre restituiscono la natura dell’errore. Vediamo quali sono i codici stato di errore e le rispettive differenze.

4xx: Client Error:
è la prima categoria di errori, nello specifico questo si verifica lato client. Alcuni esempi che portano verso questo tipo di errori è la sintassi sbagliata. L’utente visualizza una pagina html automatica che segnala e certificata l’avvenuto errore. Tra questi i più comuni sono:
  1. 400 Bad Request: la richiesta non può essere soddisfatta a causa di errori di sintassi.
  2. 403 Forbidden: la richiesta è legittima ma il server si rifiuta di portarla a termine. Questo avviene perché l’accesso ai dati richiesti è protetto e il client non può fornire l’autorizzazione.
  3. 404 Not Found: La richiesta non è stata riuscita (non trovata la risorsa cercata), ma potrebbe essere disponibile in un secondo momento (mediante reindirizzamento). Questo avviene quando il sito non esiste più o lo specifico contenuto è stato spostato. Lato client, gli utenti devono ricontrollare la sintassi dell’URL.
5xx: Server Error. Si tratta di errori che avvengono lato server, i quali impediscono di concretizzare la richiesta valida del client. Questo errore può essere temporaneo oppure definitivo: questo tipo di errore, come il precedente, mostra una pagina che segnala all’utente lo stato della richiesta. Tra i piu frequenti:
  1. 500 Internal Server Error: messaggio di errore generico, che non fornisce altri dettagli al client. Il server, ad ogni modo, genere un protocollo per gestire l’errore, che viene analizzato dai webmaster per superare l’errore e fornire la risorsa.
  2. 502 Bad Gateway: il server si sta comportando come un gateway o un proxy e ha ricevuto una risposta invalida dal server di upstream.
  3. 503 Service Unavailable: il server che dovrebbe inviare la risorsa è sovraccarico di richieste, ma il webmaster sta già lavorando al problema e il server sarà di nuovo disponibile a breve.

Errori HTTP e SEO

Abbiamo detto che i codici di stato hanno un peso sul posizionamento in SERP. Un fattore determinante che è vero soprattutto per quanto riguarda i codici di errore. Vediamo di seguito come vengono considerati questi errori da Google.

  • Codici di stato 4xx: le pagine che restituiscono questo codice di stato non vengono considerate per l'indicizzazione. Gli URL già indicizzati che ora restituiscono un errore 4xx vengono rimossi dalla SERP. L’unica eccezione è l’errore 429, che avviene quando Googlebot non è riusciuto ad accedere a un URL per eccessivo sovraccarico del server: in questo caso il motore di ricerca non elimina il contenuto dall’indice.
  • Codici di stato 5xx: in caso di questi errori causati dal server, i crawler rallentano momentaneamente la scansione. Inizialmente gli URL che restituiscono questo codice di stato vengono conservati nell’indice, ma successivamente sono eliminati dal motore di ricerca, se continuano a mostrare sempre lo stesso errore.

Come risolvere e gestire gli errori 404? Scoprilo qui!

Analisi codici di stato: lo strumento migliore

Esiste uno strumento utile ai webmaster per analizzare i codici di stato HTTP. Lo strumento che consigliamo è sicuramente Screaming Frog. Il tool è dotato di un proprio crawler e scansiona in maniera approfondita il tuo sito web, prendendo in considerazione i codici di stato delle pagine, dei file multimediali e di qualsiasi risorsa che fa parte del sito.

Come funziona? Una volta effettuato il crawling del sito, è possibile analizzare gli status code del sito nella sezione Response Codes. Qui, per ogni URL esplorato dallo spider dello strumento, è possibile conoscere lo il codice e lo stato della risposta inviata dal server. In questo modo, si possono ottenere informazioni sulle pagine per le quali il server ha restituito una risposta 2xx, ma anche e soprattutto per quali risorse ha inviato una risposta 404 (risorsa non trovata). Da non dimenticare anche le pagine che hanno fornito una risposta 5xx, legate a problematiche del server, invece che di client, ovvero quelle 4xx.

Screaming Frog fornisce anche l’opzione di analizzare i redirect del sito, nello specifico i redirect 301 e 302, i reindirizzamenti effettuati tramite JS o tramite meta refresh.

Vuoi ottenere un’analisi completa del tuo sito e migliorare il tuo posizionamento? Contattaci!
Cookie

Questo sito web utilizza cookie di terze parti

X
Questo sito utilizza cookie tecnici anonimi per garantire la navigazione e cookie di terze parti per monitorare il traffico e per offrire servizi aggiuntivi come ad esempio la visualizzazione di video o di sistemi di messaggistica. Senza i cookie di terze parti alcune pagine potrebbero non funzionare correttamente. I cookie di terze parti possono tracciare la tua attività e verranno installati solamente cliccando sul pulsante "Accetta tutti i cookie". Puoi cambiare idea in ogni momento cliccando sul link "Cookie" presente in ogni pagina in basso a sinistra. Cliccando su uno dei due pulsanti dichiari di aver preso visione dell'informativa sulla privacy e di accettarne le condizioni.
MAGGIORI INFORMAZIONI