Cos'è hreflang? La guida completa per il 2025
8 minuti di lettura
Cos'è hreflang e perché è importante
Hreflang è un attributo HTML che indica ai motori di ricerca — principalmente a Google — quale lingua e versione regionale di una pagina mostrare a quale utente. Senza di esso, Google deve indovinare. E quando Google sbaglia, un utente tedesco finisce sulla tua pagina in italiano, abbandona immediatamente il sito e tu perdi il segnale di ranking.
Per qualsiasi sito web che si rivolge a più di una lingua o a più di un paese, hreflang non è facoltativo. È il fondamento della SEO internazionale. Eppure la maggior parte dei siti web o non lo implementa affatto, oppure lo implementa in modo errato: tralasciando l'x-default, utilizzando codici paese sbagliati o costruendo una matrice incompleta.
L'attributo hreflang: spiegazione della sintassi
I tag hreflang si trovano nella <head> sezione del tuo HTML. Ogni tag dichiara una lingua o una variante locale della pagina corrente. Un'implementazione completa si presenta così:
Il codice lingua segue lo standard ISO 639-1 (codici a due lettere: it, de, en, fr). È possibile combinare i codici lingua e paese per il targeting regionale: en-gb per l'inglese britannico, de-at per il tedesco austriaco.
Errori comuni relativi a hreflang
Gli errori più gravi nell'implementazione di hreflang — e quelli che John Mueller di Google ha segnalato ripetutamente — sono:
- x-default mancante — Il tag x-default indica a Google quale pagina mostrare quando non viene trovata alcuna corrispondenza linguistica. Senza di esso, Google potrebbe mostrare la versione sbagliata agli utenti la cui lingua non è esplicitamente targetizzata.
- Matrice incompleta — Ogni pagina che dichiara un'alternativa deve anche rimandare alla pagina originale. Se la tua pagina in italiano dice "la mia versione in tedesco è de.example.com/page", quella pagina in tedesco deve dire "la mia versione in italiano è example.com/page". Le matrici incomplete fanno sì che Google ignori l'intero insieme.
- Codici paese errati — Utilizzo di
ukinvece digbper la Gran Bretagna è un errore comune. La parte relativa al paese utilizza i codici ISO 3166-1 alpha-2, non abbreviazioni generiche. - Incoerenza tra HTTP e HTTPS — Tutti gli URL nei tuoi tag hreflang devono utilizzare lo stesso protocollo della versione canonica della pagina.
Come Google utilizza hreflang per decidere quale versione mostrare
Google non si limita a seguire i tag hreflang: li considera un segnale forte, non una direttiva. Il processo funziona più o meno così: quando un utente effettua una ricerca su Google.de, Google cerca le pagine con hreflang="de" o hreflang="de-de". Se trova una corrispondenza confermata (il tag è presente sia sulla pagina di origine che su quella di destinazione), mostra quella versione nei risultati di ricerca.
Google utilizza anche la posizione dell'utente, le impostazioni della lingua del browser e la lingua della query di ricerca come segnali. Hreflang è il meccanismo che consente di indicare esplicitamente a Google quale pagina mostrare, anziché lasciare che sia Google a dedurlo da questi segnali.
Hreflang vs canonical — quando utilizzare l’uno o l’altro
Questi due tag risolvono problemi diversi e devono essere utilizzati insieme, non l'uno al posto dell'altro. Il tag canonical indica a Google quale versione di una pagina è quella primaria quando si hanno contenuti duplicati o quasi duplicati. Il tag hreflang indica a Google quale versione linguistica di una pagina mostrare a quale utente.
Per i siti multilingue, ogni versione linguistica dovrebbe avere il proprio canonical che punta a se stessa, oltre a una matrice hreflang completa. Il canonical previene le penalizzazioni per i contenuti duplicati; l'hreflang assicura che venga servita la lingua corretta.
Come implementare hreflang senza modificare il CMS
L'implementazione tradizionale richiede la modifica di ogni modello di pagina nel CMS: l'aggiunta dei tag hreflang alla sezione <head> e il mantenimento della matrice sincronizzata man mano che si aggiungono o si rimuovono versioni linguistiche. Per i siti di grandi dimensioni, questo è soggetto a errori e costoso da mantenere.
L'alternativa moderna consiste nell'inserire hreflang ai margini della rete, utilizzando una funzione proxy o CDN che intercetta la risposta e aggiunge i tag prima che il browser riceva l'HTML. Questo approccio funziona con qualsiasi CMS e qualsiasi provider di hosting e non richiede alcuna modifica al codice esistente.