Cos’è hreflang: la guida completa per un sito multilingua

In breve: hreflang è un attributo che indica a Google che una pagina esiste in più versioni linguistiche o regionali, e quale versione corrisponde a quale lingua o paese. Così Google può mostrare la pagina italiana a chi cerca dall’Italia e quella per la Svizzera a chi cerca da Lugano. Ogni versione deve indicare sé stessa e tutte le altre, altrimenti le annotazioni possono essere ignorate.
Cos’è hreflang e chi ne ha bisogno?
Hreflang serve se gli stessi contenuti esistono in più lingue, per esempio una versione italiana e una inglese delle pagine dei servizi, oppure se hai versioni nella stessa lingua per paesi diversi. Google lo descrive proprio così: se hai più versioni di una pagina per lingue o aree geografiche diverse, informa Google della loro esistenza (Google Search Central). Se il sito ha una sola lingua e un solo paese di riferimento, hreflang non serve.
Senza hreflang, Google può mostrare la versione sbagliata, per esempio la pagina per la Svizzera con i prezzi in franchi a un utente di Milano, oppure trattare le versioni come pagine in concorrenza tra loro.
Come si scrive hreflang
Google accetta tre metodi equivalenti (Google Search Central):
- Tag link nell’head della pagina. Il metodo più comune per le normali pagine web.
- Intestazioni HTTP. Utili per i file che non sono HTML, come i PDF.
- La sitemap. Pratica per i siti grandi, perché il codice non deve stare in ogni pagina.
Ecco i tag per una pagina disponibile in italiano e in inglese:
<link rel="alternate" hreflang="it" href="https://esempio.it/it/servizi" />
<link rel="alternate" hreflang="en" href="https://esempio.it/en/services" />
<link rel="alternate" hreflang="x-default" href="https://esempio.it/en/services" />Le stesse tre righe devono comparire sia nella pagina italiana sia in quella inglese.
Le regole da rispettare
Hreflang funziona solo se tutte le versioni si citano correttamente a vicenda:
- Ogni versione indica sé stessa e tutte le altre. Se la pagina italiana rimanda a quella inglese, quella inglese deve rimandare a quella italiana (Google Search Central).
- URL completi, con https://, mai percorsi relativi.
- Codici validi. Prima la lingua in formato ISO 639-1, poi eventualmente la regione in formato ISO 3166-1 Alpha 2. Non puoi indicare solo il codice paese: Google non ricava la lingua dal paese (Google Search Central).
- x-default indica la pagina di riserva quando nessuna lingua o regione corrisponde alle impostazioni del browser dell’utente, ad esempio un selettore di lingua (Google Search Central).
- Rimanda solo a pagine funzionanti e canoniche, mai a reindirizzamenti o pagine di errore.
Un dettaglio importante: Google non usa hreflang né l’attributo HTML lang per capire la lingua di una pagina, la determina con i suoi algoritmi a partire dai contenuti (Google Search Central). Hreflang lo aiuta solo a scegliere la versione giusta. Bing invece darebbe più peso al meta tag content-language, quindi può valere la pena aggiungerlo se Bing conta per te (Search Engine Roundtable).
it, it-IT, it-CH: hreflang per l’italiano
Il codice lingua dell’italiano è it. IT è il codice paese dell’Italia e funziona solo in combinazione con una lingua. Lo stesso vale per gli altri paesi: la documentazione di Google ricorda per esempio che be da solo indica il bielorusso, non il Belgio (Google Search Central).
L’italiano è lingua ufficiale anche in Svizzera, nel Canton Ticino e nel Grigioni italiano (Wikipedia). Un’azienda che vende sia in Italia sia in Ticino può quindi avere due versioni in italiano: it-IT e it-CH. Al contrario, in provincia di Bolzano il tedesco è lingua ufficiale accanto all’italiano (Wikipedia): pagine in tedesco pensate per i clienti altoatesini si possono segnalare con de-IT.
| Codice | Significato | Valido? |
|---|---|---|
| it | Italiano, indipendentemente dal paese | Sì |
| it-IT | Italiano per gli utenti in Italia | Sì |
| it-CH | Italiano per gli utenti in Svizzera | Sì |
| it-SM | Italiano per gli utenti a San Marino | Sì |
| de-IT | Tedesco per gli utenti in Italia | Sì |
| en-IT | Inglese per gli utenti in Italia | Sì |
| IT | Un paese senza lingua | No |
| ita | Non è un codice ISO 639-1 | No |
| it_IT | Trattino basso al posto del trattino | No |
Se hai solo italiano e inglese, di solito bastano it ed en. I codici paese hanno senso solo se le versioni sono davvero diverse: prezzi in euro o in franchi svizzeri, spedizioni, IVA, contatti, note legali. Pagine quasi identiche in cui cambia solo il nome del paese portano poco.
Spesso conviene tenere una versione generica it e creare it-CH solo dove qualcosa cambia davvero. Google stesso suggerisce di prevedere una pagina generica per gli utenti la cui regione non ha una versione dedicata, come nell’esempio con una home page generica in inglese e versioni per il Regno Unito e gli Stati Uniti (Google Search Central). Scegli una grafia e usala ovunque: in hreflang, nell’attributo lang e nella sitemap.
Come abbiamo fatto sul nostro sito
Il nostro sito esiste in più lingue, quindi abbiamo dovuto risolvere il problema anche noi:
- L’inglese sta nella radice, senza /en, mentre le altre lingue hanno un prefisso proprio, come /sv per lo svedese, /fr per il francese o /it per l’italiano.
- Gli articoli del blog pubblicati in più lingue sono articoli distinti, con indirizzi e parole chiave propri per ogni mercato. Quando trattano lo stesso argomento si collegano con hreflang, anche se gli slug sono tradotti.
- x-default punta alla versione inglese, quando esiste.
- Argomenti diversi non ricevono hreflang. Una pagina inglese sull’integrazione con Xero e QuickBooks e una pagina svedese su Fortnox parlano di prodotti diversi: non si collegano tra loro, anche se la struttura è identica.
Tutto viene generato automaticamente dagli stessi dati che decidono quali pagine esistono in quale lingua, quindi il codice non può essere dimenticato quando si aggiunge una pagina o una lingua. Come si gestiscono i contenuti lo spieghiamo in Cos’è un CMS?
Gli errori hreflang più comuni
Ahrefs ha analizzato quasi 375.000 domini che usano hreflang e ha scoperto che il 67% aveva almeno un errore (Ahrefs):
| Errore | Quota dei domini |
|---|---|
| x-default mancante | 56,3% |
| La pagina non indica sé stessa | 18% |
| Link a pagine rotte o reindirizzate | 16,9% |
| Link di ritorno mancanti | 15,3% |
| Link a pagine non canoniche | 8% |
| Codici lingua o paese non validi | 4,6% |
Un altro errore frequente è reindirizzare automaticamente i visitatori a un’altra versione linguistica in base a quella che si presume sia la loro lingua. Google lo sconsiglia, perché utenti e motori di ricerca potrebbero non riuscire a vedere tutte le versioni del sito (Google Search Central). Meglio un selettore di lingua ben visibile. Per verificare quali versioni Google mostra davvero, usa Google Search Console, oppure chiedi un audit SEO.
Quale struttura di URL per un sito multilingua?
Google descrive quattro modi per strutturare un sito multilingua o multiregionale (Google Search Central):
| Struttura | Esempio | Commento |
|---|---|---|
| Dominio nazionale | esempio.ch | Il segnale più chiaro per un paese, ma più domini da gestire |
| Sottodominio | ch.esempio.com | Facile da separare tecnicamente |
| Sottodirectory | esempio.com/it-ch/ | Facile da configurare, manutenzione ridotta su un solo host |
| Parametro URL | esempio.com?lang=it | Non consigliato da Google |
Usa anche una sola lingua per pagina, nei contenuti e nella navigazione, evitando le traduzioni affiancate (Google Search Central). Se cambi struttura durante un rifacimento del sito web, pianifica hreflang, reindirizzamenti e sitemap nello stesso passaggio. Per le basi leggi Cos’è la SEO? e Come funziona la SEO.
Domande frequenti
Cos’è hreflang?
Hreflang è un attributo HTML che indica a Google che una pagina esiste in più versioni linguistiche o regionali, e quale versione corrisponde a quale lingua o paese. Così Google può mostrare a ogni utente la versione giusta.
Come si scrive un tag hreflang?
Nell’head di ogni versione aggiungi un tag link rel="alternate" per ciascuna variante, con l’attributo hreflang (per esempio it o it-CH) e l’URL completo della variante, compresa la pagina stessa. In alternativa puoi usare le intestazioni HTTP o la sitemap.
Che differenza c’è tra it e it-IT?
it indica l’italiano indipendentemente dal paese. it-IT indica l’italiano per gli utenti in Italia e it-CH per quelli in Svizzera. I codici paese servono solo se le versioni sono davvero diverse, per esempio per valuta, spedizioni o note legali.
Cos’è x-default in hreflang?
x-default è un valore riservato che indica la pagina da mostrare quando nessuna versione corrisponde alla lingua o alla regione dell’utente. Si usa spesso per un selettore di lingua o per la versione internazionale del sito.
Serve hreflang per un sito multilingua?
Sì, se gli stessi contenuti esistono in più lingue o per più paesi. Senza hreflang Google può mostrare la versione sbagliata o trattare le versioni come pagine in concorrenza. Un sito in una sola lingua per un solo paese non ne ha bisogno.
Google usa hreflang per capire la lingua di una pagina?
No. Google determina la lingua dai contenuti della pagina con i suoi algoritmi, non da hreflang né dall’attributo lang. Hreflang serve solo a scegliere quale versione mostrare.
Quali sono gli errori hreflang più comuni?
Secondo uno studio di Ahrefs su quasi 375.000 domini, il 67% ha almeno un errore. I più frequenti sono x-default mancante, pagine che non indicano sé stesse, link a pagine rotte o reindirizzate e link di ritorno mancanti.
Fonti
- Informare Google dell'esistenza di versioni localizzate di una pagina, Google Search Central
- Gestione dei siti multiregionali e multilingue, Google Search Central
- Over 67% of Domains Using Hreflang Have Issues (Study of 374,756 Domains), Ahrefs
- Bing Geo-Targeting With Meta Language Tag, Search Engine Roundtable
- Svizzera italiana, Wikipedia
- Provincia autonoma di Bolzano, Wikipedia








