Su WordPress, i tag hreflang vengono aggiunti automaticamente. Abilita una lingua e le sue pagine iniziano a dichiararsi reciprocamente come alternative, che è la parte della SEO multilingue che le persone sbagliano più spesso manualmente.
Cosa fanno i tag
Un tag hreflang dice a un motore di ricerca che due URL sono la stessa pagina in lingue diverse. Senza di essi, /pricing/ e /es/pricing/ sembrano pagine in competizione con contenuti simili. Con essi, vengono letti come un'unica pagina in due lingue, e ciascuna viene servita al pubblico giusto.
L'output effettivo su una pagina in un progetto con spagnolo (Spagna) e francese (Francia) aggiunti, da una sorgente inglese (USA), appare così:
<!-- Universally hreflang tags -->
<link rel="alternate" hreflang="en-us" href="https://example.com/pricing/" />
<link rel="alternate" hreflang="es-es" href="https://example.com/es/pricing/" />
<link rel="alternate" hreflang="fr-fr" href="https://example.com/fr/pricing/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/pricing/" />
Tre cose da notare: ogni lingua è dichiarata con il suo codice regione completo anziché un semplice es o fr, la lingua sorgente ottiene una propria alternativa e una riga x-default punta all'URL sorgente.
Cosa ottieni senza configurare nulla
Tag che seguono le tue lingue. Aggiungi una lingua e si unisce al set. Rimuovine una e viene eliminata. Non c'è un elenco da mantenere e nulla da rigenerare dopo una modifica.
URL che corrispondono alla tua struttura. Ogni alternativa punta all'URL reale della lingua, costruito dal segmento che hai configurato. Vedi Aggiungi e rimuovi lingue.
Codici regione, non codici lingua semplici. Ogni lingua viene memorizzata con una regione, ed è questo che viene dichiarato. Vedi Varianti linguistiche e targeting regionale.
Due casi in cui un tag punta dove non dovrebbe
Entrambi valgono la pena di essere conosciuti se stai controllando il tuo markup:
- Una lingua disabilitata è ancora dichiarata. Disabilitare nasconde una lingua dallo switcher, ma il link alternativo per essa viene ancora emesso, e l'URL non serve più una traduzione. Se i motori di ricerca non devono vedere una lingua, rimuovila invece di disabilitarla. Vedi Aggiungi e rimuovi lingue.
- Una pagina esclusa dichiara ancora le alternative. Un percorso sotto Escludi Pagine ottiene link alternativi per ogni lingua, e ciascuno di questi URL reindirizza alla pagina sorgente. Vedi Escludi pagine.
Verificarli
Visualizza sorgente su un URL tradotto e cerca nel <head> il commento <!-- Universally hreflang tags -->, seguito da righe rel="alternate". Aspettati una per lingua, più una per la tua lingua sorgente, più x-default: tre lingue significano cinque link.
Il report International Targeting di Google Search Console è il controllo più lento ma più approfondito, poiché segnala le discrepanze piuttosto che la semplice presenza.
I tag vengono aggiunti indipendentemente dalla traduzione, quindi una pagina non tradotta o esclusa li ottiene comunque. Se mancano del tutto, la causa è una di queste:
- Il sito non è connesso, o la sua chiave API è mancante o non valida
- Universally non è stato raggiunto l'ultima volta che l'elenco delle lingue è stato recuperato, quindi l'elenco è vuoto. Utilizzare Aggiorna sotto Universally » Generale » Lingue, che può richiedere fino a 15 minuti per scadere autonomamente
- Il tuo tema non chiama
wp_head(), quindi nulla nel<head>viene aggiunto da alcun plugin
Se hai il tuo plugin SEO
Universally non tocca i link hreflang già presenti nel tuo markup: un elemento che porta un attributo hreflang è escluso dalla localizzazione dei link, quindi qualunque cosa il tuo plugin SEO abbia scritto è ciò che viene spedito. Se preferisci che ne possieda interamente i tag, questo continua a funzionare.
Tramite l'API
Un'integrazione API serve le proprie pagine, quindi emette il proprio <head>. Universally fornisce il contenuto tradotto e la struttura dell'URL; l'aggiunta dei link alternativi fa parte dell'integrazione. Vedere Integrare tramite l'API.