Che cos'è Hreflang?
Hreflang è un attributo HTML che comunica ai motori di ricerca quale versione linguistica e regionale di una pagina deve essere mostrata agli utenti in località specifiche. Introdotto da Google nel 2011, l'attributo hreflang viene inserito all'interno di elementi <link> e genera un segnale che aiuta i motori di ricerca a comprendere la relazione tra pagine che condividono lo stesso contenuto ma si rivolgono a lingue o regioni diverse.
L'attributo segue un formato semplice: hreflang="en" per l'inglese, hreflang="es" per lo spagnolo, oppure hreflang="en-GB" per l'inglese destinato specificamente agli utenti del Regno Unito. Quando implementato correttamente, hreflang garantisce che un utente italofono in Svizzera visualizzi la versione it-CH della tua pagina nei risultati di ricerca, anziché la versione in inglese o quella in italiano destinata all'Italia.
Senza hreflang, i motori di ricerca devono indovinare quale versione del tuo contenuto mostrare a ciascun pubblico. Queste ipotesi portano alla visualizzazione di pagine errate nei risultati di ricerca, a segnali di contenuto duplicato che diluiscono il tuo posizionamento e a utenti frustrati che atterrano su contenuti in una lingua che non comprendono.
Perché Hreflang è importante per la SEO internazionale
La SEO internazionale è la pratica di ottimizzare il tuo sito web affinché i motori di ricerca possano identificare a quali paesi e lingue si rivolge il tuo contenuto. Hreflang è il meccanismo principale per comunicare questo targeting a Google e Yandex. Bing utilizza un approccio diverso (il meta tag content-language), ma hreflang rimane lo standard dominante.
Ci sono tre ragioni fondamentali per cui hreflang è essenziale per qualsiasi sito web multilingue o multiregionale:
-
Prevenzione dei problemi di contenuto duplicato. Quando hai lo stesso contenuto in più lingue, i motori di ricerca possono trattare quelle pagine come duplicati. Hreflang comunica ai motori di ricerca che si tratta di varianti linguistiche intenzionali, non di copie. Questo preserva l'autorità di posizionamento di ogni versione.
-
Mostrare la pagina giusta al pubblico giusto. Hreflang influenza direttamente quale URL appare nei risultati di ricerca per gli utenti in regioni diverse. Un utente che cerca dalla Germania vedrà la versione tedesca, mentre un utente che cerca dal Brasile vedrà la versione portoghese. Questo aumenta i tassi di clic perché gli utenti vedono risultati nella propria lingua.
-
Consolidamento dei segnali di posizionamento tra le versioni linguistiche. Anziché trattare le tue pagine in inglese, spagnolo e tedesco come concorrenti, hreflang comunica ai motori di ricerca che fanno parte di un'unica entità multilingue. L'autorità e i link ottenuti da qualsiasi versione possono avvantaggiare l'intero set.
Codici lingua vs codici regione
I valori hreflang seguono lo standard ISO 639-1 per i codici lingua e lo standard opzionale ISO 3166-1 Alpha-2 per i codici regione.
I codici solo lingua si rivolgono ai parlanti di una lingua indipendentemente dalla posizione:
en-- Anglofoni in tutto il mondoes-- Ispanofoni in tutto il mondode-- Germanofoni in tutto il mondofr-- Francofoni in tutto il mondo
I codici lingua-regione si rivolgono ai parlanti di una lingua in un paese specifico:
en-US-- Anglofoni negli Stati Unitien-GB-- Anglofoni nel Regno Unitoes-MX-- Ispanofoni in Messicopt-BR-- Lusofoni in Brasilefr-CA-- Francofoni in Canadazh-TW-- Sinofoni a Taiwan
Il codice regione è sempre opzionale. Se hai una sola versione in inglese, usa en. Se hai versioni separate per gli Stati Uniti e il Regno Unito, usa en-US ed en-GB. Non usare mai un codice regione da solo senza un prefisso lingua -- hreflang="US" non è valido e verrà ignorato dai motori di ricerca.
Un errore comune è l'utilizzo di codici errati. Ad esempio, uk è il codice ISO 639-1 per l'ucraino, non per il Regno Unito. Il codice corretto per l'inglese britannico è en-GB. Allo stesso modo, jp non è valido; il codice lingua corretto per il giapponese è ja, e il codice paese per il Giappone è JP, il che produce il codice combinato ja-JP.
Comprendere x-default
Il valore x-default è un attributo hreflang speciale che designa una pagina di fallback. Quando un motore di ricerca non riesce ad abbinare la lingua o la regione di un utente a nessuno dei valori hreflang disponibili, serve la pagina x-default al suo posto.
<link rel="alternate" hreflang="x-default" href="https://example.com/en/" />
Dovresti impostare x-default sulla pagina che offre la migliore esperienza agli utenti la cui lingua non è esplicitamente coperta. Di solito si tratta della versione in inglese o di una pagina con un selettore di lingua. Le regole chiave per x-default sono:
- Ogni set hreflang dovrebbe includere esattamente un'entrata
x-default - L'URL
x-defaultdeve anche apparire come una delle entrate hreflang regolari (ad esempio, se la tua pagina in inglese è x-default, dovrebbe anche averehreflang="en") - Non usare
x-defaultcome raccoglitore per più pagine -- punta a un solo URL
Senza un x-default, i motori di ricerca non hanno indicazioni su cosa mostrare agli utenti provenienti da regioni non supportate. Questo può comportare un comportamento imprevedibile in cui Google sceglie la versione che ritiene più pertinente, che potrebbe non corrispondere all'esperienza che intendi offrire.
Come i motori di ricerca utilizzano Hreflang
Google elabora hreflang come un segnale, non come una direttiva. Questa distinzione è importante: a differenza di noindex (che Google generalmente rispetta), hreflang è un suggerimento che Google pondera insieme ad altri segnali come la posizione dell'utente, le impostazioni della lingua di ricerca, la lingua effettiva del contenuto della pagina e i pattern di link interni.
Ecco cosa fa Google quando incontra hreflang:
- Esegue il crawl e scopre tutte le pagine elencate nel set hreflang
- Valida la reciprocità -- verifica che la pagina A che punta alla pagina B abbia anche la pagina B che punta di ritorno alla pagina A
- Controlla l'accessibilità degli URL -- conferma che tutti gli URL collegati siano scansionabili e restituiscano codici di stato 200
- Valuta la coerenza -- confronta i segnali hreflang con i tag canonical, le voci del sitemap e il contenuto della pagina
- Applica il segnale al momento della query per indirizzare i risultati di ricerca verso la versione più pertinente per l'utente
Se uno qualsiasi di questi passaggi di validazione fallisce, Google potrebbe ignorare completamente l'hreflang per le pagine interessate. Ecco perché un'implementazione corretta è così cruciale -- un singolo link interrotto nella catena può invalidare l'intero set.
Yandex segue un processo simile ma è meno documentato. Bing non supporta ufficialmente hreflang, affidandosi invece al meta tag content-language e all'attributo lang sull'elemento <html>, sebbene i report suggeriscano che Bing elabori parzialmente i segnali hreflang.
Metodi di implementazione
Esistono tre modi per implementare hreflang. Dovresti usare un solo metodo per pagina per evitare segnali contraddittori. Se utilizzi più metodi e questi non concordano, i motori di ricerca non sapranno di quale fidarsi.
Metodo 1: Elementi link HTML nel head
Inserisci tag <link rel="alternate"> nella sezione <head> di ogni pagina del set.
<head>
<link rel="alternate" hreflang="en" href="https://example.com/en/page/" />
<link rel="alternate" hreflang="es" href="https://example.com/es/page/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/page/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/page/" />
</head>
Quando usare questo metodo: Ideale per siti con un numero di pagine da piccolo a medio (sotto qualche centinaio) dove hai il controllo diretto sull'head HTML. È l'approccio più comune e il più facile da debuggare perché i tag sono visibili nel codice sorgente della pagina.
Vantaggio: Semplice da implementare, facile da ispezionare, funziona con qualsiasi configurazione di hosting.
Svantaggio: Aumenta il peso della pagina. Un sito con 20 versioni linguistiche aggiunge 21 tag <link> (20 lingue + x-default) a ogni pagina, il che può essere significativo per pagine sensibili alle prestazioni.
Metodo 2: Header HTTP
Usa header Link nella risposta HTTP. Questo è particolarmente utile per risorse non HTML come i PDF.
Link: <https://example.com/en/page/>; rel="alternate"; hreflang="en",
<https://example.com/es/page/>; rel="alternate"; hreflang="es",
<https://example.com/de/page/>; rel="alternate"; hreflang="de",
<https://example.com/en/page/>; rel="alternate"; hreflang="x-default"
Quando usare questo metodo: Necessario per documenti non HTML (PDF, immagini) che hanno varianti linguistiche. Utile anche quando non puoi modificare l'head HTML (ad esempio, in alcune configurazioni CMS).
Vantaggio: Funziona per qualsiasi tipo di contenuto, non solo HTML.
Svantaggio: Più difficile da verificare perché gli header non sono visibili nel codice sorgente renderizzato della pagina. Richiede una configurazione a livello server.
Metodo 3: Sitemap XML
Aggiungi annotazioni hreflang all'interno della tua sitemap XML usando l'elemento xhtml:link all'interno di ogni voce <url>.
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>https://example.com/en/page/</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/page/" />
<xhtml:link rel="alternate" hreflang="es" href="https://example.com/es/page/" />
<xhtml:link rel="alternate" hreflang="de" href="https://example.com/de/page/" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/en/page/" />
</url>
<url>
<loc>https://example.com/es/page/</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/page/" />
<xhtml:link rel="alternate" hreflang="es" href="https://example.com/es/page/" />
<xhtml:link rel="alternate" hreflang="de" href="https://example.com/de/page/" />
<xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/en/page/" />
</url>
</urlset>
Quando usare questo metodo: Ideale per siti di grandi dimensioni con migliaia di pagine. I dati hreflang risiedono nella sitemap anziché su ogni pagina, rendendo più semplice la gestione programmatica e mantenendo il peso della pagina al minimo.
Vantaggio: Scala bene, mantiene l'HTML pulito, può essere generato da strumenti di build o plugin CMS.
Svantaggio: Google deve eseguire il crawl ed elaborare la sitemap prima che l'hreflang abbia effetto. Le modifiche possono richiedere più tempo per propagarsi rispetto ai tag inseriti direttamente nella pagina.
Quando dovresti usare Hreflang?
Hai bisogno di hreflang quando il tuo sito presenta una qualsiasi delle seguenti caratteristiche:
- Più versioni linguistiche dello stesso contenuto (ad esempio, versioni in inglese e spagnolo di una pagina prodotto)
- Variazioni regionali della stessa lingua (ad esempio, inglese britannico e americano, oppure portoghese europeo e brasiliano)
- Un selettore di lingua o geo-redirect che serve contenuti diversi in base alla posizione dell'utente
- Vetrine specifiche per paese con prezzi, valute o disponibilità di prodotti diversi ma contenuto sostanzialmente simile
Non hai bisogno di hreflang quando:
- Il tuo sito esiste in una sola lingua senza varianti regionali
- Utilizzi un widget di traduzione automatica (come la barra di traduzione del browser) anziché mantenere pagine tradotte separatamente
- Il tuo contenuto è completamente diverso tra le regioni (ad esempio, il tuo sito USA e il tuo sito UK non condividono contenuti)
Luoghi comuni su Hreflang
Luogo comune: Hreflang migliora direttamente il posizionamento. Realtà: Hreflang non aumenta il tuo posizionamento. Comunica ai motori di ricerca quale versione mostrare in quale mercato. Il tuo posizionamento dipende ancora dalla qualità dei contenuti, dai backlink e dagli altri segnali SEO tradizionali.
Luogo comune: Hai bisogno di hreflang solo nella homepage.
Realtà: Hreflang deve essere implementato su ogni pagina che ha un equivalente in un'altra lingua o regione. Se la tua pagina /en/about/ ha una versione spagnola in /es/about/, entrambe le pagine necessitano di tag hreflang che puntino l'una all'altra e a sé stesse.
Luogo comune: Google capirà da solo senza hreflang.
Realtà: Sebbene Google utilizzi segnali come l'attributo lang e la lingua del contenuto della pagina per rilevare la lingua, questi sono segnali più deboli. Senza hreflang esplicito, Google mostra frequentemente la versione linguistica sbagliata nei risultati di ricerca, specialmente per siti con strutture URL simili tra le versioni linguistiche.
Luogo comune: Hreflang sostituisce il tag canonical. Realtà: Hreflang e canonical servono scopi diversi e devono essere utilizzati insieme. Il tag canonical comunica ai motori di ricerca quale URL è la copia principale ai fini dell'indicizzazione. Hreflang comunica le alternative linguistiche e regionali. Ogni versione localizzata dovrebbe avere un canonical autoreferenziale che punta a sé stessa, non a un'altra versione. Consulta la nostra guida su hreflang vs canonical per una spiegazione dettagliata.
Luogo comune: Si può usare hreflang con URL relativi.
Realtà: Tutti gli URL negli attributi hreflang devono essere assoluti (che iniziano con https://). Gli URL relativi vengono silenziosamente ignorati dai motori di ricerca, il che significa che la tua implementazione hreflang semplicemente non funzionerà.
Prossimi passi
Ora che hai compreso cos'è hreflang e come funziona, puoi:
- Usare il nostro Generatore di tag Hreflang per creare tag hreflang corretti per le tue pagine
- Leggere sugli errori comuni di hreflang per evitare problemi di implementazione
- Scoprire come hreflang e i tag canonical interagiscono per prevenire conflitti tra i due