Command Palette

Search for a command to run...

Generatore Hreflang: ottieni i tuoi tag SEO internazionali per la prima volta

Generatore Hreflang: ottieni i tuoi tag SEO internazionali per la prima volta

T
Toolz Team
|Aug 23, 2026|20 min letto

Parte della raccolta Strumenti SEO

Una volta ho perso un pomeriggio solido a causa di hreflang Un cliente aveva un sito in inglese e francese, diviso /en/ e /fr/, e le loro pagine francesi semplicemente non si classificherebbero in Francia - Google continuava a far emergere la versione inglese ai ricercatori francesi Il markup sembrava corretto Era nella testa, i codici erano lì, gli URL risolti Il problema, si è scoperto, era che le pagine inglesi puntavano a quelle francesi ma le pagine francesi non puntavano a Hreflang deve essere reciproco, e Google stava buttando via l'intero cluster perché mancavano i tag di ritorno Niente nel browser mi diceva che Nessun errore, nessun avviso - solo le pagine che non riuscivano silenziosamente a classificare dove avrebbero dovuto.

Questo è hreflang in poche parole Il concetto è semplice: dire ai motori di ricerca quale lingua e versione regionale di una pagina per mostrare quali utenti L'esecuzione è un campo minato di codici ISO, convenzioni di involucro, regole di reciprocità e un tag di fallback di cui metà di Internet si dimentica Costruisco e mantengo siti multilingue abbastanza spesso - attraverso Toolz.dev, WP Adminify' documentazione e vari progetti Laravel e React - che volevo uno strumento che generasse i tag e catturasse gli errori prima che venissero spediti. Questo è il Generatore Hreflang, e questa guida è tutto ciò che avrei voluto sapere quel pomeriggio.

Per il concetto piuttosto che per lo strumento, inizia con spiegati i tag HreFlang, che è il fulcro di questo argomento e si collega ai pezzi in corso x-default, errori comuni di hreflange configurazioni del quadro per Successivo.js e WordPress.

tl; dr: i tag Hreflang indicano ai motori di ricerca quale lingua/regione versione di una pagina servire ciascun utente, utilizzando il rel="alternate" hreflang="x" annotazione. I codici seguono la norma ISO 639-1 (lingua) e la norma ISO 3166-1 (regione), quindi il Regno Unito lo è GB, no UK. I tag devono essere reciproci (ogni pagina rimanda) e dovresti includere un x-default fallback Il generatore emette tag validi come collegamenti HTML, voci di sitemap XML o un'intestazione HTTP, convalida ogni codice, cattura duplicati ed esegue al 100% nel browser.

Cosa sono i tag hreflang e quando ne hai bisogno?

Un tag hreflang è un'annotazione che dice & quot; esiste un'altra versione di questa pagina per una lingua e una regione specifiche, ed ecco il suo URL.& quot; La sintassi è <link rel="alternate" hreflang="fr-CA" href="https://example.com/fr-ca/" />, dove fr-CA significa francese come parlato in Canada Quando Google comprende queste relazioni, può servire la pagina francese canadese a un francofono in Canada e la pagina inglese degli Stati Uniti a qualcuno negli Stati Uniti, invece di indovinare o passare per impostazione predefinita a qualunque versione sia accaduta per prima la scansione.

Hai bisogno di hreflang ogni volta che hai sostanzialmente lo stesso contenuto in più di una lingua, o la stessa lingua mirata a più di una regione Un blog che esiste solo in inglese non ne ha bisogno Un sito di marketing SaaS tradotto in sei lingue lo fa assolutamente Il caso centrale - una lingua, più regioni, come negozi separati degli Stati Uniti e del Regno Unito che sono entrambi in inglese - è dove hreflang è più prezioso e più trascurato, perché le pagine sembrano duplicati per Google a meno che non le dichiari esplicitamente come varianti regionali.

Il payoff è duplice In primo luogo, la versione giusta si colloca nel mercato giusto, che solleva il click-through e la conversione perché gli utenti atterrano su prezzi, valute e fraseggi che li adattano In secondo luogo, hreflang disinnesca il problema dei contenuti duplicati: invece delle tue pagine regionali quasi identiche in competizione e cannibalizzandosi a vicenda, Google le tratta come un gruppo di alternative e sceglie la soluzione migliore per query.

Perché i codici fanno inciampare tutti?

Perché seguono gli standard, non l'intuizione, e gli standard hanno casi limite.

I valori sono tag di lingua BCP 47, definiti in RFC5646e Google&#39; è proprio documentazione versioni localizzate è l'autorità su quale sottoinsieme accetta.

La parte linguistica è un codice ISO 639-1: due lettere, minuscole, come en, fr, de, ja. La parte della regione opzionale è un codice ISO 3166-1 alpha-2: due lettere, maiuscole, come US, GB, DE. Mettili insieme con un trattino e ottieni en-US oppure de-DE. Le convenzioni che mordono le persone:

  • la Regno Unito è GB, no UK. UK non è un codice ISO 3166-1 valido e en-UK è un no-op.
  • La lingua viene prima ed è obbligatoria; la regione è facoltativa e non può stare da sola. Non puoi prendere di mira US di per sé - non esiste una cosa come l'hreflang solo regione È sempre linguaggio, facoltativamente ristretto per regione.
  • L'America Latina utilizza un codice UN M49, es-419, perché si estende su molti paesi piuttosto che su uno Questo codice regionale a tre cifre è valido e utile per & quot; Varietà spagnola, latinoamericana.& quot;
  • Il cinese ha spesso bisogno di un sottotag di script, tipo zh-Hant (Tradizionale) o zh-Hans (Semplificato), perché la forma scritta conta più del Paese.

Il generatore convalida tutto questo Controlla ogni codice rispetto alla forma prevista, normalizza l'involucro (linguaggio minuscolo, regione maiuscola, script titlecase) e ti avvisa quando un sottotag non è un linguaggio o una regione ISO riconosciuta - quindi en-UK viene contrassegnato prima che sprechi una scansione.

Come faccio a utilizzare il generatore Hreflang?

Lo strumento è costruito attorno a un elenco di versioni linguistiche e una scelta di formato di output.

Passo 1 - Aggiungi le tue versioni. Ogni riga è un codice lingua/regione più l'URL completo di quella versione Un elenco di selezione rapida offre i codici comuni (en-US, es-419, zh-Hant, x-default, e altro) in modo da non dover ricordare l'esatto involucro Aggiungere una riga per versione.

Passaggio 2: includi un valore predefinito x. Aggiungere una riga con il codice x-default puntando al tuo URL di fallback Questa è la versione servita agli utenti di cui non hai preso di mira esplicitamente la lingua - spesso una pagina di selezione della lingua o la tua home page principale.

Passaggio 3: scegli un formato. Passare da HTML <link> tag per l'intestazione della pagina, xhtml:link voci per una mappa del sito XML o un HTTP Link intestazione per file non HTML Mentre modifichi, il generatore convalida ogni codice e URL, cattura i codici duplicati e mostra una tabella di stato per riga in modo da poter vedere a colpo d'occhio quali voci sono valide.

Passaggio 4: copia e distribuisci reciprocamente. Copia l'output e - questa è la parte che conta - aggiungi lo stesso set completo di tag a ogni URL del gruppo, inclusa una voce autoreferenziale, Quindi conferma la configurazione con il report International Targeting in Google Search Console.

Tutto funziona lato client, quindi la struttura del tuo URL - che può esporre l'intera architettura internazionale - non lascia mai il browser. Questo è lo stesso modello di privacy dietro ogni strumento sul sito, trattato nel Guida alla privacy dei dati.

Come si presenta l'output in ogni formato?

Ecco un esempio elaborato piuttosto che una descrizione Un negozio che vende negli Stati Uniti, nel Regno Unito, in Francia e in America Latina, con una pagina selettore lingua come fallback Cinque righe entrano

hreflang URL
x-default https://example.com/
en-US https://example.com/us/
en-GB https://example.com/uk/
fr-FR https://example.com/fr/
es-419 https://example.com/latam/

Nota due cose su quel set prima dell'output. en-US e en-GB sono entrambi inglesi, differiscono solo per mercato, che è il caso per cui esiste hreflang e il caso in cui salta la maggior parte dei siti. E es-419 è il codice regionale M49 delle Nazioni Unite per l'America Latina, che lo strumento accetta come valido anziché contrassegnato, perché una regione a tre cifre è legale in un tag linguistico anche se non è un codice ISO 3166-1 alpha-2.

Tag di collegamento HTML, per la pagina <head>:

<link rel="alternate" hreflang="x-default" href="https://example.com/" />
<link rel="alternate" hreflang="en-US" href="https://example.com/us/" />
<link rel="alternate" hreflang="en-GB" href="https://example.com/uk/" />
<link rel="alternate" hreflang="fr-FR" href="https://example.com/fr/" />
<link rel="alternate" hreflang="es-419" href="https://example.com/latam/" />

Quel blocco esatto va su tutte e cinque le pagine, invariato. Non & quot; gli altri quattro&quot; su ogni pagina: tutti e cinque, inclusa la pagina&#39; è la voce propria. Questo è ciò che rende reciproche le annotazioni.

Voci della mappa del sito XML, dove lo strumento avvolge lo stesso set in un <url> elemento e utilizza l'URL della tua pagina come <loc>:

<url>
    <loc>https://example.com/us/</loc>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/" />
    <xhtml:link rel="alternate" hreflang="en-US" href="https://example.com/us/" />
    <xhtml:link rel="alternate" hreflang="en-GB" href="https://example.com/uk/" />
    <xhtml:link rel="alternate" hreflang="fr-FR" href="https://example.com/fr/" />
    <xhtml:link rel="alternate" hreflang="es-419" href="https://example.com/latam/" />
</url>

Il generatore ricorda il pezzo che vive al di fuori del blocco che può produrre: il <urlset> element ha bisogno dello spazio dei nomi xhtml dichiarato, o di ogni xhtml:link l'immissione viene ignorata mentre il file viene ancora convalidato come mappa del sito.

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">

Intestazione del collegamento HTTP, un singolo valore di intestazione per i file con n <head> per modificare, ad esempio un PDF:

Link: <https://example.com/>; rel="alternate"; hreflang="x-default", <https://example.com/us/>; rel="alternate"; hreflang="en-US", <https://example.com/uk/>; rel="alternate"; hreflang="en-GB", <https://example.com/fr/>; rel="alternate"; hreflang="fr-FR", <https://example.com/latam/>; rel="alternate"; hreflang="es-419"

È una lunga linea di design: una singola Link intestazione che porta valori separati da virgole In nginx che è uno add_header Link "..."; direttiva; in Apache uno Header set Link "...". Dividendolo su diversi Link anche le intestazioni funzionano, ma mantenerlo come un valore rende ovvio che il set è completo.

Cosa significano gli avvisi del generatore&#39;s?

Lo strumento separa gli errori, che impediscono l'emissione di una voce, dagli avvisi, che lo lasciano passare ma segnalano qualcosa che dovresti guardare. La distinzione è importante perché la maggior parte degli errori hreflang sono markup legali che non significano nulla.

messaggio Cosa l'ha innescata Cosa fare
Non un tag di lingua valido Il valore non corrisponde language[-Script][-REGION] Utilizza prima un codice lingua, una regione opzionale o il letterale x-default
Il sottotag linguistico non è un codice ISO 639-1 comune Linguaggio ben formato ma non riconosciuto Controllalo rispetto a ISO 639-1; il tag viene emesso in entrambi i modi
Il sottotag regionale non è un codice ISO 3166-1 comune Regione ben formata ma non riconosciuta Questo è ciò che cattura en-UK, dove GB è corretto
Duplica hreflang Lo stesso codice appare due volte nel set Rimuoverne uno; due voci per un codice sono una contraddizione
Nessun set di x-default Il set non ha una riga di riserva Aggiungi uno che punta a una pagina del selettore o alla tua versione principale
hreflang funziona in cluster Un solo URL nel set Aggiungere le altre versioni linguistiche; un cluster a una voce non fa nulla
hreflang deve essere reciproco Sempre mostrato Distribuisci il blocco identico a ogni URL del gruppo

L'ultimo viene sempre visualizzato anziché in modo condizionato, perché è il guasto che nessuno strumento lato client è in grado di rilevare La reciprocità è una proprietà delle altre pagine, non del set che hai di fronte, quindi il generatore stabilisce la regola invece di fingere di verificarla Ogni altro avviso qui è qualcosa che può controllare veramente.

Si noti inoltre che i codici sono normalizzati anziché rifiutati sull'involucro: EN-gb diventa en-GB, zh-hant diventa zh-Hant. I tag linguistici vengono abbinati in modo insensibile al caso, quindi l'involucro è convenzionale, ma l'output coerente rende leggibile un diff tra due pagine.

Quale formato di output dovrei scegliere?

Google accetta tre metodi di implementazione, e quello giusto dipende dal tuo stack e dal numero di pagine.

metodo Meglio per Trade-off
HTML <link> tags La maggior parte dei siti; controllo diretto per pagina Aggiunge peso ad ogni pagina&#39;s testa; deve essere su ogni pagina
Mappa del sito XML xhtml:link Grandi siti; mantiene pulito l'HTML Richiede il mantenimento della mappa del sito; più lento da elaborare per Google
HTTP Link intestazione File non HTML come i PDF Ha bisogno della configurazione del server; più difficile da controllare

Per un sito tipico, Tag di collegamento HTML sono i più semplici: li vedi nel sorgente, sono facili da eseguire il debug e ogni framework può renderli. Per grandi siti con centinaia di varianti linguistiche, inserendo hreflang nel Mappa del sito XML mantiene le teste delle pagine inclinate e centralizza le annotazioni in un file (ricordati di aggiungere xmlns:xhtml="http://www.w3.org/1999/xhtml" alla <urlset> elemento, che lo strumento ti ricorda) Il Intestazione HTTP il metodo è di nicchia ma essenziale per risorse non HTML come i PDF in cui non è presente alcuna testa per inserire un tag di collegamento.

Qualunque cosa tu scelga, usa un solo metodo per set di pagine Mescolando tag HTML e voci di sitemap per gli stessi URL puoi inviare segnali contrastanti di Google Se stai già generando una sitemap, il formato tool&#39; s sitemap si inserisce direttamente nell'output dal Generatore di mappe del sito XML.

Cos'è x-default e perché ha importanza?

x-default è il valore hreflang che specifica una pagina di fallback per qualsiasi utente la cui lingua o regione non hai preso di mira esplicitamente Se il tuo sito ha versioni in inglese, francese e tedesco e arriva qualcuno che naviga in giapponese x-default indica a Google dove inviarli, solitamente una home page neutrale o una pagina che consente loro di scegliere una lingua.

È facoltativo nel senso che hreflang funziona senza di esso, ma Google consiglia di includerlo, e lo considero obbligatorio nella pratica Senza un x-default, gli utenti senza pari ottengono qualunque versione Google indovini più vicina, che spesso è solo la tua pagina più scansionata piuttosto che una scelta deliberata.

Per lo strumento&#39;s parte: un set con no x-default riga solleva un avviso piuttosto che un errore, quindi puoi comunque copiare l'output, ma ti sarà stato detto Aggiungi la riga e il fallback viene emesso in qualunque dei tre formati che hai selezionato, nella stessa posizione in ogni pagina Dove puntarlo, e gli errori che lo rendono inutile, sono trattati nel guida x-default.

Perché l'hreflang deve essere reciproco?

Questa è quella che mi è costata un pomeriggio, quindi ottiene una sezione tutta sua. Le annotazioni Hreflang devono essere reciproche. Se la pagina A dichiara la pagina B come alternativa francese, la pagina B deve dichiarare in cambio la pagina A. Google si fida della relazione solo quando entrambe le parti la confermano Se manca il tag di ritorno, Google ignora l'annotazione in modo del tutto silenzioso, senza errori sulla pagina.

Il modo pulito per soddisfare questo è quello di mettere il set completo e identico di tag hreflang su ogni pagina del gruppo, inclusa una voce autoreferenziale (la pagina che punta a se stessa) Così sul tuo en-US pagina, includi i tag per en-US, en-GB, fr-FR, de-DE, e x-default - e lo stesso identico blocco appare sul en-GB pagina, il fr-FR pagina, e così via Ogni pagina del cluster porta tutta la mappa Sembra ridondante, ma è ciò che rende reciproche le annotazioni ed è ciò che Google si aspetta.

Ecco perché generare i tag è solo il passo uno. il generatore hreflang gratuito produce il blocco completo per voi da riutilizzare in tutto il cluster, e vi ricorda la reciprocità nei suoi avvisi, ma la disciplina di distribuzione - stesso blocco, ogni pagina - è su di voi Ottenere che giusto e i codici a destra, e hreflang funziona in modo silenzioso e affidabile Sbagliare e fallisce altrettanto silenziosamente Per il contesto più ampio di assemblaggio di uno stack SEO tecnico, ho raccolto le relative utilità nel panoramica del toolkit per sviluppatori web.

Come posso testare che la flang hreflang funzioni?

Dopo la distribuzione, verificare con il Rapporto sul targeting internazionale (storicamente chiamato rapporto hreflang) in Google Search Console Elenca errori come & quot; nessun tag di ritorno&quot; e & quot; codici di lingua sconosciuta&quot; in tutto il tuo sito, che è molto più veloce che controllare le pagine una per una Una scansione con uno strumento di controllo SEO confermerà anche che ogni pagina porta l'intero insieme reciproco.

Gli errori che vedo più spesso, in ordine approssimativo di frequenza: tag di ritorno mancanti (il fallimento della reciprocità sopra), nessun x-default, utilizzando UK invece di GB o altri codici non ISO, tag solo regione questo cerca di prendere di mira un paese senza lingua, URL relativi dove hreflang richiede quelli assoluti, e metodi di implementazione della miscelazione per le stesse pagine Ognuno di questi produce un markup che sembra plausibile e non fa nulla.

la generatore di tag Hreflang è progettato per catturare quelli che una macchina può catturare - codici malformati, sottotag sconosciuti, duplicati, URL non assoluti e x-default mancante - e per ricordarti quelli che non può imporre per te, vale a dire la reciprocità. Il catalogo completo, con il sintomo prodotto da ciascuno, è presente 12 errori hreflang comuni. Se stai collegando hreflang in una build multilingue più grande, il generatore di tag meta gestisce il resto della testa per pagina e il Guida agli strumenti di codifica completa il flusso di lavoro dello sviluppatore.

Per quali casi limite dovresti pianificare?

Una volta che le basi sono a posto, una manciata di situazioni vengono fuori abbastanza spesso per pianificare. I tag canonici e l'hreflang devono essere d'accordo. Ogni pagina&#39;s canonica dovrebbe puntare a se stessa, non a una versione in lingua diversa - se la tua pagina francese si canonizza a quella inglese, stai dicendo a Google di eliminare completamente la pagina francese, il che annulla l'hreflang che hai appena aggiunto Mantenere i canonici autoreferenziali all'interno di un cluster linguistico e lasciare che hreflang descriva le relazioni tra i cluster; hreflang vs canonico funziona attraverso le combinazioni.

Lingua e paese sono assi indipendenti. È perfettamente valido avere en-US, en-GB, e en-CA tutto in inglese ma rivolto a paesi diversi, e altrettanto valido da avere fr-CA e en-CA entrambi mirati al Canada in lingue diverse Non assumere una pagina per paese o una per lingua; stai mappando le combinazioni specifiche che il tuo sito serve effettivamente.

Le barre di tracciamento e i protocolli devono corrispondere ai tuoi URL reali. hreflang punta agli URL esatti, quindi https://example.com/fr/ e https://example.com/fr sono target diversi Usa la forma canonica e indicizzabile di ogni URL - la stessa che invieresti in una sitemap - quindi l'annotazione si risolve in una pagina live anziché in un reindirizzamento Un reindirizzamento in una destinazione hreflang non è fatale, ma aggiunge un hop e una possibilità per il segnale di indebolirsi, quindi vale la pena di essere esatto.

Domande frequenti

Cos'è un tag hreflang?

Un tag hreflang indica ai motori di ricerca quale lingua e versione regionale di una pagina mostrare a un dato utente Utilizza rel=&quot;alternate&quot; hreflang=&quot;x&quot; annotazione, dove x è un codice di lingua (facoltativamente con una regione), in modo che a un parlante spagnolo in Messico possa essere servita la tua pagina es-MX invece di quella inglese Hreflang aiuta i siti internazionali a evitare problemi di contenuti duplicati e a classificare la pagina giusta in ogni mercato.

Qual è il formato HREFLANG corretto?

Il valore è un codice di lingua ISO 639-1, seguito opzionalmente da una regione come codice ISO 3166-1 alpha-2 - ad esempio en, en-GB o pt-BR. La lingua viene prima e la regione è facoltativa; non è possibile scegliere come target una regione da sola Nota che gli standard differiscono dalle abbreviazioni quotidiane: il Regno Unito è GB, non UK.

Cosa significa X-Default in HREFLANG?

X-Default Specifica la pagina di fallback per gli utenti di cui la lingua o la regione non hai esplicitamente target. In genere è la tua home page o una pagina di selezione della lingua. Google consiglia di includere un X-Default in ogni set di hreflang in modo che i visitatori senza pari vengano inviati in un luogo ragionevole piuttosto che una versione in lingua casuale.

dove devo mettere i tag hreflang?

Puoi implementare hreflang in tre punti: come link rel=&quot; alternate&quot; tag nella testa HTML, come voci xhtml: link nella tua mappa del sito XML o come intestazione HTTP Link (utile per file non HTML come i PDF) Scegli un metodo e applicalo in modo coerente - mescolandoli per le stesse pagine puoi inviare segnali contrastanti Questo strumento li genera tutti e tre.

I tag hreflang devono essere reciproci?

Sì. Se la pagina A dichiara la pagina B come alternativa francese, la pagina B deve dichiarare in cambio la pagina A. Google ignora le annotazioni hreflang che non sono confermate dai tag di ritorno sulle pagine a cui puntano L'approccio più semplice è includere l'insieme completo e identico di voci hreflang - inclusa una autoreferenziale - su ogni pagina del gruppo.

I tag hreflang possono correggere i contenuti duplicati in tutte le regioni?

Hreflang non rimuove i contenuti duplicati, ma dice a Google che pagine simili sono varianti regionali o linguistiche l'una dell'altra piuttosto che duplicate per filtrare. Questo aiuta la versione corretta in ogni mercato invece delle pagine che cannibalizzano a vicenda. Per pagine veramente identiche, combina hreflang con tag canonici corretti che puntano a se stessi.

Come posso testare che la flang hreflang funzioni?

Utilizza il rapporto Targeting internazionale (o HREFlang) in Google Search Console, che elenca errori come tag di ritorno mancanti e codici di lingua sconosciuti. Puoi anche eseguire la scansione del sito con uno strumento di controllo SEO per confermare che ogni pagina porta il set reciproco completo. Le correzioni possono richiedere tempo per riflettere, poiché Google deve riacquistare ogni pagina del gruppo.

I miei dati sono mantenuti privati?

si. I tag vengono generati interamente nel tuo browser con semplice JavaScript. Gli URL e la struttura del sito non vengono mai trasmessi, registrati o archiviati e il generatore continua a funzionare senza una connessione di rete una volta caricata la pagina.


Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!