Hreflang per a llocs trilingües espanyol, anglès i català
Per als llocs web que operen en els tres idiomes principals de Catalunya —espanyol, anglès i català—, la implementació d’hreflang és alhora necessària i tècnicament exigent. Necessària perquè sense ella, Google no sap sistemàticament quina versió mostrar a cada usuari. Exigent perquè el nombre de relacions que cal mantenir es multiplica: en un cluster de tres idiomes, cada pàgina ha de referenciar les altres dues, i qualsevol ruptura de bidireccionalitat en qualsevol dels tres nodes invalida les anotacions de tot el grup.
El patró és concret: la versió catalana d’una pàgina ha d’incloure etiquetes hreflang="ca" (apuntant-se a ella mateixa), hreflang="es" (apuntant a la versió espanyola) i hreflang="en" (apuntant a la versió anglesa), a més de hreflang="x-default". La versió espanyola ha d’incloure exactament el mateix bloc. La versió anglesa, també. Si una pàgina de qualsevol de les tres versions no té el bloc complet, les anotacions de tot el cluster es degraden.
Més del 60% dels llocs amb hreflang presenten almenys un error d’implementació segons anàlisi amb Screaming Frog. Per als llocs trilingües, aquesta probabilitat augmenta perquè hi ha tres vegades més relacions que cal mantenir en coherència.
Què és hreflang i quines limitacions té
Hreflang és l’atribut de l’element <link> en HTML que indica als motors de cerca les versions alternatives d’una pàgina per a diferents idiomes o regions. La sintaxi bàsica és:
<link rel="alternate" hreflang="codi_idioma" href="URL_absoluta" />
Quan Google rastreja una pàgina amb aquestes anotacions, construeix un “cluster” de pàgines relacionades i entén que totes són versions equivalents del mateix contingut en idiomes diferents. A partir d’aquell moment, intenta mostrar a cada usuari la versió més adequada segons la seva configuració d’idioma i ubicació geogràfica.
La distinció fonamental és que hreflang és una suggerència, no una directiva. Google Search Central ho documenta explícitament: “Les anotacions hreflang són una suggerència per a Google, no una directiva. Google pot ignorar implementacions incorrectes i determinar de manera independent quin contingut mostrar.” Una implementació defectuosa no genera cap error: simplement no té efecte.
Gary Illyes de Google ha afegit una dimensió important sobre la compartició d’autoritat: “Les etiquetes hreflang no funcionen com a senyals algorítmics de ranking directes, però aporten valor substancial dins dels clusters de contingut: en un cluster, un grup de pàgines similars en idiomes diferents comparteixen la mateixa autoritat de ranking.” Per a un lloc català, això significa que les pàgines en català es beneficien de l’autoritat construïda per les versions en espanyol o anglès, sempre que el cluster estigui correctament implementat.
Els tres mètodes d’implementació
| Mètode | On es declara | Millor per a | Limitació principal |
|---|---|---|---|
| HTML head tags | <head> de cada pàgina | Llocs petits o mitjans (< 1000 URLs per locale) | Cal modificar cada pàgina individualment |
| XML Sitemap | Fitxer sitemap.xml | Llocs grans (> 1000 URLs); qualsevol CMS amb generació de sitemap | Requereix sitemap indexat correctament |
| HTTP headers | Capçaleres de resposta del servidor | PDFs i documents no-HTML | Només aplicable a recursos no-HTML |
Mètode 1: HTML head tags
El mètode més directe. Dins de l’element <head> de cada pàgina del cluster, s’inclou una etiqueta <link> per a cada versió alternativa, incloent-hi la pròpia pàgina:
<head>
<!-- Self-referencing tag (obligatori) -->
<link rel="alternate" hreflang="ca"
href="https://ighenatt.es/ca/recursos/seo-tecnico/hreflang-implementacion/" />
<!-- Versió espanyola -->
<link rel="alternate" hreflang="es"
href="https://ighenatt.es/recursos/seo-tecnico/hreflang-implementacion/" />
<!-- Versió anglesa -->
<link rel="alternate" hreflang="en"
href="https://ighenatt.es/en/resources/seo-tecnico/hreflang-implementacion/" />
<!-- Fallback per a idiomes no coberts -->
<link rel="alternate" hreflang="x-default"
href="https://ighenatt.es/recursos/seo-tecnico/hreflang-implementacion/" />
</head>
Aquest bloc ha d’aparèixer idèntic a les tres pàgines del cluster: la catalana, l’espanyola i l’anglesa. Google construeix el cluster des de qualsevol punt d’entrada; si una pàgina no té les etiquetes completes, la bidireccionalitat es trenca i tot el cluster es veu afectat.
Mètode 2: XML Sitemap
Per a llocs amb milers d’URLs localitzades, modificar l’HTML de cada pàgina és inviable. L’alternativa és declarar les relacions hreflang al sitemap XML.
Primer, afegeix el namespace xhtml a l’element urlset:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
Després, dins de cada bloc <url>, inclou etiquetes <xhtml:link> per a totes les versions del cluster:
<url>
<loc>https://ighenatt.es/ca/recursos/seo-tecnico/hreflang-implementacion/</loc>
<xhtml:link rel="alternate" hreflang="ca"
href="https://ighenatt.es/ca/recursos/seo-tecnico/hreflang-implementacion/"/>
<xhtml:link rel="alternate" hreflang="es"
href="https://ighenatt.es/recursos/seo-tecnico/hreflang-implementacion/"/>
<xhtml:link rel="alternate" hreflang="en"
href="https://ighenatt.es/en/resources/seo-tecnico/hreflang-implementacion/"/>
<xhtml:link rel="alternate" hreflang="x-default"
href="https://ighenatt.es/recursos/seo-tecnico/hreflang-implementacion/"/>
</url>
La regla de bidireccionalitat s’aplica igualment: si el bloc de la URL catalana declara una relació amb la URL espanyola, el bloc de la URL espanyola també ha de declarar la relació de tornada.
Mètode 3: HTTP headers
Aquest mètode s’aplica exclusivament a recursos no-HTML com PDFs. Es configura a nivell de servidor mitjançant la capçalera Link:
Link: <https://ighenatt.es/ca/guia-seo.pdf>; rel="alternate"; hreflang="ca",
<https://ighenatt.es/recursos/guia-seo.pdf>; rel="alternate"; hreflang="es"
Per a pàgines web estàndard, aquest mètode no és necessari.
Els 10 errors més freqüents en hreflang
1. Missing return tags (falta de bidireccionalitat)
És l’error més freqüent. La pàgina A inclou una etiqueta apuntant a la pàgina B, però la pàgina B no té l’etiqueta recíproca. Resultat: ambdues anotacions s’ignoren. Assegura’t que el bloc d’etiquetes hreflang és idèntic a totes les pàgines del cluster.
2. Absència del self-referencing tag
Cada pàgina ha d’incloure una etiqueta apuntant-se a ella mateixa, a més de les que apunten a les altres versions.
Solució: Inclou sempre l’etiqueta amb el codi d’idioma de la pàgina actual i la seva URL canònica.
3. x-default absent o mal configurat
x-default defineix quina versió mostrar a usuaris l’idioma dels quals no està cobert per cap etiqueta específica.
Solució: Afegeix hreflang="x-default" apuntant a la versió més universal del contingut.
4. Codis d’idioma invàlids
El format correcte és BCP 47. Errors comuns: ca_ES (guió baix en lloc de guió), CAT en lloc de ca, o spa en lloc de es.
Solució: Per al català: ca. Per a l’espanyol: es o es-ES. Per a l’anglès: en, en-GB, en-US segons el cas.
5. Etiquetes apuntant a URLs amb redireccions
Si una URL retorna un 301 o 302, Google no segueix la redirecció per al propòsit d’hreflang. L’etiqueta ha d’apuntar directament a la URL canònica final.
Solució: Rastreja amb Screaming Frog totes les URLs referenciades i corregeix les que retornen codis 3xx.
6. Etiquetes apuntant a pàgines amb status no-200
Etiquetes que referencien URLs amb 404 o qualsevol status diferent de 200 s’ignoren.
Solució: Auditoria periòdica de totes les URLs en etiquetes hreflang per detectar respostes no-200.
7. Conflicte canonical vs. hreflang
Si una pàgina té una etiqueta canonical apuntant a una URL diferent d’ella mateixa, Google pot prioritzar el canonical i ignorar l’hreflang.
Solució: Les etiquetes canonical han de ser self-referencing a les pàgines amb hreflang.
8. Implementació inconsistent entre mètodes
Tenir hreflang a l’HTML head i al sitemap amb dades diferents genera senyals contradictòries.
Solució: Utilitza un sol mètode de manera consistent a tot el lloc.
9. Trailing slash inconsistent
https://exemple.com/pagina/ i https://exemple.com/pagina són URLs diferents per a Google. Inconsistències en el trailing slash fan que Google tracti els parells com a pàgines no relacionades.
Solució: Defineix una política de trailing slash consistent i aplica-la a totes les URLs de les etiquetes hreflang.
10. URLs relatives en lloc d’absolutes
Hreflang requereix URLs completament qualificades, amb protocol i domini inclosos. Una URL relativa com /ca/recursos/seo-tecnico/hreflang-implementacion/ no és vàlida.
Solució: Utilitza sempre la URL completa: https://ighenatt.es/ca/recursos/seo-tecnico/hreflang-implementacion/.
Verificació de la implementació
Pas 1 — Auditoria amb Screaming Frog
Rastreja el lloc complet, ves a la pestanya Hreflang i filtra per “Non-Reciprocal”. Exporta i corregeix qualsevol URL que aparegui.
Pas 2 — Validació manual i eines hreflang
Verifica les etiquetes rel="alternate" i x-default inspeccionant el codi font de cada pàgina o usant una eina de rastreig. Comprova que les URLs del hreflang siguin accessibles (codi 200) i que apareguin als sitemaps XML. Per a una verificació ràpida per URL, utilitza hreflang.org. Per a verificació indirecta de rastreig, usa la inspecció d’URL de Search Console o els informes de cobertura per detectar errors d’indexació.
Pas 3 — Test amb hreflang.org
L’eina de hreflang.org valida una URL concreta i mostra tots els parells detectats, incloent-hi alertes de bidireccionalitat i codis d’idioma.
Pas 4 — Verificació de l’estat HTTP
Extreu totes les URLs referenciades en les etiquetes hreflang i verifica que totes retornen 200.
Pas 5 — Consistència canonical/hreflang
Per a cada pàgina amb hreflang, confirma que l’etiqueta canonical apunta a la mateixa URL que el self-referencing hreflang.
Implementació en el context de llocs trilingües catalans
Per a un lloc com ighenatt.es, que serveix contingut en espanyol, anglès i català, la implementació d’hreflang es genera programàticament al layout base en Astro. L’objecte localizedSlugs es construeix a partir de helpers d’URL centralitzats i es passa al component de layout, que renderitza les etiquetes al <head>. Quan el layout inclou les etiquetes per a ES, EN i CA, cada una de les tres pàgines del cluster rep el bloc complet amb referències a les altres dues.
El context trilingüe català té una particularitat rellevant: el català (ca) és un idioma amb presència digital relativament baixa en comparació amb l’espanyol i l’anglès. Això significa que Google té menys senyals per determinar la rellevància de les pàgines en català per a usuaris catalanoparlants. Un hreflang correctament implementat és, en aquest context, especialment valuós perquè garanteix que els usuaris catalanoparlants que fan cerques en català vegin la versió catalana del contingut, en lloc de la versió espanyola per defecte.
Per aprofundir en el SEO tècnic i com hreflang s’integra en una estratègia completa, consulta els nostres recursos sobre SEO tècnic i problemes d’indexació a Google.