Quando gli spider dei motori di ricerca come Googlebot eseguono la scansione di un sito, si comportano come browser che richiedono risorse e si affidano all’HTTP per lo scambio. Questo è il motivo per cui è importante per gli esperti di ottimizzazione dei motori di ricerca (SEO) capire come funziona il protocollo HTTP e l’impatto che ha sulla scansione e l’indicizzazione delle pagine web dei motori di ricerca.
Codici di stato HTTP
Quando viene richiesta una pagina Web da un sito, il server risponde con un codice di stato HTTP, un riconoscimento della richiesta del client indicante il tipo di risposta che il server gli sta inviando.
Esistono centinaia di codici di stato HTTP diversi a cui un server Web può rispondere e che potresti incontrare nel tuo lavoro di ottimizzazione dei motori di ricerca.
I SEO specialists devono conoscere in profondità questi codici di stato e capire lo scopo di ciascun codice di risposta, soprattutto perché e come Google li gestisce.
Diamo un’occhiata a quelli più importanti.
200 OK
Iniziamo con quello più semplice di tutti: una risposta di 200 da un server web indica che la richiesta ha avuto esito positivo, che la pagina richiesta esiste e il server inizierà a inviare quella pagina con le risorse associate (immagini, file CSS e JS e così via) al client. Spesso vengono inviate intestazioni aggiuntive insieme al codice di risposta che può influire sul modo in cui i motori di ricerca gestiscono l’URL.
301 spostati in modo permanente
Il codice di stato HTTP 301 consente ai browser e ai motori di ricerca di sapere che una pagina Web è stata sostituita da un’altra pagina e il cambiamento è permanente. Per i motori di ricerca, questo è un segnale di cui hanno bisogno per aggiornare i loro indici e associare le metriche di collegamento del vecchio URL con il nuovo URL.
Si ritiene che un reindirizzamento 301 abbia lo stesso fattore di smorzamento PageRank applicato come collegamento – quindi quando la pagina A reindirizza alla pagina B, ha lo stesso effetto della pagina A che collega alla pagina B.
Complessivamente, i 301 sono uno strumento cruciale nell’arsenale SEO e hanno una vasta gamma di applicazioni utili che possono aiutare un sito Web a preservare il suo posizionamento se non, addirittura, a migliorarlo.
302 spostati temporaneamente
L’altro tipo di reindirizzamento è il codice di stato HTTP 302, che indica che una pagina è stata temporaneamente sostituita da un altro URL.
Nel breve termine, ciò significa che i motori di ricerca manterranno l’URL originale nel loro indice, mentre gli utenti verranno inviati all’URL di destinazione del reindirizzamento. A lungo termine, tuttavia, Google interpreterà un reindirizzamento 302 come reindirizzamento permanente 301 e inizierà a gestirlo di conseguenza.
Molti siti utilizzano questo codice per questioni geografiche, inviando ad esempio agli utenti la versione corretta del Paese / lingua del contenuto da loro cercato. Sebbene ciò possa sembrare valido in teoria, in genere non è consigliabile utilizzare tale prassi poiché può indurre i motori di ricerca come Google a vedere solo la versione di un Paese del contenuto del sito.
304 non modificato
Il codice di stato HTTP 304 non viene utilizzato tutte le volte che si dovrebbe. Ciò che questo codice fa è informare i crawler dei browser e dei motori di ricerca che la risorsa non è cambiata dall’ultima visita, per cui non deve essere re-inviata su Internet e il client può semplicemente fare affidamento sulla versione che è stata memorizzata nella cache.
Per i siti Web di grandi dimensioni, l’applicazione intelligente del 304 può aiutare a risparmiare moltissime risorse del server, come cicli centrali CPU e larghezza di banda.
307 reindirizzamento temporaneo
Possiamo vedere di tanto in tanto il codice 307 sui siti web che sono serviti su HTTPS e sono presenti nell’elenco di precaricamento dell’HSTS, comando che indica ad un browser di utilizzare sempre HTTPS.
Fondamentalmente, ciò che accade con un 307 è che il browser riconosce che una richiesta fatta su “http://website.com” dovrebbe invece essere su “https://website.com” e andrà direttamente lì: in sostanza non è davvero un codice di risposta perché il server del sito non vede mai la richiesta originale. Il browser implementa questo reindirizzamento stesso. Google, PayPal, Twitter, Stripe, DropBox, Facebook e LastPass sono alcuni dei siti più noti dell’elenco HSTS precaricato.
404 non trovati e 410 andati
Nella gamma 400 dei codici di stato, ce ne sono due che sono importanti per il SEO.
Il primo e più comune è il codice di stato HTTP 404 non trovato, con il quale si segnala che l’URL non esiste e Google Search Console mostrerà l’errore nel rapporto Errori di scansione del sito. Molto spesso, le risposte 404 sono il risultato di un collegamento difettoso da qualche parte su un sito Web che Google rileva e tenta di scansionare.
Un sito Web inizierà a servire una risposta HTTP 404 non trovata su una pagina dopo che è stata rimossa, cosa che dovrebbe accadere il meno possibile. Un errore 404 è indicativo di un errore accidentale, un collegamento errato inserito da qualche parte. Se un URL utilizzato per pubblicare contenuti validi è stato rimosso, dovresti optare per un codice 301-reindirizzare l’URL ad una pagina attiva valida o fare in modo di ottenere un codice di stato 410.
Con la risposta 410 HTTP stai dicendo praticamente che sì, c’era una pagina qui, ma è stata rimossa in modo permanente.
I motori di ricerca trattano 410 in modo diverso rispetto ai 404. Mentre entrambi i codici di stato vengono segnalati come errori “non trovati”, un 410 è un chiaro segnale a Google di rimuovere quell’URL dal suo indice. Mentre Google interpreterà un 404 come un errore accidentale e manterrà per un po’ di tempo un URL, una risposta 410 viene vista come una richiesta esplicita di rimozione.
429 troppe richieste
La risposta 429 indica che un client ha fatto troppe richieste in un determinato periodo e senza visualizzare nulla. Questo è il risultato di una qualche forma di limitazione della velocità, per impedire ai siti web di essere sovraccaricati da richieste esterne. Spesso interferisce anche con le scansioni su un sito web con strumenti SEO.
Alcune tecnologie di limitazione della velocità bloccano anche Googlebot in questo modo, tanto da avere profonde ripercussioni sulla velocità e sull’efficienza con cui un sito viene analizzato. Il problema può essere molto difficile da identificare, perché il motore di ricerca non segnala risposte 429.
500 Errore interno server e 503 servizio non disponibile
Qualsiasi tipo di risposta HTTP 5XX indica una sorta di problema lato server. Sono codici da evitare il più possibile ma abbastanza comuni quando si opera su siti di grandi dimensioni.
Per il SEO, l’impatto di questi errori è principalmente correlato all’efficienza della ricerca per l’indicizzazione. A causa della gravità di questi errori, quando un sito Web avvia le risposte del tipo 5XX del server, Googlebot riduce la velocità con cui esegue la scansione del sito o addirittura interrompe la scansione del sito fino alla loro correzione. Pertanto, il risultato potrebbe essere evidente nei ritardi nell’ottenere nuovi o modificati contenuti indicizzati.
Se devi assolutamente fornire un messaggio di errore 5XX, ad esempio quando stai effettuando la manutenzione di un sito, devi sempre utilizzare il codice di stato HTTP 503: come il 410 è un segnale deliberato, quindi i crawler come Googlebot sanno che hai intenzionalmente rimosso quella risorsa.
Quando Googlebot vede un 503, rallenta la velocità di scansione e non modifica lo stato della pagina nel suo indice. Puoi tranquillamente continuare a inviare un 503 mentre lavori sul tuo sito web senza alcun impatto sul posizionamento del tuo sito in Google.
Solo quando un errore 503 persiste per un periodo prolungato di tempo, Google inizierà a interpretarlo come un errore persistente e ad aggiornare il suo indice di conseguenza.
Intestazioni HTTP
Il codice di stato è solo una parte della risposta HTTP completa che un server invia a un client, poiché insieme ad essa vengono fornite informazioni aggiuntive, denominate Intestazione HTTP.
Questa intestazione può contenere istruzioni che i client e i motori di ricerca possono utilizzare per gestire correttamente l’URL e in teoria non hanno alcun limite di utilizzo.
Diamo un’occhiata a quelle più comuni.
Collegamento canonico
Spesso presenti nel codice sorgente HTML di una pagina web, i link canonici possono essere inviati come parte dell’intestazione HTTP di un URL.
Poiché è relativamente facile implementare i tag rel = canonical nell’HT di una pagina, è raro trovare link canonici inviati come parte della risposta HTTP di una pagina, ma vale sempre la pena ricontrollare eventuali errori, soprattutto se si riscontrano problemi di indicizzazione e classificazione inusuali di un sito.
Link hreflang
Allo stesso modo dei link canonici, puoi anche includere i link hreflang nella risposta HTTP Header di una pagina. I riferimenti ai link di Hreflang indicano che una pagina ha versioni alternative indirizzate a lingue e / o Paesi diversi. Di solito, questi sono inclusi nell’origine HTML della pagina nell’intestazione o come parte di una sitemap XML.
Le implementazioni di Hreflang che utilizzano le intestazioni HTTP sono rare e poco consigliate, anche perché quelle con sitemap XML (XML) sono più facili da gestire.
Meta tag robot e tag X-Robots
Quando vogliamo indicare ai motori di ricerca di non indicizzare una pagina, possiamo usare il meta tag robots per farlo. Questo meta tag indica a Googlebot e ad altri motori di ricerca di non indicizzare una pagina e di non eseguire la scansione di tutti i collegamenti inclusi. Esso si riferisce esclusivamente ed è limitato ad una pagina web. Se però desideri assicurarti che – ad esempio – tutti i file PDF sul tuo sito non siano indicizzati, puoi usare l’intestazione HTTP X-Robots-Tag per inviare lo stesso identico segnale. Essa può essere facilmente configurata per intere directory, ed è un metodo efficace per impedire ai motori di ricerca di indicizzare le cartelle protette.
Cache-control
Un’altra serie di risposte dell’intestazione HTTP può influenzare il modo in cui un browser memorizza nella cache una pagina e le risorse associate. Ad esempio, puoi fornire una risposta “max-age” che indica al browser che dopo un certo periodo di tempo la pagina deve essere richiesta nuovamente dal server.
Le intestazioni di controllo della cache riguardano principalmente la velocità di caricamento e ricaricamento di una pagina e non avranno un impatto enorme sul modo in cui i motori di ricerca eseguono la scansione e l’indicizzazione della pagina. Tuttavia, a causa dell’importanza della velocità di caricamento per il SEO e dell’usabilità in generale, vale la pena di familiarizzare con questi codici per ridurre i tempi di caricamento.
Vary
L’intestazione HTTP Vary offre una serie di scopi relativi a compressione, cookie e siti Web mobili.
Per l’utilizzo con siti Web mobili è particolarmente importante, quando un sito utilizza servizi dinamici, di servire un’intestazione HTTP Vary specifica in modo che i motori di ricerca sappiano eseguire la scansione del sito con crawler sia desktop sia mobili. Questa intestazione HTTP specifica è Vary: User-Agent, che indica a Googlebot un codice diverso inviato agli utenti desktop e mobile. Di conseguenza, Google eseguirà la scansione del sito con entrambi i tipi di user-agent e determinerà quale versione del codice deve classificare per quale tipo di client.
In conclusione
Abbiamo appena scalfito la superficie di questo ambito del web che sta alla base dell’intero sistema. Questo campionario di codici e header può fornirti le basi per approfondire meglio gli argomenti trattati, su cui c’è un enorme bibliografia sia cartacea che virtuale.
Diventare esperto in questo aspetto del web ti aiuterà a essere un SEO più efficace e ti aiuterà anche in altri settori del marketing digitale: focalizzando l’attenzione sulle strutture portanti del web, e comprendendo meglio le tecnologie da esso utilizzate potrai permetterti di avere un controllo maggiore sul tuo lavoro e maggiori risultati per quel che concerne posizionamento, visite e risposte positive dai motori di ricerca mondiali.