HTTP STATUS CODE
Guida ai codici di stato rilevanti nella SEOGli HTTP Status Code, detti anche response code, sono solitamente dei codici silenti all’interno del Web, importanti per la gestione e il monitoraggio dei siti perché aiutano a identificare le cause dei problemi e a risolverli rapidamente. Avrai probabilmente riscontrato almeno una volta nella tua vita il famigerato errore 404 Pagina non trovata!
Niente paura, non lasciarti intimorire dai tecnicismi, in questa pagina ti aiuterò a capire meglio il mondo dei codici di stato e nello specifico approfondirò i seguenti argomenti:
- cosa sono i codici di stato HTTP,
- quali sono i più comuni,
- perché sono importanti ai fini SEO,
- come verificare se ci sono degli errori,
- come correggere gli errori di stato HTTP.
Seguendo questa guida scoprirai che non c’è niente da temere, se e quando ti troverai davanti un errore di codice, forse la prima reazione sarà comunque di sconforto ma saprai come gestirlo, quindi non ci resta che iniziare. La professione del SEO ti incuriosisce? Dai un’occhiata all’elenco dei corsi SEO online di Digital Coach®.
Cosa sono i Codici di Stato HTTP
Prima di tutto cerchiamo di fare chiarezza su cosa sono questi codici HTTP.
Gli HTTP status code sono sempre formati da numeri a tre cifre (1xx, 2xx, 3xx, 4xx, 5xx) che vengono restituiti dal Server web al Client quando si ha un’interazione tra questi attraverso il protocollo HTTP.
In parole semplici, quando digiti un URL o clicchi su un link, il Client (browser o crawler) invia una richiesta al Server, quest’ultimo la elabora e invia in risposta le risorse. Questi codici indicano lo stato della risposta del server fornendo informazioni sulla natura del problema riscontrato. In linea di massima annunciano come il Server ha gestito la richiesta, ma come accennato prima, passano inosservati se non c’è un problema da segnalare.
Perché gli HTTP Status Code sono importanti per la SEO
I codici di stato HTTP sono importanti per la SEO perché possono influire sulla visibilità e sull’indicizzazione del sito web sui motori di ricerca. In fase di crawling, ovvero di discovery, i bot dei motori di ricerca (come Googlebot) individuano anche gli status code. Qualora rilevassero dei problemi, questi andrebbero ad influire negativamente impedendo ai bot di portare a termine il crawling.
Un numero elevato di errori di codice, potrebbe far percepire che il tuo sito sia di cattiva qualità, facendo diminuire anche il ranking, poiché le pagine potrebbero non essere indicizzate correttamente o addirittura ignorate dai motori di ricerca. Inoltre, gli HTTP status code influiscono sulla velocità di caricamento del sito web e i motori di ricerca la considerano un fattore importante per determinare la posizione del sito nella SERP. Vedremo più avanti quali sono i codici di stato che influiscono maggiormente l’ottimizzazione.
Scopri ora se il SEO Specialist è la professione ideale per te, fai il test gratuito!
5 tipologie di Status Code
Data l’esistenza di molti HTTP Status Code, è importante saperli riconoscere a colpo d’occhio prima di entrare nel dettaglio, per sapere come e se intervenire. I Codici di Stato si suddividono in 5 tipologie, che corrispondono a:
- 1xx, risposte informative,
- 2xx, risposte di successo,
- 3xx, risposte di reindirizzamento,
- 4xx, risposte agli errori del Client,
- 5xx, risposte agli errori del Server.
I codici di stato HTTP sono essenziali per la comprensione e la gestione di eventuali problemi legati alla connessione tra Client e Server, conoscere tali codici è fondamentale per assicurarsi di risolvere i problemi e migliorare l’esperienza utente, così come l’indicizzazione sulle pagine dei motori di ricerca. Vedremo nel dettaglio alcuni dei codici più comuni e/o pertinenti ai fini SEO e più avanti scopriremo come verificare lo stato dei codici oltre a come correggere gli errori HTTP.
Nell’immagine qua sopra ho riportato i più comuni codici di stato HTTP, potrebbe esserti utile per memorizzarli meglio, in ogni caso la maggior parte di questi li vedremo in dettaglio adesso.
HTTP Status Code 1xx
Questi status code sono di tipo informativo, indicano che la richiesta inviata dal Client è stata ricevuta ma non ancora elaborata. Sono utili soprattutto per la connessione iniziale tra Client e Server fornendo informazioni, ad esempio per indicare che il Server è pronto a ricevere il corpo della richiesta, dato dal codice di stato 100 “Continua” o il cambio di protocollo richiesto dal Client nel codice di stato 101 “Protocolli di commutazione”. Questi codici si trovano di rado, e non sono classificati come un problema, piuttosto come informazioni aggiuntive, pertanto non scenderemo in ulteriori dettagli.
HTTP Status Code 2xx
Gli status code 2xx sono i tuoi migliori amici, indicatori di risposte di successo, ti confermano che la richiesta è stata processata e il Client ha ricevuto le informazioni.
200: OK
Il codice di stato 200 si verifica quando il Server rimanda indietro la richiesta del browser e tutto funziona correttamente.
Attenzione però! C’è l’eventualità che una pagina che non dovrebbe esistere venga restituita in risposta come stato di codice 200, questo evento viene definito soft 404, controproducente per il tuo sito perché danneggia il crawl budget.
201: Created
Il codice di stato 201 “Creato” viene utilizzato quando il Client invia un input valido e il Server lo accetta, creando una nuova risorsa sul Server stesso. Per renderlo più semplice, gli utenti possono creare o inviare nuovi contenuti come messaggi, post, commenti, file, immagini ecc.
Se questa nuova risorsa viene creata con successo, il server restituirà una risposta con il codice 201.
HTTP Status Code 3xx
Gli status code 3xx, essendo risposte di reindirizzamento, sono importanti e da non sottovalutare. Ci comunicano che la risorsa che stiamo cercando è stata spostata, ovvero quando l’URL X che abbiamo digitato è stato rediretto verso un URL Y.
301: Moved permanently
É il più conosciuto tra gli HTTP status code di reindirizzamento, il redirect 301 “Trasferito permanentemente” ci informa che la risorsa è stata trasferita in modo permanente. Spesso utilizzato per il reindirizzamento delle pagine obsolete ai nuovi indirizzi, può penalizzare il posizionamento di un sito se non viene gestito correttamente, viene inoltre utilizzato per la migrazione dei siti web da HTTP a HTTPS ed è anche una soluzione per sistemare i contenuti duplicati.
302: Moved temporarily
Il redirect 302 “Trasferito temporaneamente” comunica che l’URL è stato spostato in modo temporaneo, quindi la richiesta è stata trovata ma non dove dovrebbe essere. Può essere utilizzato quando un sito web è in manutenzione e vogliamo reindirizzare temporaneamente gli utenti su un altro URL; non usatelo impropriamente per mascherare un 301, potrebbe causare problemi di indicizzazione. L’indirizzo originale, così come la pagina resta valido, ma attenzione a mantenere attivo il redirect 302 per troppo tempo perché in quel caso verrebbe percepito dal crawler come redirect 301.
307: Temporary Redirect
Lo status code 307 “Reindirizzamento temporaneo” è molto simile al redirect 302 poiché anch’esso riguarda un trasferimento temporaneo della risorsa, ma verso un reindirizzamento interno destinato al protocollo HTTPS, per assicurare quindi che la connessione rimanga protetta. Viene utilizzato per indicare al Client che la pagina richiesta è stata temporaneamente spostata, ma che l’URL originale dovrebbe essere mantenuto nella cache del browser.
Ti piacerebbe diventare un professionista della SEO? Scopri la nostra Certificazione!
HTTP Status Code 4xx
Eccoci arrivati agli HTTP status code più temuti, le risposte agli errori del Client. Questi tipi di errori possono indicare troppe richieste, pagine inesistenti o che il Client non ha l’autorizzazione a richiedere una determinata pagina. Più tardi vedremo come correggere questi errori, nel frattempo vediamo di conoscerli meglio.
400: Bad Request
Questo tipo di errore, 400 “Richiesta non valida” si verifica quando il Server non ha la possibilità di restituire una risposta a causa di un errore del Client. Viene spesso generato a causa di errori nell’input dell’utente, come ad esempio dati mancanti o non validi in un form HTML, altre cause possibili includono l’utilizzo di parametri non validi o la mancanza di autenticazione. Per approfondire l’argomento ti consiglio di leggere la nostra pagina sull’errore 400 Bad Request.
402: Payment Required
L’HTTP status code 402 “Pagamento richiesto” viene restituito quando un pagamento richiesto per accedere ad una risorsa web non viene effettuato o viene rifiutato, ad esempio a causa di una carta di credito scaduta o con fondi insufficienti, segnalando che il pagamento deve essere effettuato prima di poter accedere alla risorsa richiesta. Molti siti web evitano di usare questo codice perché può generare confusione nell’utente, è preferibile restituire codici più specifici che aiutino ad identificare in modo più chiaro il tipo di errore.
403: Forbidden
L’HTTP status code 403 “Vietato” viene utilizzato per ostacolare i crawler quando fanno troppe richieste ad un sito, poiché indica che è vietato fare domanda di un certo URL o nel caso l’utente inserisca le credenziali sbagliate. In altre parole, il Server rifiuta di fornire la risorsa richiesta a causa di autorizzazioni insufficienti, utilizzato per proteggere risorse sensibili o riservate come ad esempio le pagine di amministrazione del sito web o i file protetti da password. Può anche essere generato a causa di un firewall, un filtro di sicurezza o altre restrizioni imposte dal Server.
404: Not Found
Error 404 “Non trovato” è senz’altro il più famoso tra gli errori di codice, indica che la risorsa richiesta non è stata trovata o non esiste. Questo evento può verificarsi se ad esempio clicchiamo su un link guasto, se ci sono problemi di manutenzione, a causa di bug, può anche essere generato quando un URL è stato modificato o rimosso dal Server. Personalizzare la pagina, è comune su molti siti a livello di user experience per fornire un messaggio di errore specifico, un collegamento ad altre risorse correlate o altre informazioni utili, per guidare l’utente verso la risorsa corretta (naturalmente si consiglia di risolvere l’errore 404 quanto prima).
410: Gone
Simile al precedente, lo status code 410 “Andato” ci comunica che la risorsa richiesta, non solo non è stata trovata ma che non esisterà più in modo permanente, afferma esplicitamente che un URL è stato rimosso definitivamente dalla SERP. L’utilizzo del codice 410 al posto del 404 è preferibile quando è necessario rimuovere contenuti obsoleti o inappropriati dal sito, evita di sprecare le risorse sulla gestione delle richieste 404 che non forniscono alcun beneficio SEO, inoltre aiuta a minimizzare il rischio di contenuti duplicati e a migliorare la qualità dell’esperienza dell’utente.
418: I’m a Teapot
Eri a conoscenza di questo HTTP status code? Nato come pesce d’aprile nell’ormai lontano 1998, lo status code 418 “Sono una teiera” ovviamente non è un vero errore ed indica letteralmente che il Server si sta rifiutando di fare un caffè al Client, proprio perché è una teiera! È stato creato come un modo divertente per dimostrare la personalizzazione dei codici di stato HTTP, in pratica non dovrebbe mai essere utilizzato in un ambiente di produzione, ma solo come scherzo tra sviluppatori o colleghi.
429: Too Many Requests
Questo tipo di errore viene restituito quando il Client ha effettuato troppe richieste in un determinato lasso di tempo o ha superato un limite di utilizzo predefinito. Il codice 429 “Troppe richieste” fornisce un meccanismo per evitare l’utilizzo eccessivo delle risorse del Server garantendo un’esperienza utente ottimale; il Server può includere un’intestazione per fornire al Client un tempo indicativo da attendere prima di inviare altre richieste simili.
HTTP Status Code 5xx
Ultimi, ma non per importanza sono gli HTTP status code che riguardano le risposte gli errori del Server, ovvero quando il Client effettua una richiesta valida ma per qualche motivo, il Server ha problemi ad elaborarla.
L’HTTP status code 503 “Servizio non disponibile” viene inviato dal Server quando non è in grado di gestire la richiesta poiché il servizio o le risorse non sono momentaneamente disponibili. Può essere causato da una varietà di problemi come il sovraccarico del Server, manutenzione del sistema, interruzioni del servizio, problemi di configurazione o di connessione al database. Nel caso in cui i crawler ricevano per troppo tempo l’errore di codice 503, c’è la possibilità che i contenuti legati a tale codice vengano rimossi dall’indice.
504: Gateway Timeout
L’HTTP status code 504 è quello che viene restituito quando il Server impiega troppo tempo per elaborare la richiesta del browser. Le cause di tale errore potrebbero essere un maggior traffico sul sito, una scarsa qualità di connessione del computer oppure il Server potrebbe essere impegnato in un processo di elaborazione troppo lungo o essere temporaneamente inaccessibile.
Scarica l’Ebook gratuito e scopri cosa fa il SEO Specialist!
"*" indica i campi obbligatori
Come verificare gli HTTP Status Code
Giunti a questo punto, hai già appreso molto degli HTTP status code più pertinenti. Ti chiedo un ulteriore sforzo perché la teoria è molta, ma non ci resta che metterla in pratica iniziando prima di tutto a capire come verificare lo stato dei codici attraverso alcuni semplici strumenti.
Browser
Procedura simile su ogni browser, ti basterà entrare in una risorsa, premere il tasto destro del mouse e cliccare su Ispeziona. Si aprirà una finestra laterale, nella barra in alto seleziona Rete o Network, dopo di che scrollando la risorsa appariranno le varie voci sugli stati.
Google Search Console
In Google Search Console puoi verificare lo status code tramite lo strumento Controllo URL, ti basterà inserire l’URL e attendere l’analisi, infine seleziona la voce “Visualizza pagina sottoposta a scansione” e clicca su “Ulteriori Informazioni“.
Screaming Frog
Tra gli strumenti più noti dei SEO Tools troviamo Screaming Frog, un simulatore di crawling dei motori di ricerca. Per saperne di più ti consiglio di leggere la nostra pagina dedicata a Screaming Frog, intanto ti lascio anche questo video in cui potrai vedere chiaramente i passaggi per verificare gli HTTP status code.
Come correggere gli errori HTTP
Vorrei fare un piccola premessa: in questo paragrafo non scenderò troppo nei dettagli, poiché la lettura risulterebbe molto pesante considerando la quantità di informazioni già enunciata. Hai imparato a riconoscere gli HTTP status code e come verificarli, adesso non ti resta che scoprire come correggere gli errori, seguendo i miei consigli.
Lato utente le azioni basilari che puoi compiere sono aggiornare la pagina, controllare l’indirizzo, cancellare sia la cache che i cookie e infine contattare il proprietario del sito, qualora nessuno dei metodi precedenti funzionino.
Lato proprietario del sito invece, ci sono diversi punti sui quali è possibile intervenire, prenderemo in analisi alcuni degli errori di codice di cui abbiamo parlato.
Errore 403 “Vietato”
- Verifica le impostazioni di autorizzazione: assicurati di avere impostato le autorizzazioni corrette sui file o sulle cartelle alle quali stai tentando di accedere. Se necessario, puoi provare ad aggiornare le autorizzazioni per risolvere il problema.
- Controlla le regole del file .htaccess: se hai regole specifiche all’interno di questo file, potrebbero causare l’errore 403, controlla e verifica se ci sono regole che stanno compromettendo il file. WordPress può rigenerarlo, ma non dimenticare di creare una copia di backup prima di procedere.
- Controlla il tuo account di hosting: potrebbe essere che il tuo account di hosting abbia limitato l’accesso ai file o alle cartelle del sito web. In questo caso, dovresti controllare le impostazioni del tuo account e assicurati di avere le autorizzazioni necessarie.
- Controlla i log degli errori: nei file di log degli errori puoi vedere se ci sono informazioni utili sulle cause dell’errore 403 che possono aiutarti a risolvere il problema.
- Altre soluzioni potrebbero essere disattivare e riattivare i plugin, disattivare la CDN (rete di distribuzione dei contenuti).
Errore 404 “Non trovato”
- Verifica se l’URL è corretto: potrebbe essere che l’errore 404 sia causato da un errore di scrittura o dalla mancanza di una pagina o di un file sul Server. Assicurati di aver inserito correttamente l’URL e che la pagina o il file esistono.
- Controlla la struttura del tuo sito: l’URL della pagina potrebbe aver subito un cambiamento nella sua posizione tramite una modifica alla gerarchia del sito web, in questo caso dovrebbe essere necessario aggiornare la struttura delle URL del sito web.
- Verifica se ci sono collegamenti rotti: verifica tutte le pagine per assicurarti che i collegamenti esterni o interni al tuo sito che riportano a un URL siano validi.
- Utilizza il codice di stato 301: se hai spostato la pagina richiesta in un nuovo URL, utilizza il codice di stato 301 per reindirizzare automaticamente gli utenti all’URL corretto, questo dovrebbe aiutarti a recuperare il link e la visibilità persa.
- Personalizza la tua pagina: se non sei in grado di risolvere l’errore 404, potresti personalizzare la tua pagina per guidare gli utenti verso altre parti del tuo sito web.
- Il file .htaccess potrebbe essere stato eliminato: in questo caso il problema dovrebbe essere presente su diverse pagine, per risolvere accedi alla dashboard di WordPress, aggiorna le impostazioni di permalink e salva le modifiche.
Errore 503 “Servizio non disponibile”
- Verifica se il problema è temporaneo: potrebbe essere causato dal troppo traffico su tuo sito web durante un evento particolare, in questo caso, attendi alcuni minuti e prova a riaggiornare la pagina, potrebbe funzionare.
- Verifica lo stato del Server: controlla se il sito è in manutenzione programmata e nel caso comunica agli utenti il tempo di ripristino o controlla se ci sono problemi tecnici.
- Correggi il file .htaccess: potrebbe essere necessario modificare il file per risolvere l’errore 503.
- Altre soluzioni sono controllare il registro degli errori e attivare la modalità di debug, controllare l’utilizzo delle risorse, riavviare il Server, disattivare i plugin o passare ad un tema predefinito.
Errore 504 “Gateway Timeout”
- Ricaricare la pagina: banalmente la prima cosa da fare è provare a ricaricare la pagina e verificare se il problema si risolve.
- Verifica la connessione Internet: assicurati che la connessione sia stabile, prova a disconnetterti e riconnetterti alla rete per risolvere eventuali problemi di connessione.
- Riduci il carico di lavoro del Server: puoi provare ad eliminare plugin o widget che potrebbero rendere il tuo sito più lento aumentando il carico di lavoro del Server.
- Verifica il Server originale: potrebbe essere necessario verificare il Server upstream per accertarsi che funzioni correttamente, in caso contrario contatta il provider per trovare una soluzione.
Questi elencati sono solo dei piccoli consigli, se sei alle prime armi, non hai molta dimestichezza sul dove mettere le mani o comunque non riesci a risolvere il problema da solo, il consiglio che posso darti è quello di rivolgerti ad un professionista. Non esitare a contattare l’assistenza tecnica del tuo hosting.
Conclusione
Sei finalmente giunto al termine di questa lunga guida, complimenti!
I codici di stato HTTP sono una parte importante di qualsiasi comunicazione tra Client e Server, ogni codice ha un significato specifico e possono essere utilizzati per risolvere i problemi di comunicazione.
Come avrai capito, la conoscenza dei codici di stato è essenziale per qualsiasi sviluppatore web e utente che desideri comprendere e analizzare il comportamento delle richieste HTTP.
Spero che questa guida sia stata interessante e che d’ora in avanti non vedrai più gli HTTP status code come la materia che più odiavi a scuola, ma come un alleato, una vedetta che ti avvisa in modo da non far schiantare il tuo sito web contro un iceberg.
Inoltre, spero ti sia stata davvero d’aiuto per comprendere al meglio i protocolli HTTP status code.
Vuoi che uno dei nostri esperti ti aiuti?
Richiedi un coaching strategico gratuito!