Controllo hreflang

Verifica hreflang su una singola URL o su un intero insieme di pagine: codici di lingua e regione, autoriferimento, duplicati, x-default, link di ritorno, e alternate che reindirizzano, falliscono o portano noindex.

Cosa fa

Su tutto l'insieme

I link di ritorno e la conferma richiedono ogni pagina dell'insieme, perché confrontano ciò che la pagina A dice della pagina B con ciò che la pagina B risponde. Questi controlli girano su dati di scansione, come un export Screaming Frog All Hreflang, non su una pagina. Guardano anche i target alternati: se ognuno risponde 200, è indicizzabile ed è canonical di se stesso.

  • Link di ritorno mancanti e coppie non confermate
  • Alternate che reindirizzano, rispondono 4xx o 5xx, o portano noindex
  • Alternate che non sono la versione canonical della pagina
  • Alternate verso cui non punta alcun link interno

Singola URL

hreflang-check scarica una pagina, segue i redirect e legge i link alternati nel suo HTML. Valida ogni codice di lingua, script e regione, individua i valori duplicati, e verifica che la pagina elenchi se stessa e che esista un x-default. Non richiede le alternate, quindi è un primo sguardo veloce prima di una scansione completa.

  • Codici di lingua, script e regione verificati contro ISO 639-1, ISO 15924 e ISO 3166-1
  • Autoriferimento e valori duplicati
  • Presenza di x-default
  • Una pagina 4xx o 5xx è riportata come errore, non come risultato pulito

Posizionamento

Un link hreflang conta solo se il parser lo legge dentro la head. Una scansione nativa confronta la posizione di ogni link alternato e segnala quelli che finiscono nel body, spesso per un tag rotto sopra di loro nella head. Correggere quel tag corregge l'annotazione.

  • I link alternati fuori dalla head vengono segnalati
  • Le maiuscole non contano: en-us ed en-US sono lo stesso valore
  • Gli errori comuni come en-UK vengono intercettati

Tre passaggi, una scansione salvata

  1. Controlla una URL dal vivo

    hreflang-check scarica la pagina, segue i redirect e legge i link alternati nel suo HTML. Verifica codici, autoriferimento, duplicati e x-default.

  2. Controlla l'insieme su una scansione

    Link di ritorno, target rotti o che reindirizzano e target con noindex richiedono ogni pagina dell'insieme. Girano su tutta la scansione nativa, oppure su un export All Hreflang importato via seohead sf run, non su una pagina.

  3. Correggi le coppie e ricontrolla

    Ogni segnalazione nomina la pagina e l'alternata che riguarda. Correggi l'annotazione sul sito, poi esegui di nuovo il controllo.

Controlli di questa funzionalità

ControlloCosa significaGravitàEvidenza
HREFLANG_MISSING_RETURN_LINKUn'altra pagina nomina questa URL nel suo hreflang, ma questa pagina non risponde con il link di ritornoImportantPagina di origine e l'alternata priva del link reciproco (scansione)
HREFLANG_BROKEN_TARGETUna URL alternata risponde con uno stato 3xx, 4xx o 5xxImportantURL di destinazione e suo codice di stato (scansione)
HREFLANG_NOINDEX_TARGETUna URL alternata porta una direttiva noindexImportantURL di destinazione e segnale noindex (scansione)
HREFLANG_INVALID_CODEUn valore di lingua o regione non è un codice ISO 639-1, ISO 15924 o ISO 3166-1 valido, per esempio en-UKImportantIl valore hreflang grezzo e la pagina che lo contiene (singola URL: 'malformed hreflang code')
HREFLANG_MISSING_SELF_REFERENCELa pagina ha alternate ma nessuna di esse è la sua stessa URLImportantLa URL della pagina e la sua lista di alternate (singola URL: 'page does not self-reference')
HREFLANG_MULTIPLE_ENTRIESLo stesso valore di lingua e regione compare più di una volta in una paginaImportantIl valore ripetuto e i suoi href (singola URL: 'duplicate hreflang')
HREFLANG_MISSING_XDEFAULTL'insieme non ha il ripiego x-default per gli utenti la cui lingua non corrisponde ad alcuna alternataTipLa pagina e la sua lista di alternate (singola URL: 'no x-default alternate')
Anche nel registro dei controlli
HREFLANG_ERRORHREFLANG_INCONSISTENT_CONFIRMATIONHREFLANG_NOT_CANONICALHREFLANG_UNLINKED_TARGETHREFLANG_OUTSIDE_HEAD

Un solo comando

bash
seohead hreflang-check --url https://example.com/en/

Prima installa SpiderHead: guida all'installazione. Ogni comando funziona anche come strumento MCP per agenti AI.

Cosa ti serve

  • Una URL di pagina per hreflang-check
  • Una scansione o l'export Screaming Frog All Hreflang per i controlli sull'insieme
  • Nessuna chiave API

Limiti

  • Il controllo su singola URL non richiede le alternate, quindi non può vederne codici di stato, noindex o link di ritorno
  • Legge solo gli elementi link nell'HTML, non hreflang nei sitemap o negli header HTTP Link
  • I controlli sull'insieme sono documentati sugli export hreflang di Screaming Frog; una scansione nativa non conserva dati hreflang
  • Un codice valido non prova che la pagina sia in quella lingua

Domande

Il controllo su singola URL verifica ogni alternata?
No. Legge i link alternati della pagina stessa e ne verifica codici, duplicati, x-default e l'autoriferimento della pagina. Non richiede ogni alternata, quindi target rotti, che reindirizzano o con noindex e link di ritorno mancanti richiedono una scansione.
Cambia qualcosa sul mio sito?
No. Il controllo invia richieste GET in sola lettura. Nulla viene scritto sul sito.
Quali codici lingua sono considerati validi?
Un codice lingua ISO 639-1, seguito facoltativamente da uno script ISO 15924, poi una regione ISO 3166-1 alpha-2 o UN M.49. I codici non distinguono maiuscole e minuscole, quindi en-us ed en-US sono lo stesso valore. en-UK è rifiutato, perché il codice paese è GB.
Legge hreflang da sitemap o header HTTP?
Il controllo su singola URL legge solo gli elementi link nella risposta HTML. L'hreflang dichiarato in un sitemap o in un header HTTP Link non è letto da questo comando.
Cosa succede se la pagina restituisce un errore?
Il controllo riporta lo stato HTTP e dice che non c'erano annotazioni da verificare. Una pagina 4xx o 5xx non risulta mai pulita.
Un x-default mancante è un errore?
È la segnalazione più lieve. x-default è un ripiego per gli utenti la cui lingua non corrisponde ad alcuna alternata. È utile ma non obbligatorio, quindi il registro lo valuta come notice, sotto i problemi che rompono l'annotazione.