HTTP Status Code: cosa sono e come gestirli

http-status-code-come-riconoscerli-e-gestirli

Per ogni link a cui vogliamo accedere, il browser invia una richiesta al server che la riceve ed elabora. La risposta che riceve prende il nome di HTTP status code, ovvero un codice a 3 cifre che fornisce precise indicazioni al richiedente. Non li noterai a meno che non ci sia stato un problema.

Perché gli status code sono di fondamentale importanza per la SEO?

Le 5 macrocategorie di status code

Hypertext Transfer Protocol, meglio conosciuto come HTTP, è un protocollo che permette lo scambio di informazioni in rete tra client e server. Nel dettaglio, il client è la componente che vuole accedere alle risorse, il server è colui che risponde fornendo i dati richiesti.

Quando gli spider effettuano la scansione di un sito web e leggono i contenuti, ricevono come risposta un codice di stato. Per ottimizzare il tuo sito, è necessario che le pagine web rispondano con delle classi 1xx e 2xx, le quali indicano una corretta elaborazione.  Al contrario, gli status code 4xx e 5xx impediscono il processo di indicizzazione, danneggiando così il posizionamento sui motori di ricerca. Per un professionista SEO è quindi fondamentale conoscere gli http status code e prestare attenzione a tutti i possibili errori.

Andiamo adesso a scoprire nel dettaglio le macro-classi ed i diversi codici di stato.

Codice di Stato 0

In questo caso la risorsa (URL) non è scansionabile da parte del crawler poiché si è verificato un problema. Potrebbe essere ad esempio stato bloccato l’accesso tramite il robots.txt.

Questo file indica al crawler a quali URL del tuo sito può accedere e viene utilizzato per evitare di sovraccaricare e far disperdere energie al bot.

Ecco perchè è fondamentale ottimizzare il file robots.txt per poter guidare Google nella scansione dei contenuti che ci interessano.

1xx Codici Informativi

I codici che appartengono a questa categoria informano il client che la richiesta di elaborazione è stata ricevuta dal server ed è quindi in corso. Si trovano raramente e per questo sono poco approfonditi.

  • 100: Continue. La richiesta è stata ricevuta ed accettata, il server è pronto ad elaborarla.

2xx Codici di Successo

Al client viene comunicato che il server ha ricevuto, elaborato e completato con successo la richiesta. Da un punto di vista SEO e per la user experience, è un risultato positivo.

  • 200: OK. Lo status code 200 comunica che l’elaborazione è andata a buon fine; pertanto il server riesce a soddisfare la richiesta del client.
  • 202: Accepted. La richiesta del client è stata accettata, l’elaborazione deve ancora essere completata.
  • 204: No Content. In questo caso il server ha elaborato la richiesta con successo, ma non restituirà alcun contenuto.

3xx Codici di Reindirizzamento

I codici di stato 3xx indicano che sono state apportate modifiche alla struttura degli URL. Questo comporta quindi una nuova richiesta per reindirizzare il ricevente.

  • 301: Moved Permanently. Il server comunica che il contenuto della richiesta è stato spostato definitivamente verso una nuova pagina con differente URL, reindirizzando il client. La vecchia pagina non esiste più, è quindi fondamentale da un punto di vista SEO, che l’attenzione si sposti sulla nuova risorsa.
  • 302: Found. In questo caso, il trasferimento della risorsa è temporaneo. Il server ha il compito di reindirizzare client e bot sulla nuova pagina web. Il vecchio URL rimane comunque valido ed esistente. Trascorso il tempo necessario, i codici stato 302 finiscono per essere classificati come 301.
  • 307: Temporary Redirect. Indica che la risorsa è stata temporaneamente spostata su un differente URL. A differenza del codice 302, questo non permette di modificare il metodo HTTP.

I metodi HTTP sono importanti affinché lo scambio tra client e server avvenga correttamente. Tra i più comuni si trovano GET e POST: il primo si utilizza quando si devono passare delle informazioni tramite query string, cioè la parte di un URL che contiene i parametri da trasmettere in input ad un’applicazione; il secondo invece consente di inviare le informazioni senza renderle visibili nell’url, un esempio classico è quello dei form.

4xx: Codici Errori Client

Questa classe di codici di stato appartiene a situazioni in cui l’errore sembra essere causato dal client. Tipicamente un errore 400 indica che il server non può soddisfare la richiesta in quanto non è in grado di elaborarla. Esso contiene un’entità che indica con precisione di quale errore si tratta.

  • 401: Unauthorized. Questo avviene quando il client non ha l’autorizzazione per accedere al contenuto della pagina richiesta.
  • 403: Forbidden. Il server ha ricevuto la richiesta, ma si rifiuta di elaborarla in quanto non vuole renderla disponibile al client. Questo può accadere nel caso in cui un’immagine o un file sia protetto da password.
  • 404: Not Found. Quante volte è capitato di trovarsi davanti la famosa pagina Error 404? Lo status code 404 indica che la risorsa non è stata trovata sul server. In poche parole, tutto funziona perfettamente, ma quello che cerchi non esiste. Se l’errore è gestito correttamente, il client avrà modo di essere rimandato verso un’altra pagina correlata, tentando di soddisfare comunque l’intento di ricerca.
  • 408: Request Timeout. Il server è in time-out, ovvero sta impiegando troppo tempo a rispondere alla richiesta del client. Le cause più probabili sono una congestione di rete, oppure un numero troppo elevato di richieste che sovraccaricano il sistema.
  • 410: Gone. Questo codice di stato segnala al client che l’URL richiesto esisteva, ma adesso è stato permanentemente rimosso. Per la SEO è fondamentale gestire bene il codice di stato 410 in quanto indica a Google che quella pagina non sarà più ripristinata, facendo così risparmiare risorse e permettendo di ottimizzare il Crawl Budget.

5xx: Codici Errori Server

La richiesta del client è stata accettata, ma a causa di un errore il server non è in grado di elaborarla. In questo caso la pagina web ne risente in termini di posizionamento organico e di indicizzazione.

  • 500: Internal Server Error. Il server ha notato degli errori nel corso dell’elaborazione della richiesta, ma non è in grado di indicarci la reale motivazione. Si tratta quindi di un messaggio di errore generico.
  • 503: Service Unavailable. Il server è inattivo o attualmente non disponibile, generalmente, questo è uno stato temporaneo. In termini SEO, si consiglia il ricorso al parametro Retry After che indica al crawler il tempo di attesa fissato prima di inviare una nuova richiesta.
  • 504: Gateway Timeout: ovvero quando ci sono due server coinvolti ad elaborare una richiesta ed il primo, non ricevendo risposta dal secondo, si interrompe.

Cause errori di stato 4xx

Un errore di stato 4xx ostacola l’accesso sia all’user che al crawler verso quella risorsa internet, danneggiandone quindi il posizionamento SEO; ecco alcune delle possibili cause.

URL Errato: Una delle cause più comuni che generano un errore 4xx è l’indirizzo sbagliato. Se l’utente digita manualmente e in modo errato l’url, questo non visualizzerà correttamente la pagina web. Allo stesso modo, l’inserimento di caratteri speciali impedirà al server di elaborare la richiesta.

Dimensioni eccessive: Potresti riscontrare un errore 4xx nel tentativo di scaricare o caricare un file di dimensioni troppo grandi. Capita spesso che il server non sia in grado di elaborare la richiesta in quel lasso di tempo.

Cache e Cookies difettosi: File danneggiati nella cache, una sorta di “memoria temporanea” che conserva i dati dei visitatori, o problemi con i cookies, file di testo che registrano le informazioni sull’utilizzo specifico di un sito, comportano l’attivazione di un errore di stato 4xx. Per questo, è buona prassi svuotare la cache ed eliminare i cookies del browser.

Come risolvere gli errori di stato 5xx

Sei il proprietario di un sito web e ti imbatti in un codice 5xx? Queste sono alcune delle possibili soluzioni per evitare le problematiche legate a questa tipologia di errori.

Il primo passo è comprendere se l’errore può essere stato causato dalla manutenzione in corso del server, in questo caso non ti resta che attendere e ricaricare la pagina dopo qualche ora.

Se il problema continua a manifestarsi, verifica che non ci siano nuovi elementi, come estensioni e plugin, che intralciano la buona riuscita del caricamento. Eventualmente disinstallali e svuota la cache.

Nell’eventualità in cui nessuno di questi passaggi dovesse risolvere il tuo problema, contatta l’assistenza tecnica del server.

Come monitorare e risolvere i più comuni errori di stato

Tener traccia e soprattutto risolvere i vari errori che possono generarsi sul tuo sito web, non è certamente facile. Per farlo però, ci vengono in soccorso vari tools che è bene conoscere e utilizzare.

Tra i miei preferiti c’è sicuramente Screaming Frog, un tool che simula il Crawler di Google ed indica gli errori tecnici che ostacolano l’indicizzazione di una pagina web. È disponibile sia in versione gratuita con il limite massimo di 500 URL scansionabili, oppure a pagamento al costo totale di circa 185 euro l’anno.

Un’altro strumento che utilizzo quotidianamente è SemRush. Si tratta di una suite eccezionale, uno strumento completo che chiunque si occupi di SEO e Web Marketing dovrebbe utilizzare. Tra i vari strumenti presenti al suo interno, c’è il Log File Analyzer, un tool che analizza i file di log e genera un rapporto della scansione eseguita dagli spider restituendo anche i vari codici di stato che ha incontrato.

I codici di stato hanno lo scopo di informare il client riguardo l’errore in atto. Conoscere i più comuni è quindi fondamentale per tentare di risolvere più rapidamente possibile il problema, evitando di danneggiare il posizionamento organico.

Ricorda quindi di effettuare periodicamente, tramite i tool precedentemente elencati, una scansione che verifichi l’andamento del tuo sito web, visualizzando tutti i codici di stato presenti al suo interno.