Con il termine HTTP si identifica l'HyperText Transfer Protocol, ossia il principale protocollo applicativo utilizzato nel web per la trasmissione di informazione in sistemi client-server. In modo particolare, l'HTTP (introdotto nel 1991), regola le interazioni tra browser e siti web. Quasi tutto il traffico sul web è gestito tramite HTTP.

Quando uno spider dei motori di ricerca scansiona un sito web, si comporta anch'esso come un browser e, richiedendo le pagine web ad un sito, si serve del protocollo HTTP. Ecco perchè, per chiunque si occupi professionalmente di SEO, è importante comprendere come funziona questo protocollo e quale sia il suo impatto sull'indicizzazione delle pagine web.

Gli HTTP status code

Quando una pagina web viene richiesta, il server web risponde con un status code HTTP. Questo codice è un riconoscimento dell'avvenuta richiesta da parte del client e indica il tipo di risposta che il server fornisce a seguito di tale richiesta.

Esistono centinaia di possibili codici HTTP e ogni codice indica una risposta diversa. è fondamentale familiarizzare con i principali e più comuni per poter essere pronti ad affrontare qualsiasi tipo di situazione possibile durante l'attività di ottimizzazione SEO.

Ecco una lista dei più comuni codici HTTP:

  • 200 OK.

  • 301 Contenuto spostato definitivamente.

  • 302 Contenuto spostato temporaneamente.

  • 304 Contenuto non modificato.

  • 307 Redirect temporaneo a altra pagina.

  • 400 Richiesta non valida.

  • 401 Mancanza di autorizzazioni.

  • 404 Contenuto non trovato.

  • 410 Contenuto eliminato.

  • 429 Troppe richieste contemporanee.

  • 500 Errore interno del server.

  • 501 Il metodo richiesto non è supportato.

  • 503 Servizio non disponibile.

  • 550 Permesso negato.

Oltre a conoscere a fondo il significato dei principali codici di risposta HTTP è importante per un SEO specialist comprendere come essi vengano gestiti da Google.

200 - ok

Iniziando dal più semplice di tutti, il codice 200 indica che la richiesta è andata a buon fine, che la pagina web esiste e che il web server inizierà a inviare al client la pagina stessa e tutte le risorse ad essa collegate (immagini, CSS, JS etc).

301 - contenuto spostato definitivamente

Il codice identificato 301 è uno dei preferiti nel settore SEO poichè indica ai browser e ai motori di ricerca che una pagina web è stata definitivamente rimpiazzata da un'altra. Ciò è una chiara indicazione per i motori di ricerca, che dovranno aggiornare i loro indici e associare alla nuova URL i contenuti che erano prima collegati alla vecchia URL.

La quantità di valore SEO trasmesso tramite un redirect 301 è ancora oggetto di discussione e Google ha fornito informazioni contraddittorie sull'argormento.

302 - contenuto spostato temporaneamente

Il codice 302 indica anch'esso un redirect ma, a differenza del 301, indica un cambiamento temporaneo di URL. In parole più semplici, Google manterrà la vecchia URL indicizzata mentre gli utenti verranno redirezionati alla URL temporanea. Bisogna tuttavia ricordare che se dopo un lungo periodo di tempo non verrà eliminato il redirect temporaneo, Google comincerà ad interpretare i 302 come un 301 e quindi aggiornerà la URL.

Diversi siti utilizzano questi redirect come espediente per il multilanguage, creando un 302 verso la versione della pagina web con la lingua corretta. Anche se in teoria ciò funziona, non è il miglior approccio per risolvere tale questione poichè i motori di ricerca vedranno solo una versione e quindi il sito in una sola lingua.

304 - contenuto non modificato

Anche se non è utilizzato quanto dovrebbe, status code HTTP indica ai browser che il contenuto non è cambiato rispetto all'ultima visita. Ciò significa che la risorsa non deve essere reinviata attraverso il web ma che il client possa fare riferimento alla versione presente nella sua cache. Se utilizzato bene, questo status code può permettere enormi risparmi di CPU poichè la risorsa non deve essere rigenerata ad ogni richiesta.

307 - redirect temporaneo

Il codice 307 compare in presenza di siti che utilizzano il protocollo HTTPS. Esso indica al browser che deve essere eseguito un redirect alla versione HTTPS della risorsa (HSTS). Non è propriamente un HTTP status code poichè il server web non vede in alcun caso la richiesta HTTP iniziale. Il browser implementa il redirect automaticamente poichè sa, grazie alla lista HSTS, che la risorsa andrà sempre gestita sotto HTTPS.

404 - non trovato & 410 - contenuto eliminato

Nella serie degli errori 400, gli status code 404 e 410 sono i più importanti per quanto riguarda la SEO. 

Il primo, lo status code 404, indica che la URL non esiste. Questa situazione è spesso il risultato di link non funzionanti rimasti attivi in un sito web che gli spider trovano e provano a scansionare. Lo status code 404 compare dopo che una risorsa web viene eliminata. Per una buona pratica SEO ciò deve essere prevenuto, creando immediatamente un redirect 301 alla nuova URL oppure fare in modo di comunicare un codice 410.

Il codice 410 infatti è un "404 intenzionale". Esso indica ai motori di ricerca che la pagina è stata rimossa e che si desidera che l'URL venga eliminata dall'indicizzazione. Essi verranno comunque considerati errori dalla maggior parte dei SEO audit tool, tuttavia Google interpreta diversamente i 410 dato che essi non sono il frutto di errori accidentali.

429 - troppe richieste contemporanee

Lo status code 429 indica che è presente una tecnologia che limita il numero di richieste ad una risorsa web in un determinato lasso di tempo. Si tratta di un errore difficile da rilevare poichè i maggiori SEO audit tool non lo segnalano. è importante quindi, se si è a conoscenza della presenza di tale tecnologia nel proprio sito, creare una eccezione per evitare la limitazione delle richieste provenienti dagli spider dei motori di ricerca.

500 - errore interno del server & 503 - servizio non disponibile

Tutti i codice della serie 5XX indicano un problema lato server.

Sono piuttosto comuni, specialmente in siti web di grandi dimensioni. Per quanto riguarda la SEO questi errori sono critici poichè, in risposta a tali situazioni, Google ridurrà la frequenza delle scansioni verso il sito, penalizzando l'indicizzazione delle sue risorse. Devono essere perciò risolti nel minor tempo possibile o, in alternativa, essere trasformati in 503.

Gli status code 503 infatti sono per i codici 500 quello che i codici 410 sono per i codici 404. Sono codici di risposta intenzionali che indicano a Google che determinati momenti di inaccessibilità al sito sono il frutto di un'azione intenzionale che verrà presto risolta.

Anche in questo caso bisogna ricordare che dopo un lungo periodo di tempo Google tratterà i codici 503 come codici 500.

Conclusioni

Anche se abbiamo trattato solamente i principali status code HTTP, essere preparati in questo argomento può diventare la chiave per migliorare l'ottimizzazione SEO di un sito web.

Comprendere come Google gestisce le risposte dei web server, ci permette di comprendere alcune delle tecnologie che gestiscono gran parte delle relazioni web-client.