Hai un sito in più lingue e ti sei mai chiesto davvero se Google sta mostrando la versione giusta all’utente giusto? Non è una domanda retorica: molti siti multilingua funzionano tecnicamente, ma comunicano in modo confuso al motore di ricerca. Il risultato è che un utente tedesco atterra sulla versione italiana, o che Google interpreta due versioni dello stesso contenuto come duplicati.
L’attributo hreflang esiste proprio per risolvere questo problema, ma è uno di quegli elementi tecnici che si implementa spesso in modo approssimativo: tag mancanti, codici sbagliati, autoreferenzialità assente. Ho visto siti con strutture multilingua elaborate che non avevano un singolo tag hreflang corretto.
L’implementazione corretta richiede meno tempo di quanto sembri, ma richiede di capire la logica prima di toccare il codice. In questo articolo ti spiego come funziona hreflang, dove inserirlo e come evitare gli errori più comuni che rendono invisibile il tuo lavoro ai motori di ricerca.
Cos’è l’attributo hreflang e a cosa serve
Hreflang è un attributo HTML che indica a Google la lingua e, opzionalmente, il paese di destinazione di una pagina web. Viene usato nei siti multilingua o multi-paese per segnalare quale versione di un contenuto deve essere mostrata a un utente in base alla sua lingua o posizione geografica.
Senza hreflang, Google deve dedurre da solo quale versione mostrare. Può farlo correttamente, oppure no. Quando sbaglia, l’effetto è duplice: esperienza utente degradata e rischio concreto di contenuto duplicato tra versioni linguistiche simili.
Il tag hreflang non è un fattore di ranking diretto: non ti fa salire in classifica. Ma risolve un problema di targeting che, se ignorato, fa perdere traffico qualificato su tutti i mercati che stai cercando di presidiare.
Hreflang: cosa sono e cosa dichiarano a Google
Gli hreflang sono attributi che dichiarano esplicitamente a Google la relazione tra le versioni linguistiche o geografiche di una stessa pagina. In pratica, stai dicendo al motore: “questa pagina in italiano e questa pagina in spagnolo trattano lo stesso contenuto, ma per audience diverse.”
Un esempio concreto: un e-commerce con versione italiana e spagnola pubblica la stessa scheda prodotto in entrambe le lingue. Senza hreflang, Google vede due URL con contenuto quasi identico e può scegliere di indicizzarne solo uno, oppure penalizzarli entrambi per duplicazione.
Con hreflang correttamente implementato, capisce che sono due versioni distinte per mercati distinti, e le tratta di conseguenza.
Come funziona hreflang: lingua, paese e URL
La logica dell’attributo è semplice: ogni tag dichiara una corrispondenza tra un URL e un pubblico specifico, identificato da un codice lingua o da una combinazione lingua-paese.
I codici lingua seguono lo standard ISO 639-1 (due lettere: it, en, de, fr). I codici paese seguono lo standard ISO 3166-1 alpha-2 (due lettere maiuscole: IT, GB, DE, FR). Puoi usarli da soli o combinati, a seconda di quanto vuoi essere preciso nel targeting.
Codici lingua e paese: come sceglierli correttamente
La scelta dipende dall’obiettivo. Ecco i casi principali:
it: targeting per lingua italiana, indipendentemente dal paese. Utile se vuoi raggiungere tutti gli italofoni.it-IT: targeting per lingua italiana, pubblico in Italia. Usalo se hai contenuti o prezzi specifici per il mercato italiano.en-GB: inglese per il mercato britannico. Diverso daen-US, che è inglese per gli Stati Uniti.en: inglese generico, senza targeting geografico. Funziona bene come fallback.
L’errore più comune è usare il solo codice lingua quando si ha bisogno di differenziare per paese: prezzi, valute, normative. Un altro errore frequente è scrivere i codici paese in minuscolo (en-gb invece di en-GB): tecnicamente Google è tollerante, ma la specifica prevede le maiuscole e conviene seguirla.
Il tag x-default: quando e come usarlo
Il valore x-default è un caso speciale: indica la pagina di default da mostrare quando nessuna delle versioni linguistiche corrisponde alla lingua o al paese dell’utente.
Va usato in due situazioni principali: quando hai una pagina di selezione lingua senza contenuto specifico, o quando vuoi indicare una versione generica come fallback internazionale.
Esempio di implementazione nell’head HTML:
<link rel="alternate" hreflang="it" href="https://esempio.com/it/" />
<link rel="alternate" hreflang="en" href="https://esempio.com/en/" />
<link rel="alternate" hreflang="x-default" href="https://esempio.com/" />
Il tag x-default punta all’URL principale del sito, che in questo caso funge da pagina di selezione lingua. Se non hai una pagina del genere, fallo puntare alla versione più universale del contenuto.
Dove inserire i tag hreflang: HTML, sitemap o HTTP header
Esistono tre metodi per implementare hreflang. La scelta dipende dalla piattaforma e dalla dimensione del sito.
Implementazione hreflang nell’head HTML
È il metodo più diffuso e funziona bene per siti di dimensioni medie. Ogni tag va inserito nell’<head> di ogni pagina e deve includere tutte le versioni linguistiche, compresa l’autoreferenziale (la pagina che punta a se stessa).
<!-- Versione italiana, inserita nella pagina /it/ -->
<link rel="alternate" hreflang="it" href="https://esempio.com/it/prodotto/" />
<link rel="alternate" hreflang="en" href="https://esempio.com/en/product/" />
<link rel="alternate" hreflang="x-default" href="https://esempio.com/en/product/" />
Il tag autoreferenziale è obbligatorio: ogni pagina deve includere se stessa nella lista delle versioni alternate. Dimenticarlo è uno degli errori più frequenti che trovo negli audit.
Hreflang nella sitemap XML
Per siti grandi con molte versioni linguistiche, gestire hreflang nell’HTML diventa pesante. La sitemap XML è la soluzione più scalabile: centralizza tutte le dichiarazioni in un unico file e riduce il rischio di disallineamenti tra pagine.
La sintassi usa il namespace xhtml:
<url>
<loc>https://esempio.com/it/prodotto/</loc>
<xhtml:link rel="alternate" hreflang="it" href="https://esempio.com/it/prodotto/"/>
<xhtml:link rel="alternate" hreflang="en" href="https://esempio.com/en/product/"/>
<xhtml:link rel="alternate" hreflang="x-default" href="https://esempio.com/en/product/"/>
</url>
Ogni URL del sito deve avere il proprio blocco <url> con tutti i tag alternate. Se la sitemap cresce molto, conviene suddividerla per lingua o sezione.
Hreflang su PrestaShop: come configurarlo
PrestaShop gestisce nativamente i negozi multilingua, ma l’implementazione degli hreflang non è sempre corretta out of the box. Il back office permette di attivare più lingue e assegnare URL separati per ogni versione, ma i tag hreflang vanno verificati manualmente o affidati a un modulo dedicato.
I moduli più usati per hreflang su PrestaShop integrano la gestione SEO internazionale: permettono di configurare i codici lingua-paese per ciascuna versione, gestire il tag x-default e generare automaticamente i tag nell’head di ogni pagina.
Le impostazioni da verificare nel back office:
- ISO code per ogni lingua: non sempre il default è quello corretto
- Coerenza degli URL: le versioni linguistiche devono essere canonicamente allineate
- Conflitti tra moduli: verifica che il modulo hreflang non generi tag duplicati o in contrasto con altri plugin SEO attivi
Errori comuni nell’implementazione hreflang e come evitarli
Questi sono gli errori che trovo più spesso negli audit tecnici su siti multilingua. Ognuno ha un effetto concreto: Google ignora il tag, indicizza la versione sbagliata, o tratta le versioni linguistiche come contenuto duplicato.
- Tag autoreferenziale mancante: ogni pagina deve linkare a se stessa con il proprio hreflang. Se manca, Google può ignorare l’intera dichiarazione.
- Codici lingua errati: usare
it-itinvece diit-IT, oppure inventare codici inesistenti comeit-EU. Google non riconosce codici non standard e ignora il tag. - Implementazione non reciproca: se la pagina italiana linka la versione inglese, la versione inglese deve linkare quella italiana. I tag devono essere speculari su tutte le versioni.
- Hreflang su pagine non indicizzabili: mettere hreflang su pagine con noindex è inutile. Google non può processarle come alternate valide.
- URL con parametri o redirect: i tag hreflang devono puntare all’URL canonico finale, non a URL con parametri di tracking o che reindirizzano altrove.
Come verificare hreflang con Google Search Console
Google Search Console ha un report dedicato agli errori di internazionalizzazione, nella sezione Miglioramenti internazionali. Mostra tre categorie di problemi: errori nella lingua, errori nel tag hreflang e URL non trovati.
Per usarlo in modo efficace: dopo l’implementazione, richiedi una nuova scansione delle pagine interessate, poi torna nel report dopo qualche giorno. Gli errori mostrati includono la pagina sorgente, il problema specifico e, spesso, la causa diretta.
Un secondo strumento utile è Screaming Frog, che permette di estrarre tutti i tag hreflang del sito, verificare la reciprocità e individuare eventuali URL irraggiungibili prima ancora che Google li scansioni.
Hreflang e Google: come il motore di ricerca li interpreta
Google usa i tag hreflang per servire la versione più pertinente di una pagina in base alla lingua del browser dell’utente e alla sua posizione geografica. Non è un segnale di ranking, ma influenza direttamente quale URL appare nei risultati di ricerca per un determinato mercato.
Secondo la documentazione ufficiale di Google Search Central, i tag hreflang vengono processati insieme ai segnali di geolocalizzazione e alla lingua impostata nell’account Google dell’utente. Quando i tag sono corretti e reciproci, Google ha abbastanza informazioni per fare la scelta giusta.
Quando mancano o sono incoerenti, torna a dedurre da solo. E come già detto, può sbagliare.
Hreflang è obbligatorio per i siti multilingua?
No, l’attributo hreflang non è obbligatorio. Google riesce comunque a indicizzare siti multilingua anche senza di esso. Ma in assenza di hreflang, il rischio di contenuto duplicato cresce in modo significativo, e il targeting geografico diventa approssimativo.
Il caso in cui è più critico implementarlo è l’e-commerce internazionale: prezzi diversi per paese, valute diverse, normative diverse. In quel contesto, mostrare la versione sbagliata a un utente non è solo un problema SEO, ma di conversione diretta.
Ho lavorato con un e-commerce B2B nel settore industriale che aveva versioni in italiano, inglese e tedesco. I tag hreflang erano presenti ma non reciproci: la versione tedesca non linkava quella italiana, e Google stava indicizzando le pagine tedesche come standalone invece di riconoscerle come parte di un sistema multilingua coerente.
Dopo la correzione, il traffico organico tedesco è cresciuto del 42% in sei mesi.
Hreflang non è obbligatorio. Ma ignorarlo in un progetto internazionale significa lasciare visibilità sul tavolo, mercato per mercato.
Vuoi implementare hreflang correttamente sul tuo sito? Contattami per una consulenza SEO su misura.
Se quello che hai letto ti risuona, fammi sapere su cosa stai lavorando.
Contattami



