Il documento non contiene un valore hreflang valido

Molti siti forniscono versioni diverse di una pagina in base alla lingua o alla regione dell'utente. I link hreflang indicano ai motori di ricerca gli URL di tutte le versioni di una pagina in modo che possano mostrare la versione corretta per ogni lingua o regione.

Come non va a buon fine il controllo hreflang di Lighthouse

Lighthouse segnala i link hreflang errati:

Controllo Lighthouse che mostra link hreflang errati

Lighthouse controlla la presenza di link hreflang nel head della pagina e nelle sue intestazioni di risposta.

Lighthouse controlla quindi la presenza di codici lingua validi all'interno dei hreflanglink. Lighthouse segnala tutti i link hreflang con codici lingua non validi.

Lighthouse non controlla i codici regione o la sitemap.

Supponiamo che tu abbia tre versioni di una pagina:

  • Una versione in inglese all'indirizzo https://example.com
  • Una versione in spagnolo all'indirizzo https://es.example.com
  • Una versione tedesca all'indirizzo https://de.example.com

Esistono tre modi per comunicare ai motori di ricerca che queste pagine sono equivalenti. Scegli il metodo più semplice per la tua situazione.

Opzione 1: aggiungi i link hreflang al <head> di ogni pagina:

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

Ogni versione di una pagina deve includere un link a tutte le altre versioni, inclusa la pagina stessa. In caso contrario, i motori di ricerca potrebbero ignorare i link hreflang o interpretarli in modo errato.

Per le pagine che consentono agli utenti di selezionare la lingua, utilizza la parola chiave x-default:

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

Opzione 2: aggiungi le intestazioni Link alla risposta HTTP:

Link: <https://example.com>; rel="alternate"; hreflang="en", <https://es.example.com>;
rel="alternate"; hreflang="es", <https://de.example.com>; rel="alternate"; hreflang="de"

Opzione 3: aggiungi le informazioni sulle versioni in lingua alla sitemap.

<url>
<loc>https://example.com</loc>

<xhtml:link rel="alternate" hreflang="es"
href="https://es.example.com"/>

<xhtml:link rel="alternate" hreflang="de"
href="https://es.example.com"/>

</url>

Linee guida per i valori hreflang

  • Il valore hreflang deve sempre specificare un codice lingua.
  • Il codice lingua deve seguire il formato ISO 639-1.
  • Il valore hreflang può includere anche un codice regionale facoltativo. Ad esempio, es-mx è per chi parla spagnolo in Messico, mentre es-cl è per chi parla spagnolo in Cile.
  • Il codice regione deve rispettare il formato ISO 3166-1 alpha-2.

Risorse