Vai al contenuto principale

I 10 errori hreflang più comuni e come correggerli

Evita gli errori di implementazione hreflang più comuni. Dalla mancanza di reciprocità ai codici locale errati.

Hreflang Generator Team

Perché gli errori Hreflang sono così costosi

Gli errori nei tag hreflang sono particolarmente dannosi perché spesso falliscono silenziosamente. A differenza di un link rotto che restituisce un errore 404 visibile, un tag hreflang configurato male viene semplicemente ignorato dai motori di ricerca senza alcun avviso sulla pagina stessa. Il risultato: la tua strategia di SEO internazionale sembra corretta sulla carta ma non offre alcun beneficio nella pratica. I motori di ricerca mostrano le versioni linguistiche sbagliate agli utenti, il contenuto duplicato diluisce il tuo posizionamento e perdi traffico organico in mercati nei quali hai investito specificamente.

I seguenti dieci errori rappresentano i problemi di implementazione hreflang più comuni che riscontriamo su migliaia di siti web multilingue. Ognuno include una spiegazione chiara di cosa va storto, perché è importante e come risolverlo.

Errore 1: Tag reciproci mancanti

Il problema: La pagina A include un tag hreflang che punta alla pagina B, ma la pagina B non include un tag hreflang che punta di ritorno alla pagina A.

Hreflang richiede una conferma bidirezionale. Se la tua pagina inglese dice "il mio equivalente spagnolo è a /es/page/", la pagina spagnola a /es/page/ deve anche dire "il mio equivalente inglese è a /en/page/". Questa conferma reciproca è il modo in cui i motori di ricerca verificano che la relazione è intenzionale e non un errore o un tentativo di manipolazione.

Cosa succede: Google ignora completamente l'hreflang per la coppia che manca di reciprocità. Anche se hai 20 pagine localizzate correttamente collegate, un singolo link di ritorno mancante interrompe la catena per quella coppia specifica.

Come risolvere: Assicurati che ogni pagina nel set hreflang includa il set completo di link alternati -- compreso un tag autoreferenziale. Se la tua pagina inglese elenca 6 link hreflang, ogni pagina in quel set deve elencare gli stessi 6 link. Il nostro Generatore di tag Hreflang produce automaticamente tag reciproci per tutte le pagine di un set.

Errore 2: Hreflang autoreferenziale mancante

Il problema: Una pagina include tag hreflang che puntano a tutte le sue varianti linguistiche tranne sé stessa.

La documentazione di Google stabilisce esplicitamente che ogni pagina deve includere un tag hreflang che punta a sé stessa. Questo autoriferimento non è ridondante -- fa parte del meccanismo di validazione usato dai motori di ricerca per confermare che il set hreflang è completo.

Esempio dell'errore:

<!-- Sulla pagina inglese -- autoriferimento mancante -->
<link rel="alternate" hreflang="es" href="https://example.com/es/page/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/page/" />
<!-- Dov'è hreflang="en" che punta a questa pagina? -->

Come risolvere: Includi sempre la pagina corrente nel suo stesso set hreflang:

<!-- Corretto: include l'autoriferimento -->
<link rel="alternate" hreflang="en" href="https://example.com/en/page/" />
<link rel="alternate" hreflang="es" href="https://example.com/es/page/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/page/" />

Errore 3: Codici lingua o regione errati

Il problema: Utilizzo di codici ISO di lingua e regione non validi o errati nei valori hreflang.

Gli errori di codice più comuni includono:

Come risolvere: Valida ogni valore hreflang contro la lista dei codici lingua ISO 639-1 e la lista dei codici paese ISO 3166-1 Alpha-2. Il formato è sempre {lingua} o {lingua}-{REGIONE}, con la lingua in minuscolo e la regione in maiuscolo, separate da un trattino.

Errore 4: Discrepanza HTTP vs HTTPS

Il problema: Il tuo sito serve le pagine tramite HTTPS, ma i tuoi tag hreflang fanno riferimento a URL HTTP (o viceversa).

<!-- Il sito è su HTTPS, ma hreflang usa HTTP -->
<link rel="alternate" hreflang="en" href="http://example.com/en/page/" />

I motori di ricerca trattano http://example.com/en/page/ e https://example.com/en/page/ come due URL diversi. Se la tua pagina è servita all'indirizzo HTTPS ma l'hreflang punta all'indirizzo HTTP, Google rileva una discrepanza -- l'hreflang punta a un URL che o non esiste (se HTTP reindirizza a HTTPS) o a una pagina completamente diversa.

Come risolvere: Verifica tutti gli URL hreflang per assicurarti che il protocollo corrisponda al protocollo di servizio effettivo. Se il tuo sito funziona su HTTPS (e dovrebbe), ogni URL in ogni tag hreflang deve iniziare con https://. Questo vale anche per i tag canonical, gli URL del sitemap e qualsiasi altro riferimento alle tue pagine.

Errore 5: Uso di URL relativi

Il problema: I tag hreflang usano URL relativi invece di URL assoluti.

<!-- ERRATO: URL relativo -->
<link rel="alternate" hreflang="es" href="/es/page/" />

<!-- CORRETTO: URL assoluto -->
<link rel="alternate" hreflang="es" href="https://example.com/es/page/" />

La specifica hreflang richiede URL assoluti. Gli URL relativi vengono silenziosamente ignorati dai motori di ricerca. Il tuo hreflang semplicemente non avrà effetto, e potresti non accorgertene per mesi perché non c'è alcun messaggio di errore.

Come risolvere: Usa sempre URL completamente qualificati che iniziano con https:// (o http:// se il tuo sito genuinamente non supporta HTTPS). Questo include il protocollo, il dominio e il percorso completo. Non usare nemmeno URL con protocollo relativo (//example.com/page/) -- specifica sempre il protocollo esplicitamente.

Errore 6: x-default mancante

Il problema: Il tuo set hreflang non include un'entrata x-default.

Sebbene tecnicamente opzionale, omettere x-default significa che i motori di ricerca non hanno indicazioni su cosa mostrare agli utenti la cui lingua o regione non è coperta dal tuo set hreflang. Se hai versioni in inglese, spagnolo e tedesco, cosa dovrebbe vedere un utente giapponese?

Senza x-default, Google indovina. A volte mostra la versione inglese (il che potrebbe essere accettabile), ma a volte non mostra nulla dal tuo sito perché non riesce a determinare con sicurezza la corrispondenza corretta.

Come risolvere: Aggiungi un'entrata hreflang x-default a ogni set di pagine. Falla puntare alla pagina che offre la migliore esperienza di fallback -- solitamente la tua versione inglese o una pagina con un selettore di lingua.

<link rel="alternate" hreflang="en" href="https://example.com/en/page/" />
<link rel="alternate" hreflang="es" href="https://example.com/es/page/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/page/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en/page/" />

Errore 7: Codici lingua duplicati nello stesso set

Il problema: Includere più entrate hreflang con lo stesso codice lingua-regione nel set di tag di una singola pagina.

<!-- ERRATO: due entrate per "en" -->
<link rel="alternate" hreflang="en" href="https://example.com/en/page-v1/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/page-v2/" />

Quando Google incontra codici lingua duplicati, non riesce a determinare quale URL sia quello corretto per quella lingua. Il risultato è imprevedibile -- Google potrebbe sceglierne uno, alternare tra i due o ignorarli entrambi.

Come risolvere: Ogni codice lingua-regione deve apparire esattamente una volta per set hreflang. Se hai due pagine in inglese che servono scopi diversi, non dovrebbero essere nello stesso set hreflang. Hreflang collega contenuto equivalente tra le lingue, non pagine diverse all'interno della stessa lingua.

Errore 8: Tag Canonical che punta a una lingua diversa

Il problema: Il tag canonical su una pagina localizzata punta alla pagina equivalente in una lingua diversa anziché a sé stessa.

<!-- Sulla pagina tedesca -- ERRATO -->
<link rel="canonical" href="https://example.com/en/page/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/page/" />

Questo dice a Google: "La pagina tedesca è una copia della pagina inglese; per favore indicizza solo la versione inglese." Google obbedisce al canonical, deindicizza la pagina tedesca, e il tuo hreflang viene ignorato. Perdi completamente la tua presenza nelle ricerche in tedesco.

Questo è un errore così critico e diffuso che abbiamo scritto una guida dedicata: Hreflang vs Canonical: Come funzionano insieme.

Come risolvere: Ogni pagina localizzata deve avere un canonical autoreferenziale. Il canonical della pagina tedesca deve puntare all'URL tedesco. Il canonical della pagina spagnola deve puntare all'URL spagnolo. Non fare mai riferimenti incrociati di canonical tra le lingue.

Errore 9: Formato XML Sitemap errato per Hreflang

Il problema: Implementare hreflang nel sitemap XML usando un formato di markup errato.

Gli errori di formato comuni nel sitemap includono:

Formato corretto:

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://example.com/en/page/</loc>
    <xhtml:link rel="alternate" hreflang="en"
                href="https://example.com/en/page/" />
    <xhtml:link rel="alternate" hreflang="es"
                href="https://example.com/es/page/" />
    <xhtml:link rel="alternate" hreflang="x-default"
                href="https://example.com/en/page/" />
  </url>
</urlset>

Come risolvere: Valida l'XML del tuo sitemap contro lo schema prima di inviarlo. Assicurati che il namespace xhtml sia dichiarato, usa <xhtml:link> (non <link>) e includi il set hreflang reciproco completo all'interno di ogni blocco <url>.

Errore 10: Nessuna validazione dopo l'implementazione

Il problema: Implementare i tag hreflang una volta e non verificare mai se funzionano correttamente.

Le implementazioni hreflang si deteriorano nel tempo. Le pagine vengono spostate, gli URL cambiano, vengono aggiunte nuove lingue, i template CMS vengono aggiornati e gli sviluppatori apportano modifiche senza rendersi conto dell'impatto sui tag hreflang. Una configurazione hreflang corretta al lancio può essere completamente rotta sei mesi dopo.

Le cause comuni di deterioramento post-lancio includono:

Come risolvere: Stabilisci una routine di validazione regolare:

  1. Usa il report di Targeting internazionale di Google Search Console per controllare gli errori hreflang segnalati da Google
  2. Esegui crawl periodici con uno strumento che estragga e incroci i tag hreflang su tutto il tuo sito
  3. Valida la reciprocità -- per ogni pagina, conferma che ogni URL a cui fa riferimento la referenzia anche di ritorno
  4. Controlla dopo ogni deploy -- integra la validazione hreflang nella tua pipeline CI/CD affinché i tag rotti vengano individuati prima di raggiungere la produzione
  5. Monitora le performance di ricerca per lingua -- un calo improvviso di traffico da un mercato specifico spesso indica hreflang rotto per quella lingua

Riepilogo

Questi dieci errori rappresentano la grande maggioranza dei fallimenti nell'implementazione hreflang. La buona notizia è che tutti sono prevenibili con un'implementazione attenta e una validazione regolare:

  1. Tag reciproci mancanti -- ogni pagina deve linkare a tutte le altre pagine del set, e viceversa
  2. Hreflang autoreferenziale mancante -- ogni pagina deve includere sé stessa nel proprio set hreflang
  3. Codici lingua errati -- usa codici lingua ISO 639-1 e codici regione ISO 3166-1 Alpha-2
  4. Discrepanza HTTP/HTTPS -- il protocollo deve corrispondere al protocollo di servizio effettivo
  5. URL relativi -- usa sempre URL assoluti che iniziano con https://
  6. x-default mancante -- includi un fallback per gli utenti nelle regioni non coperte
  7. Codici lingua duplicati -- ogni codice appare esattamente una volta per set
  8. Canonical tra lingue diverse -- ogni pagina localizzata ha il canonical verso sé stessa, mai verso un'altra lingua
  9. Formato sitemap errato -- usa <xhtml:link> con il namespace corretto
  10. Nessuna validazione -- controlla regolarmente, automatizza dove possibile

Usa il nostro Generatore di tag Hreflang per produrre set di tag che evitino automaticamente gli errori da 1 a 7. Per una validazione continua, stabilisci una routine che individui i problemi prima che impattino la tua visibilità nei motori di ricerca.

Related tools