Un sito con versioni in più lingue rischia un problema silenzioso: Google può mostrare la pagina italiana a chi cerca da un browser in inglese, o viceversa, semplicemente perché non sa quale versione proporre. Il tag hreflang risolve esattamente questo: dice ai motori di ricerca quale lingua (ed eventualmente quale paese) serve ogni versione della pagina.
Come funziona
Ogni pagina dichiara, tramite un tag nell’<head>, gli indirizzi delle sue versioni in altre lingue. Un esempio per una pagina con versione italiana e inglese:
<link rel="alternate" hreflang="it" href="https://tuosito.com/it/pagina/" />
<link rel="alternate" hreflang="en" href="https://tuosito.com/en/pagina/" />
<link rel="alternate" hreflang="x-default" href="https://tuosito.com/en/pagina/" />
Il codice segue lo standard ISO: due lettere per la lingua (it, en), con l’aggiunta facoltativa del paese (en-US, en-GB) se serve distinguere varianti diverse della stessa lingua.
Il campo x-default
x-default indica la versione da mostrare a chi cerca in una lingua non prevista dal sito, per esempio un visitatore che cerca in francese su un sito solo italiano/inglese. Non è obbligatorio, ma evita che quei visitatori finiscano su una versione scelta a caso.
Gli errori più comuni
- Mancanza di reciprocità Se la pagina italiana punta a quella inglese, anche quella inglese deve puntare indietro a quella italiana. Un collegamento in un solo verso viene ignorato da Google.
- Indirizzi assoluti mancanti Il tag richiede sempre l’indirizzo completo (
https://...), mai un percorso relativo. - Confondere lingua e paese
hreflang="it"copre l’italiano ovunque sia parlato;hreflang="it-IT"lo limita all’Italia. Usare il secondo per errore esclude altri paesi di lingua italiana. - Auto-riferimento mancante Ogni pagina deve includere anche un tag hreflang verso se stessa, non solo verso le altre versioni.
FAQ
hreflang influenza il posizionamento?
No direttamente: non è un fattore di ranking. Serve a far mostrare la versione giusta della pagina a chi cerca, non a farla salire in classifica.
L’effetto indiretto però c’è: mostrare la lingua sbagliata a un visitatore aumenta l’abbandono immediato, un segnale che nel tempo può pesare sul rendimento della pagina.
hreflang e canonical possono coesistere sulla stessa pagina?
Sì, e devono. Il canonical di ogni versione deve puntare a se stessa (auto-referenziale), mai a una delle altre lingue — un errore comune è mettere il canonical di tutte le versioni sulla sola pagina principale.
Se canonical e hreflang si contraddicono (per esempio il canonical della versione inglese punta all’italiana), Google tende a fidarsi del canonical, ignorando l’hreflang.
Serve hreflang se il sito è in una sola lingua ma per paesi diversi (es. IT e CH)?
Sì, ha senso se il contenuto cambia tra i due paesi (prezzi, valuta, normative locali), anche restando nella stessa lingua. In quel caso si usano codici come it-IT e it-CH.
Se invece il contenuto è identico e cambia solo il dominio o poco altro, spesso non vale la complessità di gestire hreflang: va valutato caso per caso.
Come verifico che il mio hreflang sia corretto?
Il modo più diretto è il rapporto “Hreflang” dentro Search Console, che segnala reciprocità mancanti e altri errori comuni. Esistono anche validatori online gratuiti che analizzano una pagina alla volta.
Un controllo manuale utile: apri il codice sorgente di ogni versione linguistica e verifica a mano che punti correttamente alle altre, comprese se stesse.
hreflang va messo anche nella sitemap XML?
È un’alternativa al tag nell’<head>, non un’aggiunta: si può dichiarare hreflang o nel codice della pagina o dentro la sitemap XML, mai serve fare entrambe le cose per la stessa pagina.
La sitemap è spesso più pratica su siti con molte pagine e molte lingue, perché centralizza tutte le dichiarazioni in un solo file invece di doverle ripetere su ogni pagina.
Questo articolo ha scopo informativo. I risultati SEO dipendono da molti fattori e i tempi variano da sito a sito.
