Hreflang ha una proprietà che rende particolarmente fastidioso il debug: ogni modalità di errore produce un markup che sembra corretto Non c'è errore della console, nessun badge rosso nel browser, nessun errore di compilazione I tag eseguono il rendering, la pagina viene convalidata come HTML e l'annotazione non viene a sapere settimane dopo, da un report della Search Console o da qualcuno in un altro paese che ti dice di aver sbagliato pagina.
Ho eseguito il debug abbastanza di questi ora per avere un elenco Questo è quell'elenco, ordinato approssimativamente in base alla frequenza con cui li trovo, con il sintomo che osserveresti e la correzione. Si trova sotto il guida completa di hreflang accanto ai pezzi x-default e hreflang contro canonico.
tl; dr: Gli errori hreflang più comuni sono i tag di ritorno mancanti, codici non ISO come
en-UK, URL relativi, un canonico che punta attraverso le lingue, una mancanzax-default, e mescolando i metodi di implementazione per gli stessi URL Tutti loro sono silenziosi: il markup rende e non fa nulla Search Console's International Targeting report cattura gli errori di return-tag e di codice sconosciuto su larga scala; il resto ha bisogno di una scansione o di uno sguardo all'HTML renderizzato Il generatore di tag Hreflang convalida codici, URL, duplicati e il fallback mancante prima della distribuzione.
1. tag di ritorno mancanti
Sintomo: Search Console riporta & quot; no return tags" le versioni linguistiche non si scambiano per i mercati giusti e l'intero set si comporta come se hreflang fosse assente.
Causa: La pagina A dichiara la pagina B come alternativa, ma la pagina B non dichiara la pagina A. Google richiede ad entrambe le parti di confermare la relazione e scarta le annotazioni che non sono ricambiate.
Correzione: Metti il set completo e identico di annotazioni su ogni pagina del gruppo, inclusa una voce autoreferenziale Non cercare di essere intelligente su quale pagina necessita quale voce La pagina inglese elenca inglese, francese, tedesco e x-default; così fa la pagina francese; così fa la pagina tedesca Stesso blocco ovunque.
Questo è con un ampio margine il fallimento più comune ed è quasi sempre causato dalla modifica manuale per pagina o da un modello che rende & quot; le altre lingue" piuttosto che & quot; tutte le lingue".
2. Utilizzo di codici regionali non ISO
Sintomo: Search Console riporta & quot; lingua sconosciuta code", o niente affatto mentre l'annotazione viene tranquillamente ignorata.
Causa: en-UK conduce il campo. UK non è un codice ISO 3166-1 alpha-2; il Regno Unito lo è GB. Codici regionali inventati come en-EU e es-LATAM sono la stessa classe di errore, così com'è en-uk con l'involucro sbagliato abbinato ad una regione già non valida.
Correzione: Lingua da ISO639-1, regione dalla ISO 3166-1 alpha-2, unita da un trattino Per l'America Latina, la risposta valida è il codice M49 delle Nazioni Unite es-419. Per il cinese, preferire i sottotag di script: zh-Hant e zh-Hans.
| Sbagliato | Giusto | perché |
|---|---|---|
en-UK |
en-GB |
UK non è un codice ISO 3166-1 |
en-EU |
Voci separate per paese o semplici en |
L'UE non è un codice paese |
es-LATAM |
es-419 |
Codice regionale UN M49 per l'America Latina |
zh-CH |
zh-Hans oppure zh-CN |
CH è la Svizzera |
CA |
en-CA e fr-CA |
Regione da sola non è valida |
3. Annotazioni solo per regione
Sintomo: Non succede nulla L'annotazione viene ignorata del tutto.
Causa: Cercare di prendere di mira un paese senza nominare una lingua, come in hreflang="US" oppure hreflang="CA". Hreflang è il linguaggio in primo luogo in base alla progettazione; la regione è un restringimento opzionale di una lingua, non un bersaglio da solo.
Correzione: Nomina la lingua Se servi il Canada in due lingue, cioè due voci: en-CA e fr-CA.
4. URL relativi
Sintomo: L'annotazione viene ignorata Frequentemente accompagnato da & quot; funziona sul mio machine" perché gli URL relativi si risolvono bene in un browser.
Causa: href="/fr/pricing" invece di href="https://example.com/fr/pricing". Hreflang richiede URL assoluti pienamente qualificati tra cui protocollo e host.
Correzione: Emetti URL assoluti Se li stai costruendo in un modello, costruiscili da un'origine del sito configurata anziché da una stringa codificata, quindi una distribuzione di stadiazione non pubblica URL di produzione o viceversa.
5. Un canonico che punta attraverso le lingue
Sintomo: Una versione in lingua intera scompare dall'indice Hreflang appare corretto e non ha alcun effetto.
Causa: La pagina francese dichiara la pagina inglese come canonica Che istruisce Google a rilasciare l'URL francese, e un URL che è stato canonizzato via non può essere servito a nessuno indipendentemente da ciò che dice hreflang Canonico è il segnale più forte e vince.
Correzione: Ogni pagina si canonizza a se stessa Hreflang descrive le relazioni tra quelle pagine autocanoniche Questa vale la sua lettura: hreflang vs canonico funziona attraverso le combinazioni inclusi gli URL parametrizzati.
6. Nessun x-default
Sintomo: Visitatori provenienti da paesi in cui non si prende di mira il terreno in una versione linguistica apparentemente casuale.
Causa: Nessun fallback dichiarato, quindi Google sceglie La sua scelta si basa su segnali di somiglianza che non sono visibili a voi, che è il modo in cui i visitatori olandesi finiscono su una pagina tedesca.
Correzione: Aggiungere uno x-default voce per set, puntando a un selettore di lingua o alla tua versione internazionale primaria Il guida x-default copre dove puntarlo e gli errori che lo rendono inutile.
7. Metodi di implementazione della miscelazione
Sintomo: Comportamento intermittente, difficile da riprodurre Alcune pagine si scambiano correttamente e altre no.
Causa: HTML <link> tag e mappa del sito XML xhtml:link voci che dichiarano entrambe hreflang per gli stessi URL Ognuna è valida da sola Insieme sono due fonti di verità che vanno alla deriva, e quando non sono d'accordo non hai modo di sapere quale abbia usato Google.
Correzione: Scegli un metodo per set di URL Tag HTML per la maggior parte dei siti, voci di sitemap quando hai molti locali e desideri intestazioni di pagina snelle, intestazioni HTTP per file non HTML come i PDF Quindi rimuovi l'altro anziché lasciarlo come backup.
8. barra di trascinamento e disallineamenti del protocollo
Sintomo: I tag di ritorno falliscono anche se entrambe le pagine portano annotazioni.
Causa: L'annotazione punta a https://example.com/fr mentre l'URL indicizzabile è https://example.com/fr/. Oppure punta a http:// su un sito HTTPS Si tratta di URL diversi, quindi il tag di ritorno nella pagina reale non corrisponde all'URL nominato dall'altra pagina.
Correzione: Usa l'esatta forma canonica di ogni URL, la stessa stringa che metteresti in una sitemap Genera hreflang dallo stesso generatore di URL che usano i tuoi tag canonici, quindi i due non possono non essere d'accordo.
9. puntando ai reindirizzamenti o 404s
Sintomo: Comportamento parziale o degradato; Errori della Search Console sulle coppie interessate.
Causa: Un locale è stato ritirato e i suoi URL ora reindirizzano, o una pagina tradotta è stata eliminata mentre le annotazioni che lo hanno nominato sono rimaste Una destinazione di reindirizzamento si risolve ancora, quindi non è fatale, ma aggiunge un hop e il tag di ritorno sull'URL finale potrebbe non corrispondere all'URL che è stato nominato Un target 404 avvelena la coppia a titolo definitivo.
Correzione: Scansiona i tuoi obiettivi hreflang e controlla i codici di stato Questo è il controllo che nessuno esegue, ed è quello che trova marciume in set che erano corretti quando sono stati scritti.
10. Annotazione delle pagine noindex
Sintomo: Il set si comporta in modo incoerente; alcuni alternati non compaiono mai.
Causa: Una pagina viene pubblicizzata come alternativa linguistica durante il trasporto noindex. Hai detto a Google sia di servire questo URL a un mercato sia di tenerlo fuori dall'indice. La contraddizione si risolve a favore di noindex.
Correzione: O lascia cadere l'annotazione o rilascia il noindex. La messa in scena degli avanzi e delle pagine segnaposto non tradotte sono i soliti colpevoli.
11. Blocco dei bersagli hreflang nei robot.txt
Sintomo: Le alternative non vengono mai confermate Search Console mostra gli errori di tag di ritorno per le pagine che portano visibilmente tag di ritorno.
Causa: Il bersaglio non è consentito in robots.txt, quindi Googlebot non può recuperarlo e non può vedere il tag di ritorno L'annotazione sul tuo lato va bene; la conferma dall'altra parte è irraggiungibile.
Correzione: Consenti la scansione di ogni URL che chiami in un'annotazione hreflang Se una sezione non deve essere veramente eseguita la scansione, non dovrebbe essere nemmeno in un set hreflang. Il Generatore robots.txt è utile per verificare ciò che le regole attuali bloccano, che spesso è più ampio del previsto.
12. Duplicare i codici all'interno di un set
Sintomo: Imprevedibile Google potrebbe prendere il primo, l'ultimo o scartare la coppia.
Causa: Due voci con lo stesso valore hreflang che puntano a URL diversi, di solito perché due sistemi emettono entrambi annotazioni, o perché una mappa locale ha una chiave duplicata Due x-default le voci sono lo stesso problema nella sua forma più comune.
Correzione: Una voce per codice per set Visualizza l'origine renderizzata anziché il modello; un plugin che aggiunge un secondo blocco è invisibile dal solo modello Il generatore hreflang gratuito contrassegna i codici duplicati nel set che crei, sebbene non possa vedere cos'altro emette la pagina.
Come si fa a trovare sistematicamente questi errori?
Tre passaggi, in questo ordine, perché ognuno cattura una classe diversa.
Cerca prima Console. Il rapporto International Targeting copre l'intera proprietà e trova i due errori che si scalano: tag di ritorno mancanti e codici di lingua sconosciuti È in ritardo rispetto alle tue distribuzioni per quanto tempo richieda una rianalisi completa, quindi tratta normalmente una settimana senza modifiche.
Un secondo strisciante. Qualsiasi crawler che estrae hreflang ti dà il set per URL Raggruppa per cluster e confronta i conteggi: una pagina con quattro voci in un gruppo di cinque è il bug Quindi controlla il codice di stato di ogni destinazione, che è il pass che trova gli errori 8, 9, 10 e 11.
HTML reso per ultimo, per la pagina specifica che si comporta male. curl esso, contare i blocchi di annotazione, contare il x-default voci, e confrontare gli URL carattere per carattere contro il canonica Questo è dove duplicati e trailing-slash disadattamenti vengono visualizzati, ed è l'unico passaggio che vede che un plugin iniettato in fase di esecuzione.
Vale la pena eseguire il generatore prima di tutto ciò, perché convalidare l'insieme nel punto in cui lo scrivi rimuove gli errori 2, 3, 4, 6 e 12 prima che possano essere spediti Ciò che nessuno strumento può imporre è la reciprocità, poiché questa è una proprietà di pagine diverse da quella di fronte a te. Per questo, la disciplina è strutturale: una mappa locale, un renderer, il blocco completo su ogni pagina. IL Successivo.js e WordPress le guide mostrano come appare nel codice.
Domande frequenti
Qual è l'errore hreflang più comune?
Tag di ritorno mancanti La pagina A nomina la pagina B come alternativa ma la pagina B non nomina la pagina A, quindi Google scarta la relazione La correzione consiste nel mettere il set completo identico di annotazioni, inclusa una voce autoreferenziale, su ogni pagina del gruppo.
Perché Search Console afferma che il mio hreflang non ha tag di ritorno?
Perché la pagina che hai puntato non punta indietro con un'annotazione corrispondente, o punta indietro a un URL leggermente diverso Le barre di tracciamento, le differenze di protocollo e www rispetto a non-www contano tutte come URL diversi.
En-UK è un codice hreflang valido?
No. UK non è un codice ISO 3166-1 alpha-2 Il codice corretto per il Regno Unito è GB, quindi il valore è en-GB. en-UK viene ignorato silenziosamente.
Gli URL hreflang possono essere relativi?
No. Hreflang richiede URL assoluti completamente qualificati tra cui il protocollo e l'host Gli URL relativi vengono ignorati anche se si risolvono normalmente in un browser.
Un tag canonico sovrascrive hreflang?
Effettivamente sì. Se una pagina si canonizza in una versione in lingua diversa, quell'URL viene eliminato dall'indice e hreflang non può riportarlo indietro Ogni pagina deve canonicalizzarsi a se stessa.
Quanto tempo impiegano le correzioni hreflang per presentarsi?
Giorni o settimane Google deve eseguire una nuova scansione di ogni pagina del set prima di poter confermare i tag di ritorno e i report di Search Console vengono aggiornati secondo la stessa pianificazione.
Posso usare sia i tag HTML che la mappa del sito hreflang?
Puoi, ma no. Due fonti per gli stessi URL si allontanano, e quando non sono d'accordo non c'è modo di dire quale sia stato utilizzato Scegli un metodo per set di URL.
I bersagli hreflang devono essere scansionabili?
Sì. Se una destinazione è bloccata in robots.txt o contrassegnata con noindex, Google non può confermare il tag di ritorno e l'annotazione fallisce anche se il markup è corretto.



