Quando informare Google dell'esistenza di versioni localizzate di una pagina

Usare hreflang o Sitemap per pagine relative a lingue o aree geografiche specifiche

Se hai più versioni di una pagina relative a lingue o aree geografiche diverse, informa Google dell'esistenza di tali varianti. In questo modo la Ricerca Google potrà indirizzare gli utenti alla versione della pagina più appropriata in base alla lingua o all'area geografica.

Tieni presente che Google potrebbe trovare anche senza il tuo intervento le versioni della pagina in altre lingue, ma generalmente è meglio indicare espressamente le pagine relative a lingue o aree geografiche specifiche.

Di seguito sono riportati alcuni scenari di esempio per cui è consigliabile indicare le pagine alternative:

  • Se mantieni i contenuti principali in una sola linguatraduci soltanto il modello, ad esempio la barra di navigazione e il piè di pagina. Si tratta di una soluzione comune per le pagine con contenuti generati dagli utenti, come i forum.
  • Se i tuoi contenuti presentano piccole varianti locali con contenuti simili in un'unica lingua. Ad esempio, potresti avere contenuti in inglese destinati a utenti di Stati Uniti, Gran Bretagna e Irlanda.
  • Se i contenuti del tuo sito sono completamente tradotti in diverse lingue. Ad esempio, per ogni pagina hai le versioni in tedesco e in inglese.
Creating multi-regional and multilingual sites

Metodi per indicare le pagine alternative

Esistono tre modi per indicare a Google le versioni di una pagina in diverse lingue e per diverse aree geografiche.

Tag HTML

Aggiungi elementi <link rel="alternate" hreflang="lang_code"... > all'intestazione della pagina per informare Google di tutte le varianti della pagina in diverse lingue e per diverse aree geografiche. Questo metodo è utile se non hai una Sitemap o la possibilità di specificare intestazioni di risposta HTTP per il tuo sito.

Ogni variante delle pagina dovrebbe includere un insieme di elementi <link> nell'elemento <head>, ossia un link per ogni variante della pagina, inclusa la pagina stessa. L'insieme di link è identico per ogni versione della pagina. Leggi le linee guida aggiuntive.

Ecco la sintassi di ogni elemento link:

<link rel="alternate" hreflang="lang_code" href="url_of_page" />

lang_code
Un codice lingua/area geografica target supportato da questa versione della pagina oppure x-default per indicare qualsiasi lingua non elencata espressamente tramite un tag hreflang nella pagina.
url_of_page
L'URL completo della versione di questa pagina relativa alla lingua/area geografica specificata.
Inserisci i tag <link> nella parte superiore dell'elemento <head>. I tag <link> devono essere inseriti almeno in una sezione <head> con formato corretto oppure prima di qualsiasi elemento che potrebbe causare la chiusura prematura dell'elemento <head>, ad esempio <p> o un pixel di monitoraggio. In caso di dubbi, incolla il codice della pagina visualizzata in uno strumento di convalida HTML per assicurarti che i link siano all'interno dell'elemento <head>.

Esempio

Example Widgets, Inc ha un sito web per gli utenti negli Stati Uniti, in Gran Bretagna e in Germania. I seguenti URL hanno sostanzialmente gli stessi contenuti, ma con varianti locali:

  • http://en.example.com/page.html: home page generica in inglese che contiene informazioni sui costi delle spedizioni internazionali che partono dagli Stati Uniti.
  • http://en-gb.example.com/page.html: home page per il Regno Unito in cui i prezzi sono indicati in sterline inglesi.
  • http://en-us.example.com/page.html: home page per gli Stati Uniti in cui i prezzi sono indicati in dollari americani.
  • http://de.example.com/page.html: home page in tedesco.
  • http://www.example.com/: pagina predefinita che non ha come target una lingua o un'area geografica specifica; ha dei selettori per consentire agli utenti di scegliere la lingua e l'area geografica desiderate.

Tieni presente che i sottodomini di questi URL relativi a lingue specifiche (en, en-gb, en-us, de) non vengono usati da Google per stabilire il pubblico di destinazione della pagina; devi associare esplicitamente il pubblico di destinazione.

Di seguito è riportato il codice HTML da incollare nella sezione <head> di tutte le pagine elencate in precedenza. Questo codice serve a indirizzare gli utenti che parlano inglese americano, inglese britannico, inglese comune e tedesco alle pagine localizzate, nonché a rimandare tutti gli altri utenti a una home page generica. La Ricerca Google restituisce il risultato appropriato per l'utente, in base alle impostazioni del browser.

<head>
  <title>Widgets, Inc</title>
  <link rel="alternate" hreflang="en-gb"
        href="http://en-gb.example.com/page.html" />
  <link rel="alternate" hreflang="en-us"
        href="http://en-us.example.com/page.html" />
  <link rel="alternate" hreflang="en"
        href="http://en.example.com/page.html" />
  <link rel="alternate" hreflang="de"
        href="http://de.example.com/page.html" />
  <link rel="alternate" hreflang="x-default"
        href="http://www.example.com/" />
</head>

 

Intestazioni HTTP

Puoi restituire un'intestazione HTTP con la risposta GET della pagina per informare Google di tutte le varianti della pagina in diverse lingue e per diverse aree geografiche. Questo metodo è utile per i file in formato diverso da HTML, ad esempio PDF.

Ecco il formato dell'intestazione:

Link: <url1>; rel="alternate"; hreflang="lang_code_1", <url2>; rel="alternate"; hreflang="lang_code_2", ...

<url_x>
L'URL completo della pagina alternativa corrispondente alla stringa dell'area geografica assegnata all'attributo hreflang associato. L'URL deve essere racchiuso tra i segni < >. Esempio: <https://www.google.com>
lang_code_x
Un codice lingua/area geografica target supportato da questa versione della pagina oppure x-default per indicare qualsiasi lingua non elencata espressamente tramite un tag hreflang nella pagina.

Devi specificare un insieme di valori <url>, rel="alternate" e hreflang per ogni versione della pagina, inclusa la versione richiesta, separati da una virgola come mostrato nell'esempio che segue. L'intestazione Link: restituita per ogni versione di una pagina è sempre uguale. Leggi le linee guida aggiuntive.

Esempio

Di seguito è riportata un'intestazione Link: di esempio restituita da un sito con tre versioni di un file PDF: una per gli utenti di lingua inglese, una per gli utenti di lingua tedesca della Svizzera e un'altra per tutti gli altri utenti di lingua tedesca.

Link: <http://example.com/file.pdf>; rel="alternate"; hreflang="en",
      <http://de-ch.example.com/file.pdf>; rel="alternate"; hreflang="de-ch",
      <http://de.example.com/file.pdf>; rel="alternate"; hreflang="de"

 

Sitemap

Puoi usare una Sitemap per indicare a Google tutte le varianti in diverse lingue e per diverse aree geografiche di ogni URL. A tale scopo, aggiungi un elemento <loc> per specificare un singolo URL, con voci secondarie <xhtml:link> per elencare ogni variante di lingua/area geografica della pagina, inclusa la pagina stessa. Di conseguenza, se hai tre versioni di una pagina, la Sitemap deve avere tre voci, ognuna con tre voci secondarie identiche.

Regole per la Sitemap:

  • Specifica lo spazio dei nomi xhtml come segue:
    xmlns:xhtml="http://www.w3.org/1999/xhtml"
  • Crea un elemento <url> separato per ogni URL.
  • Ogni elemento <url> deve includere un elemento secondario <loc> che indichi l'URL della pagina.
  • Ogni elemento <url> deve avere un elemento secondario <xhtml:link rel="alternate" hreflang="supported_language-code"> che elenchi ogni versione alternativa della pagina, inclusa la pagina stessa.  L'ordine degli elementi secondari <xhtml:link> non è importante, anche se potresti voler mantenere lo stesso ordine per verificare più facilmente la presenza di errori.
  • Leggi le linee guida aggiuntive.

Esempio

Di seguito è riportata una pagina in inglese destinata agli utenti di lingua inglese di tutto il mondo, con le versioni equivalenti destinate a utenti di lingua tedesca di tutto il mondo e utenti di lingua tedesca che si trovano in Svizzera. Ecco tutti gli URL presenti sul tuo sito:

  • www.example.com/english/page.html, destinato agli utenti di lingua inglese.
  • www.example.com/deutsch/page.html, destinato agli utenti di lingua tedesca.
  • www.example.com/schweiz-deutsch/page.html, destinato agli utenti di lingua tedesca in Svizzera.

Ecco la Sitemap relativa a queste tre pagine:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>http://www.example.com/english/page.html</loc>
    <xhtml:link 
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page.html"/>
  </url>
  <url>
    <loc>http://www.example.com/deutsch/page.html</loc>
    <xhtml:link 
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page.html"/>
  </url>
  <url>
    <loc>http://www.example.com/schweiz-deutsch/page.html</loc>
    <xhtml:link 
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page.html"/>
  </url>
</urlset>

Linee guida per tutti i metodi

  • Per la versione in ogni lingua è necessario indicare la versione stessa e le versioni in tutte le altre lingue.
  • Gli URL alternativi devono essere completi e includere il metodo di trasporto (http/https), pertanto:
     https://example.com/foonon //example.com/foo o /foo
  • Non è necessario che gli URL alternativi siano nello stesso dominio. 
  • Se hai diversi URL alternativi indirizzati a utenti che parlano la stessa lingua, ma si trovano in aree geografiche diverse, è opportuno specificare anche un URL catchall per gli utenti di tale lingua la cui area geografica non è specificata. Ad esempio, potresti avere URL specifici per utenti anglofoni in Irlanda (en-ie), Canada (en-ca) e Australia (en-au), ma dovresti anche fornire una pagina generica in inglese (en) per gli utenti che si trovano, ad esempio, negli Stati Uniti, nel Regno Unito e in tutte le altre località in cui si parla inglese. Se vuoi questa pagina può essere una delle pagine specifiche.
  • Se due pagine non rimandano l'una all'altra, i tag vengono ignorati per fare in modo che un utente su un altro sito non possa creare arbitrariamente un tag che si autonomini versione alternativa di una delle tue pagine.
  • Se diventa difficile gestire un insieme completo di link bidirezionali per ogni lingua, puoi omettere alcune lingue in alcune pagine; Google elaborerà comunque le pagine che rimandano l'una all'altra. Tuttavia, è importante collegare tramite link bidirezionali le nuove pagine in lingua alle lingue di origine/principali. Ad esempio, se in origine il tuo sito è stato creato in francese con URL sul dominio .fr, è più importante collegare tramite link bidirezionali le nuove pagine in messicano (.mx) e spagnolo (.es) alle pagine principali sul dominio .fr, anziché collegare tra loro tramite link bidirezionali le pagine delle nuove varianti in spagnolo (.mx e .es).
  • Prendi in considerazione l'aggiunta di una pagina di riserva per le lingue senza corrispondenza, in particolare per selettori di lingua/paese oppure home page con reindirizzamento automatico. Usa il valore x-default:
    <link rel="alternate" href="http://example.com/" hreflang="x-default" />

Codici lingua/area geografica supportati

Il valore dell'attributo hreflang identifica la lingua (nel formato ISO 639-1) e, facoltativamente, l'area geografica (nel formato ISO 3166-1 Alpha 2) di un URL alternativo. Ad esempio:

  • de: contenuti in tedesco, a prescindere dall'area geografica
  • en-GB: contenuti in inglese per gli utenti della Gran Bretagna
  • de-ES: contenuti in tedesco per gli utenti in Spagna

Non specificare soltanto il codice paese. Google non ricava automaticamente la lingua dal codice del paese. Puoi specificare soltanto il codice della lingua se vuoi semplificare l'etichettatura.  Aggiungi il codice del paese dopo la lingua per limitare la pagina a un'area geografica specifica.  Esempi:

  • be: lingua bielorussa, indipendentemente dall'area geografica (non francese belga)
  • nl-be: olandese per il Belgio
  • fr-be: francese per il Belgio 

Per le varianti della scrittura di una lingua, la scrittura corretta viene dedotta dal paese. Ad esempio, se specifichi zh-TW per gli utenti a Taiwan, la scrittura della lingua viene ricavata automaticamente (in questo esempio il cinese tradizionale). Puoi anche specificare esplicitamente la scrittura utilizzando ISO 15924, come segue:

  • zh-Hant: cinese (tradizionale)
  • zh-Hans: cinese (semplificato)

In alternativa, puoi anche specificare una combinazione di scrittura e area geografica, ad esempio zh-Hans-TW per indicare il cinese semplificato per gli utenti di Taiwan.

Usare il tag x-default per le lingue senza corrispondenza

Il valore riservato hreflang="x-default" viene usato quando nessun'altra lingua/area geografica corrisponde all'impostazione del browser dell'utente. Questo valore è facoltativo, ma consigliato come metodo per stabilire la pagina quando non ci sono lingue corrispondenti. È buona prassi usarlo per scegliere come target la home page del sito in cui è presente una mappa cliccabile che consente all'utente di selezionare il proprio paese.

Risoluzione dei problemi

Errori comuni

Di seguito vengono indicati gli errori più comuni nell'utilizzo di hreflang:

  • Assenza di link di ritorno. Se la pagina X rimanda alla pagina Y, la pagina Y deve rimandare alla pagina X. Se non è così per tutte le pagine che utilizzano le annotazioni hreflang, tali annotazioni potrebbero essere ignorate o interpretate scorrettamente.
  • Codici lingua sbagliati. Assicurati che in tutti i codici lingua utilizzati siano identificate la lingua (in formato ISO 639-1) e, facoltativamente, l'area geografica (in formato ISO 3166-1 Alpha 2) di un URL alternativo. La specifica soltanto dell'area geografica non è valida.

Eseguire il debug degli errori hreflang

Puoi usare il rapporto Targeting internazionale per eseguire il debug dei problemi più comuni. Assicurati che Google abbia avuto il tempo di eseguire la scansione delle tue pagine, quindi accedi alla scheda Lingua del rapporto per verificare se sono stati rilevati errori.

Sono disponibili anche molti strumenti di terze parti. Di seguito sono riportati alcuni dei più usati. Questi strumenti non sono gestiti o controllati da Google.

Hai trovato utile questo articolo?
Come possiamo migliorare l'articolo?