⌕ SEO tecnico

Hreflang: come collegare le versioni linguistiche di un sito

Come funzionano le annotazioni hreflang, i codici di lingua e paese, i link di ritorno e x-default, con gli errori più comuni e un metodo per verificarli.

Quando un sito esiste in più lingue, o nella stessa lingua per paesi diversi, il motore di ricerca deve capire quale versione mostrare a chi. L'attributo hreflang serve esattamente a questo: dice «questa pagina ha delle alternative equivalenti, e questa è la lingua (e talvolta il paese) di ciascuna». Non è un segnale di posizionamento, è un segnale di sostituzione: aiuta a mostrare la versione giusta al posto di quella sbagliata.

Cosa risolve e cosa no

Hreflang è utile in due casi tipici:

  • lo stesso contenuto tradotto in più lingue (italiano, inglese, tedesco);
  • contenuti molto simili nella stessa lingua per mercati diversi, per esempio inglese per Regno Unito e Stati Uniti con prezzi, valute o spedizioni differenti.

Non risolve invece problemi di indicizzazione: se una versione non è indicizzata, hreflang non la fa entrare nell'indice. E non sostituisce una buona traduzione: una pagina tradotta automaticamente e povera resta tale anche se annotata correttamente.

I codici: lingua prima, paese dopo

Il valore di hreflang è un codice di lingua nel formato ISO 639-1, seguito facoltativamente da un codice di paese ISO 3166-1 alpha-2:

Valore Significato
it italiano, per qualunque paese
it-CH italiano per la Svizzera
en-GB inglese per il Regno Unito
en-US inglese per gli Stati Uniti
x-default versione predefinita quando nessuna corrisponde

Errori di codice frequenti:

  • usare en-UK invece di en-GB: il codice del Regno Unito è GB;
  • indicare solo il paese, come ch, che verrebbe letto come una lingua inesistente o diversa;
  • usare il trattino basso, come it_IT, che è la notazione delle localizzazioni software ma non quella prevista.

Il paese non si può indicare da solo: la lingua è sempre obbligatoria.

I tre modi per dichiararlo

Nell'head della pagina

È il metodo più comune. Ogni pagina elenca tutte le sue alternative, inclusa sé stessa:

<link rel="alternate" hreflang="it" href="https://example.com/it/prezzi/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/pricing/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/pricing/" />

Nell'intestazione HTTP

Per i file che non sono HTML, come i PDF, si usa l'intestazione Link con la stessa logica.

Nella sitemap XML

Ogni elemento <url> contiene una serie di xhtml:link con le alternative. È la soluzione più pulita per siti grandi, perché toglie peso all'HTML e centralizza la gestione, ma richiede che la sitemap sia generata in modo affidabile.

Conviene scegliere un solo metodo. Usarne due non è vietato, ma raddoppia i punti in cui le informazioni possono divergere.

La regola del ritorno

Le annotazioni devono essere reciproche. Se la pagina italiana indica la versione inglese come alternativa, la pagina inglese deve indicare quella italiana. Un collegamento senza ritorno viene ignorato, perché altrimenti chiunque potrebbe dichiararsi alternativa di una pagina altrui.

Nel mio lavoro questa è la causa di errore più frequente: una traduzione aggiunta in un secondo momento che punta all'originale, mentre l'originale non è mai stato aggiornato.

X-default

x-default indica la pagina da mostrare quando la lingua o il paese dell'utente non corrispondono a nessuna versione. Di solito è:

  • una pagina di scelta della lingua;
  • oppure la versione principale, spesso quella inglese.

Non è obbligatorio, ma su siti con un pubblico internazionale evita che chi parla una lingua non prevista finisca su una versione casuale.

Hreflang e canonical devono andare d'accordo

Ogni versione linguistica deve avere un canonical verso sé stessa, non verso la versione principale. Se la pagina inglese dichiara come canonica quella italiana, sta dicendo al motore di non considerarla, e l'annotazione hreflang perde senso.

Inoltre gli URL indicati in hreflang devono essere:

  • quelli canonici, non varianti con parametri;
  • raggiungibili con risposta 200;
  • indicizzabili, quindi senza noindex e non bloccati da robots.txt.

Gli errori più comuni

  1. Link di ritorno mancanti tra coppie di pagine.
  2. Pagina che non elenca sé stessa tra le alternative.
  3. Codici sbagliati, come en-UK o it_IT.
  4. URL che redirigono o rispondono 404.
  5. Tutte le versioni puntano alla home di ciascuna lingua invece che alla pagina equivalente.
  6. Canonical incrociati verso un'altra lingua.

Come verificarlo

  • Un crawler desktop con il controllo hreflang attivo segnala ritorni mancanti, codici non validi e URL non indicizzabili.
  • Gli strumenti per webmaster dei motori mostrano come vengono scelte le pagine canoniche per ciascuna versione.
  • Per un controllo rapido su singole pagine, basta aprire il sorgente e confrontare l'elenco delle alternative tra le diverse versioni: devono essere identici.

Quando le versioni sono molte, conviene generare le annotazioni da un'unica tabella di corrispondenze nel CMS o nel sistema di build, invece di scriverle a mano pagina per pagina.

In sintesi

  • Hreflang indica le versioni equivalenti di una pagina in altre lingue o paesi.
  • Il codice è lingua ISO 639-1, con paese ISO 3166-1 facoltativo: en-GB, non en-UK.
  • Ogni pagina elenca tutte le alternative, inclusa sé stessa, e i collegamenti devono essere reciproci.
  • Ogni versione ha un canonical verso sé stessa, mai verso un'altra lingua.
  • Genera le annotazioni da un'unica fonte e verificale con un crawler.
MM
Marco Marzaduri

Marco Marzaduri si occupa di cybersecurity, informatica forense e sviluppo web. Laureato in informatica, unisce il rigore dell'analisi tecnica all'attenzione per le persone che usano la tecnologia.

Leggi anche