Glossari Daimatics · SEO tècnic

Hreflang: que Google ensenyi a cadascú el seu idioma

L'hreflang és una anotació que diu a Google quines pàgines són la mateixa en un altre idioma o per a un altre país, perquè ensenyi a cada persona la seva versió. No tradueix ni redirigeix res, i només compta si les versions s'apunten entre elles. En un web en català i castellà, és el que ajuda que qui cerca en castellà arribi a la pàgina castellana.

Per a qui té el web en diversos idiomes o països i veu a Google la versió que no toca.

Un clúster d'hreflangEl nostre web
ca/ca/ · la versió catalanaCatalà
es-ES/ · la versió castellanaEspanya
x-default/ · per a qui no encaixaPer defecte

Les tres línies, idèntiques a totes dues pàgines

El concepte

Què fa l'hreflang i què no fa

Google el fa servir per entendre que diverses adreces són variants localitzades del mateix contingut.

Fa
Agrupa les versions: diu que /ca/serveis/ i /servicios/ són la mateixa pàgina, traduïda.
Orienta la tria: ajuda Google a ensenyar la versió de l'idioma o la regió de qui cerca.
Pesa en el canonical: Google prefereix com a canòniques les adreces que formen part d'un clúster d'hreflang.
No fa
No detecta l'idioma. Google el dedueix del contingut visible; no fa servir l'atribut lang ni l'adreça.
No redirigeix ningú. Qui arriba a la versió que no toca necessita un enllaç per canviar d'idioma.
No funciona en una sola direcció. Si la pàgina B no torna a la A, Google ignora la parella.
Sol no resol duplicats del mateix idioma. Per a això hi ha el canonical.

Una traducció no és contingut duplicat: Google només ho considera si el contingut principal queda sense traduir. Traduir només el menú i el peu és un problema de contingut, no d'hreflang.

Els codis

Idioma, regió i x-default

Idioma

Obligatori, en ISO 639-1

Dues lletres: ca, es, en. Va sempre primer; el país sol no val: «be» és el bielorús, no Bèlgica.

Regió

Opcional, en ISO 3166-1

Dues lletres darrere de l'idioma: es-ES, en-GB. Google no admet es-419 i ignora codis reservats com EU, UN o UK.

Per defecte

x-default

La pàgina per a qui no encaixa en cap idioma declarat. Pensada per als selectors d'idioma, val per a qualsevol pàgina.

Majúscules

Indiferents

Google accepta es-es i es-ES. La convenció és escriure la regió en majúscules.

Així ho declara la portada del nostre web, amb el castellà a l'arrel i el català a /ca/. Les dues versions porten aquestes tres línies:

<link rel="alternate" hreflang="ca" href="https://daimatics.agency/ca/">
<link rel="alternate" hreflang="es-es" href="https://daimatics.agency/">
<link rel="alternate" hreflang="x-default" href="https://daimatics.agency/">

El nostre criteri: posa la regió només si el contingut canvia per país: preus, enviaments o normativa. Si no, el codi d'idioma sol val per a tots els països.

Com es declara

Tres maneres, i n'has de triar una

Per a Google són equivalents. Fer-les servir alhora no aporta res i és més difícil de mantenir.

01

Al codi HTML

Una etiqueta link per versió dins del head, inclosa la mateixa pàgina. El conjunt és idèntic a totes les versions.

02

A la capçalera HTTP

Una línia Link a la resposta del servidor. És la via per als fitxers sense HTML, com els PDF.

03

Al sitemap

Cada adreça porta tants xhtml:link com versions, ella inclosa. No compten per al límit d'adreces del sitemap.

<url>
  <loc>https://example.com/ca/serveis/</loc>
  <xhtml:link rel="alternate" hreflang="ca" href="https://example.com/ca/serveis/"/>
  <xhtml:link rel="alternate" hreflang="es" href="https://example.com/servicios/"/>
</url>

Per a totes: adreces completes amb https, cada versió s'inclou a ella mateixa i, en HTML, les etiquetes van dins d'un head ben format.

Hreflang i canonical

Dues etiquetes que no s'han de contradir

Totes dues viuen al head, amb les altres meta tags. El canonical diu quina adreça és l'original d'un grup de duplicats; l'hreflang, quines són traduccions.

Com es combinen
Cada versió, amb el canonical a si mateixa. Google el demana del mateix idioma.
El mateix idioma per a dos països, amb poca diferència: tria'n una de preferida amb el canonical i afegeix-hi l'hreflang.
La catalana amb el canonical a la castellana. Dius que és un duplicat i, alhora, que és una traducció.
Un rel canonical amb l'atribut hreflang. Google no el fa servir per triar la canònica: les traduccions van amb rel alternate.

El nostre criteri: cada adreça de l'hreflang ha de ser la canònica de la seva versió i respondre sense redirecció ni noindex.

Errors habituals

Per què Google ensenya la versió que no toca

El més comú

Falta la tornada

Si la pàgina X apunta a la Y i la Y no torna a la X, Google pot ignorar les etiquetes. Passa sovint en afegir un idioma.

Adreces

Relatives o amb http

Google demana adreces completes, amb el protocol, i avisa de no posar-hi la versió http quan la bona és la https.

Redireccions

Per idioma o per IP

Googlebot rastreja sobretot des dels Estats Units i sense capçalera d'idioma: si redirigeixes, pot no veure mai les altres versions.

Canvis

Un slug canviat a mitges

Canvies el permalink d'una versió i les altres continuen apuntant a l'antic.

Com comprovar-ho

Dues mirades a Search Console i una al codi

Una part de la revisió de SEO tècnic que es pot fer sense eines de pagament.

01

La canònica que tria Google

La inspecció d'URL de Search Console et diu quina canònica ha triat Google per a cada versió.

02

Les consultes de cada versió

A l'informe de rendiment, filtra per pàgina i per país. Si les cerques en castellà cauen a la versió catalana, revisa-ho.

03

El codi de cada versió

Enganxa les etiquetes de cada versió al revisor d'aquí sota.

L'eina

Revisor d'hreflang: enganxa dues o tres versions

Posa l'adreça de cada versió i enganxa-hi les etiquetes link del seu head, o el codi font sencer. Porta un exemple il·lustratiu amb un error: canvia'l per les teves etiquetes.

Versió 1
Versió 2
Versió 3 opcional

El resultat

Versions revisades0
Etiquetes hreflang llegides0
Errors trobats0

Omple com a mínim dues versions, amb l'adreça i les etiquetes.

Criteri propi de Daimatics sobre la documentació de Google. Tot passa al teu navegador: el que enganxes no s'envia enlloc.

Quan et cal ajuda

Quan l'idioma ja et fa perdre visites

  • Google ensenya la pàgina catalana a qui cerca en castellà, o al revés.
  • Search Console tria com a canònica la versió d'un altre idioma.
  • Afegeixes un idioma o un país i les pàgines noves no surten.
  • Prepares una migració o un canvi d'adreces en un web amb diversos idiomes.

Abans de tocar res, revisem el web, Search Console i com genera les etiquetes el teu gestor de continguts.

Preguntes freqüents

Dubtes sobre l'hreflang

La regla

Si la pàgina B no torna a la A, per a Google és com si l'etiqueta no hi fos.

Què és l'hreflang i per a què serveix?
És un atribut que diu a Google quines adreces són la mateixa pàgina en un altre idioma o per a un altre país. Serveix perquè la Cerca ensenyi a cada persona la versió del seu idioma o de la seva regió. Es declara al codi HTML, en una capçalera HTTP o al sitemap, i cada versió inclou la seva adreça i la de les altres.
Què és hreflang x-default i quan s'ha de posar?
És el valor reservat per a la pàgina que ha de veure qui no encaixa en cap dels idiomes o regions declarats. Google el recomana, sobretot als selectors d'idioma i a les portades que redirigeixen automàticament, però no és obligatori. Pot apuntar a un selector o a la versió que vulguis per defecte, i va al conjunt de totes les versions.
Com es combinen l'hreflang i el canonical?
Cada versió porta el canonical a si mateixa, o a una pàgina del mateix idioma, i l'hreflang enllaça les traduccions entre elles. Si la versió catalana té el canonical cap a la castellana, dius a Google que és un duplicat i alhora una traducció. A més, Google no fa servir per triar la canònica un rel canonical que porti l'atribut hreflang.
Quin codi hreflang poso per al català i el castellà?
Per al català, ca, i per al castellà, es, o es-ES si aquella versió és específica per a Espanya. El primer codi és sempre l'idioma en ISO 639-1; la regió, en ISO 3166-1, és opcional. Si el castellà també s'adreça a Llatinoamèrica, el codi es sense regió ja la cobreix. Codis com es-419 no els admet Google.
Per què Google mostra la versió en un altre idioma si tinc hreflang?
L'hreflang és una indicació que ajuda Google a triar la versió. Quan falla, sol ser per tornades que falten, codis mal escrits, adreces relatives, un canonical cap a l'altra versió o contingut principal que ha quedat sense traduir. Google dedueix l'idioma del contingut visible, no de l'atribut lang ni de l'adreça.
Com comprovo si l'hreflang està ben posat?
Mira el codi de cada versió i comprova que totes porten el mateix conjunt, amb adreces completes i codis vàlids, i que cadascuna s'hi inclou. Després, a Search Console, la inspecció d'URL et diu quina canònica ha triat Google per a cada versió. Per a dues o tres versions, el revisor d'aquesta pàgina marca les tornades que falten, l'autoreferència i l'x-default.
Escrit per David Nogués, fundador i CEO de Daimatics, amb més de 20 anys de trajectòria professional en l'àmbit digital. Actualitzat el

Fonts oficials

Google Search Central

Ajuda de Search Console