SEO internacional

Hreflang: qué es y cómo implementarlo sin errores

Hreflang es una señal que le indica a Google qué versión de idioma o región de una página mostrar a cada usuario. Se implementa con etiquetas HTML, cabeceras HTTP o un sitemap XML.

Por Equipo de investigación de SEORecheck, auditores SEOPublicado 10 min de lectura

Hreflang es un atributo (en HTML, en cabeceras HTTP o en sitemaps XML) que indica a los buscadores qué versiones de idioma o región existen de una página, para que cada usuario vea la adecuada en los resultados. No mejora posiciones: sustituye la URL correcta en la SERP y evita que las traducciones se confundan con contenido duplicado.

Si tu sitio tiene una versión en español, otra en inglés y otra en ucraniano de la misma página, hreflang es lo que le explica a Google que /es/precios, /pricing y /ua/pricing forman un solo grupo de alternativas y no tres páginas que compiten entre sí. En esta guía verás cuándo lo necesitas, la sintaxis exacta, los tres métodos de implementación, cómo elegir la estructura de URL y cómo auditarlo.

¿Qué es hreflang y qué hace realmente?

Google introdujo hreflang en 2011 para sitios que ofrecen el mismo contenido en distintos idiomas o para distintas regiones. Lo usan Google, Yandex y Naver. Bing se ha apoyado históricamente más en la etiqueta meta content-language y otras señales, así que no des por hecho que todos los buscadores lo interpretan igual.

Cuando Google entiende bien tu grupo de hreflang, puede:

  • Mostrar la URL en español a quien busca en español, aunque la versión en inglés tenga más enlaces.
  • Tratar páginas regionales casi idénticas (por ejemplo, es-ES y es-MX con precios en euros y en pesos) como alternativas y no como duplicados.
  • Consolidar señales dentro del grupo para que aparezca la versión correcta.

Lo que hreflang no hace: no es un factor de posicionamiento, no traduce nada, no obliga a Google a indexar una página y no anula un canonical que apunte a otra URL. Google Search Central lo describe como una señal, no como una directiva, así que las anotaciones rotas o contradictorias simplemente se ignoran.

¿Cuándo necesitas hreflang?

Usa hreflang cuando tengas el mismo contenido o uno equivalente en más de un idioma o para más de una región. Casos típicos:

  1. Traducciones completas: un sitio en español con versiones en inglés y portugués.
  2. Mismo idioma, distintos mercados: páginas es-ES, es-MX y es-AR con moneda, envíos o condiciones diferentes.
  3. Sitios parcialmente traducidos: solo se traduce la plantilla (menú, pie de página) y el contenido principal es el mismo. Google indica que esto también cuenta.

No necesitas hreflang en un sitio de un solo idioma, en páginas sin equivalente en otro idioma ni como parche para traducciones automáticas pobres. Si una página traducida no es lo bastante buena para posicionar por sí misma, hreflang no la va a salvar.

¿Qué códigos de idioma y región debes usar?

Los valores de hreflang usan un código de idioma ISO 639-1, opcionalmente seguido de un código de región ISO 3166-1 Alfa-2, separados por un guion. El idioma es obligatorio; la región, opcional. No se puede indicar solo la región.

Valor Significado ¿Válido?
es español, cualquier región Sí
es-ES español para España Sí
es-MX español para México Sí
es-419 español para Latinoamérica (región UN M.49) Google lo acepta
es-LA «LA» no es Latinoamérica en ISO (es Laos) No (usa es-419 o países concretos)
en-GB inglés para Reino Unido Sí
en-UK «UK» no es un código ISO 3166-1 No (usa en-GB)
uk idioma ucraniano Sí
ua código de país, no de idioma No (usa uk)
ca catalán (no Canadá) Sí
MX solo región No
x-default versión por defecto para el resto Sí

Dos trampas frecuentes en el mundo hispano: es-LA para Latinoamérica (en realidad apunta a Laos) y confundir ca (catalán) con Canadá. Las mayúsculas no importan, aunque lo habitual es escribir es-MX.

¿Qué es x-default y cuándo usarlo?

x-default le dice a Google qué URL mostrar cuando el idioma o la región del usuario no coincide con ninguna de las versiones declaradas. Suele ser el selector de idioma o la versión internacional principal.

Ejemplo: tu sitio está en español, inglés y ucraniano. Alguien busca en alemán y no encaja en ninguna. Si x-default apunta a la página principal en inglés, Google tiene una alternativa clara. Sin él, Google decide por su cuenta; normalmente funciona, pero pierdes control.

Incluye x-default en todas las páginas del grupo, apuntando a la misma URL. Es recomendable, no obligatorio, y resulta especialmente útil si en la raíz tienes un selector de país o idioma.

Cómo implementar hreflang: tres métodos

Google admite tres métodos equivalentes. Elige uno para cada conjunto de páginas: mezclarlos multiplica las contradicciones.

Es el más habitual en páginas HTML. Cada versión enumera todas las versiones, incluida ella misma:

<link rel="alternate" hreflang="en" href="https://example.com/pricing" />
<link rel="alternate" hreflang="uk" href="https://example.com/ua/pricing" />
<link rel="alternate" hreflang="es" href="https://example.com/es/precios" />
<link rel="alternate" hreflang="x-default" href="https://example.com/pricing" />

Las mismas cuatro líneas deben aparecer en /pricing, /ua/pricing y /es/precios. Usa URL absolutas con protocolo y coloca las etiquetas dentro del <head>: un elemento no válido (un <div> suelto o una etiqueta sin cerrar inyectada por un script) puede cerrar el head antes de tiempo y hacer que Google ignore todo lo que viene después.

Útil para archivos que no son HTML, como los PDF:

Link: <https://example.com/guide.pdf>; rel="alternate"; hreflang="en",
      <https://example.com/ua/guide.pdf>; rel="alternate"; hreflang="uk",
      <https://example.com/es/guia.pdf>; rel="alternate"; hreflang="es"

Método 3: sitemap XML

La mejor opción para sitios grandes: saca el marcado de las plantillas y es fácil de generar desde la base de datos.

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>https://example.com/es/precios</loc>
    <xhtml:link rel="alternate" hreflang="en" href="https://example.com/pricing"/>
    <xhtml:link rel="alternate" hreflang="uk" href="https://example.com/ua/pricing"/>
    <xhtml:link rel="alternate" hreflang="es" href="https://example.com/es/precios"/>
    <xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/pricing"/>
  </url>
  <!-- repite un <url> para /pricing y /ua/pricing con el mismo conjunto -->
</urlset>

Cada URL del grupo necesita su propia entrada <url> con el conjunto completo de alternativas.

¿Qué método elegir?

Método Ideal para Principal inconveniente
HTML <link> sitios pequeños y medianos, plantillas de CMS añade peso; fácil de romper con plugins o JS
Cabecera HTTP PDF y otros archivos no HTML difícil de mantener y revisar
Sitemap XML sitios grandes, muchos idiomas los errores no se ven en la página; hay que mantenerlo sincronizado

Autorreferencia y enlaces de retorno: las dos reglas que más se incumplen

Autorreferencia: cada página debe incluir un hreflang que apunte a sí misma. La versión en español declara hreflang="es" con su propia URL.

Enlaces de retorno (reciprocidad): si la página A dice que B es su alternativa en inglés, B debe enlazar de vuelta a A. Google ignora las anotaciones unidireccionales, porque de lo contrario cualquiera podría declararse «traducción» de tu página. En la práctica, todo el grupo debe llevar exactamente el mismo conjunto de etiquetas.

Prueba rápida: toma cualquier URL, anota su conjunto de hreflang, abre cada alternativa y confirma que muestra el mismo conjunto. Si una sola URL redirige, devuelve 404 o tiene noindex, esa pareja se rompe.

¿Cómo se combinan hreflang y la etiqueta canonical?

Cada versión de idioma debe tener un canonical autorreferente y listar las demás mediante hreflang:

<!-- En https://example.com/es/precios -->
<link rel="canonical" href="https://example.com/es/precios" />
<link rel="alternate" hreflang="en" href="https://example.com/pricing" />
<link rel="alternate" hreflang="uk" href="https://example.com/ua/pricing" />
<link rel="alternate" hreflang="es" href="https://example.com/es/precios" />

El error clásico es canonicalizar todas las traducciones hacia la página en inglés. Con eso le dices a Google que la versión en español es un duplicado que no debe indexarse, y hreflang ya no tiene nada que mostrar. Las URL de hreflang siempre deben ser canónicas, indexables y devolver un código 200.

¿Qué estructura de URL es mejor para el SEO multilingüe?

Hreflang funciona con cualquier estructura, pero la elección afecta al mantenimiento, a la autoridad y a la segmentación geográfica.

Estructura Ejemplo Ventajas Inconvenientes
Subcarpetas example.com/es/, example.com/ua/ autoridad de un solo dominio, más fácil de gestionar, una sola propiedad en Search Console señal local más débil que un ccTLD
ccTLD example.es, example.mx señal de país fuerte autoridad separada por dominio, más coste; se vincula a un país, no a un idioma
Subdominios es.example.com fácil de alojar por separado a menudo se tratan como sitios distintos; más configuración
Parámetros example.com/?lang=es rápido de montar Google no lo recomienda; frágil

Para la mayoría de negocios que se dirigen a idiomas y no a países concretos, las subcarpetas son la opción más práctica. Así está organizado SEORecheck: inglés en la raíz, ucraniano en /ua/ y español en /es/. Ojo: el informe de Segmentación internacional de Google Search Console ya se retiró, así que la orientación por país depende hoy de los ccTLD, hreflang, el contenido local y los enlaces, no de un ajuste de configuración.

¿Conviene redirigir a los usuarios por IP o idioma del navegador?

No de forma automática. Google Search Central desaconseja redirigir según el idioma o la ubicación que se presupone. Googlebot rastrea sobre todo desde IP de Estados Unidos y sin cabecera Accept-Language, así que una redirección automática puede ocultarle por completo tus versiones en español y ucraniano. Además, los usuarios quedan atrapados: una persona de México que viaja por Estados Unidos no quiere que le fuercen la versión en inglés.

Mejores alternativas:

  • Un aviso discreto: «Esta página también está disponible en español».
  • Un selector de idioma visible que enlace a la página equivalente, no a la portada.
  • Guardar en una cookie la elección explícita del usuario, pero manteniendo cada URL de idioma accesible directamente.

¿Cuáles son los errores de hreflang más comunes?

Error Consecuencia Solución
es-LA, en-UK o ua el valor se ignora idioma ISO 639-1 + región ISO 3166-1 (o es-419)
faltan enlaces de retorno la pareja se ignora mismo conjunto de hreflang en todo el grupo
sin autorreferencia grupo débil o ignorado incluye la propia página
canonical apunta a otro idioma la traducción no se indexa canonical autorreferente en cada versión
hreflang hacia URL con redirección, 404 o noindex parejas rotas solo URL finales, con 200 e indexables
URL relativas destinos mal resueltos URL absolutas con https://
el selector de idioma lleva a la portada enlazado interno débil entre equivalentes enlaza a la página equivalente
etiquetas inyectadas tarde con JavaScript o fuera del <head> Google puede no verlas inclúyelas en el HTML del servidor, dentro del <head>
etiquetas y sitemap con valores distintos señales contradictorias un solo método
redirección automática por IP versiones ocultas para Googlebot avisos y selector de idioma

Cómo auditar hreflang en tu sitio

Una auditoría práctica de hreflang tiene cinco pasos:

  1. Rastrea el sitio con una herramienta que informe de hreflang (Screaming Frog, Sitebulb o similar). Exporta cada URL con su conjunto de hreflang, canonical, código de estado e indexabilidad.
  2. Valida los códigos: marca todo lo que no sea un idioma ISO válido (con región opcional) o x-default.
  3. Comprueba reciprocidad y autorreferencias: cada destino debe devolver el mismo conjunto. Los rastreadores suelen señalar directamente los «missing return links».
  4. Revisa los destinos: todas las URL de hreflang deben devolver 200, tener canonical hacia sí mismas y no llevar noindex ni estar bloqueadas en robots.txt.
  5. Confírmalo en Google: la herramienta de inspección de URL de Search Console muestra el HTML renderizado y el canonical elegido por Google para cada versión. En el informe de Rendimiento, compara impresiones por país y por página.

Después, comprueba resultados reales: busca en cada idioma (por ejemplo, con el parámetro hl o un perfil de navegador configurado en español) y confirma que aparece la URL correcta. Hreflang es solo una parte de una auditoría SEO técnica completa; en nuestra checklist de auditoría SEO tienes el resto de comprobaciones que conviene hacer a la vez.

Puntos clave

  • Hreflang indica a Google qué versión de idioma o región mostrar; no es un factor de posicionamiento.
  • Usa idioma ISO 639-1 y región ISO 3166-1 opcional: en-GB y no en-UK, es-419 y no es-LA, uk y no ua.
  • Cada página necesita autorreferencia y enlaces de retorno; añade x-default como alternativa por defecto.
  • Elige un solo método: <link> en HTML, cabecera HTTP o sitemap XML.
  • Mantén un canonical autorreferente en cada versión de idioma.
  • No redirijas automáticamente por IP ni por idioma del navegador; usa un selector o un aviso.
  • Audita con regularidad: hreflang se rompe en silencio cuando cambian las URL.

Revisa tu configuración de hreflang

Los errores de hreflang rara vez parecen un fallo visible: simplemente ves el idioma equivocado posicionando en el mercado equivocado. Si quieres una segunda opinión, solicita una vista previa gratuita de la auditoría SEO, con tu puntuación SEO y varios problemas reales con ejemplos, o consulta un informe de ejemplo para ver cómo se documentan los hallazgos técnicos e internacionales.

Todos los artículos

Auditoría SEO

Cuánto cuesta una auditoría SEO: precios y qué incluye

Una auditoría SEO puede ser gratis (herramientas automáticas) o costar desde unos cientos hasta varios miles de euros si es profesional y puntual. El tamaño de la web, su complejidad y la profundidad marcan el precio.

8 min de lectura

Búsqueda con IA

Cómo aparecer en AI Overviews y la búsqueda con IA

Para aparecer en AI Overviews, tu página debe estar indexada, ser apta para fragmentos y ser la respuesta más útil. No hay un truco aparte para la IA: buen SEO, respuestas claras y una marca fiable.

10 min de lectura

Guías

Por qué es importante el SEO para tu negocio en 2026

El SEO es importante porque lleva a tu web a personas justo cuando buscan lo que vendes, y ese tráfico sigue llegando sin pagar por cada clic. También influye en lo que dicen de ti las respuestas de la IA.

8 min de lectura