Si tu web atiende a personas en más de un idioma o país, quieres que cada visitante vea la versión adecuada en los resultados de búsqueda: los hispanohablantes, la página en español; los compradores del Reino Unido, los precios en libras; los visitantes canadienses, el sitio canadiense. El SEO internacional es la forma de conseguirlo, y hreflang es su herramienta principal.
Elige una estructura de sitio
Hay tres formas habituales de organizar el contenido internacional:
| Estructura | Ejemplo | Ventajas | Inconvenientes |
|---|---|---|---|
| Dominios de código de país | example.de, example.fr | Señal de país más fuerte, confianza local | Caros, autoridad repartida entre dominios, más mantenimiento |
| Subdominios | de.example.com | Fáciles de alojar por separado | Autoridad parcialmente separada, señal geográfica más débil |
| Subcarpetas | example.com/de/ | Comparten la autoridad del dominio principal, las más fáciles de mantener | Señal de país más débil que un ccTLD |
Para la mayoría de las empresas, las subcarpetas ofrecen el mejor equilibrio: un solo dominio construye autoridad para todos los idiomas. Usa ccTLD cuando tengas recursos para gestionar operaciones realmente separadas por país.
Elijas lo que elijas, no dependas de parámetros de URL (?lang=fr) ni muestres distintos idiomas en la misma URL según cookies o la dirección IP: los buscadores necesitan una URL única para cada versión.
Segmentar por idioma o por país
Decide si te diriges a idiomas, a países o a ambos:
- Una versión en español para todos los hispanohablantes → segmentación por idioma (
es) - Versiones distintas para España y México → idioma más región (
es-ES,es-MX) - Una versión en inglés con precios distintos para el Reino Unido y EE. UU. → variantes regionales (
en-GB,en-US)
Crea variantes por país solo cuando el contenido difiera de verdad (moneda, precios, información legal, ortografía, productos). Las copias casi idénticas para cada país de habla inglesa añaden mantenimiento sin apenas beneficio.
Qué hace hreflang
Las anotaciones hreflang indican a los buscadores que varias URL son versiones equivalentes del mismo contenido para distintos idiomas o regiones. Ayudan a mostrar la URL adecuada a cada usuario y evitan que las versiones alternativas se traten como duplicados que compiten entre sí.
<link rel="alternate" hreflang="en" href="https://example.com/">
<link rel="alternate" hreflang="en-GB" href="https://example.com/uk/">
<link rel="alternate" hreflang="fr" href="https://example.com/fr/">
<link rel="alternate" hreflang="x-default" href="https://example.com/">
Google usa hreflang; Bing se basa más en la metaetiqueta content-language y en el atributo HTML lang, así que configúralos también.
Las reglas que importan
1. Cada versión enumera todas las versiones, incluida ella misma
El conjunto completo de etiquetas hreflang debe aparecer en todas las páginas del grupo. Cada página incluye una entrada que apunta a sí misma.
2. Los enlaces recíprocos son obligatorios
Si la página en inglés apunta a la página en francés, la página en francés debe apuntar de vuelta a la inglesa. Sin enlaces recíprocos, Google puede ignorar las anotaciones. Es el error de hreflang más común.
Valida las etiquetas hreflang y confirma que cada versión de idioma enlaza de vuelta.
3. Usa códigos válidos
- Idioma: código ISO 639-1 de dos letras (
en,fr,de,ar) - Región opcional: código ISO 3166-1 alfa-2 (
GB,US,MX) - La región sola no es válida (
hreflang="uk"significa ucraniano, no Reino Unido) - El Reino Unido es
GB: usaen-GB, nuncaen-UK
4. Añade x-default
x-default marca la página que se muestra cuando ninguna otra versión coincide con el usuario: normalmente un selector de idioma o tu página internacional principal.
5. Apunta a URL canónicas e indexables
Cada URL en hreflang debe devolver 200, ser indexable y ser su propia canónica. No apuntes hreflang a redirecciones ni a páginas con noindex, y no canonicalices las versiones de idioma entre sí.
Genera etiquetas hreflang para cada versión de idioma y región de una página.
Tres formas de implementar hreflang
- Etiquetas link en HTML dentro del
<head>: lo más fácil para sitios pequeños - Cabeceras HTTP: para archivos que no son HTML, como los PDF
- Sitemap XML: lo mejor para sitios grandes; mantiene el HTML ligero y es más fácil de gestionar de forma centralizada
<url>
<loc>https://example.com/fr/</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://example.com/"/>
<xhtml:link rel="alternate" hreflang="fr" href="https://example.com/fr/"/>
<xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/"/>
</url>
Usa un solo método de forma coherente; mezclarlos hace más probables los errores.
Más allá de hreflang
- Traduce bien. La traducción automática sin revisar suele leerse mal. Adapta moneda, unidades, fechas, ejemplos y referencias culturales.
- Localiza los metadatos. Traduce títulos, descripciones, textos alternativos y URL (slugs) cuando sea práctico.
- No redirijas automáticamente por IP. Redirigir a los visitantes según su ubicación puede impedir que Googlebot (que rastrea sobre todo desde EE. UU.) vea las demás versiones. Muestra en su lugar un aviso que sugiera la versión local.
- Enlaza entre versiones con un selector de idioma visible que use enlaces normales.
- Define el atributo HTML
langy la dirección del texto (dir="rtl"para árabe y hebreo). - Consigue enlaces y menciones locales en cada mercado.
Errores habituales con hreflang
- Faltan enlaces recíprocos
- Códigos no válidos como
en-UKoukpara el Reino Unido - Faltan las entradas autorreferenciales
- Hreflang que apunta a URL redirigidas, rotas o con noindex
- Etiquetas canonical que apuntan todos los idiomas a una sola versión
- Hreflang solo en la portada y no en las páginas interiores
Un ejemplo práctico
Una tienda online con sede en el Reino Unido vende en el Reino Unido, Irlanda, Francia y Alemania, con contenido en inglés, francés y alemán. Los precios difieren entre el Reino Unido (GBP) e Irlanda (EUR).
Estructura: subcarpetas en un solo dominio.
| Versión | URL | hreflang |
|---|---|---|
| Inglés – Reino Unido | example.com/ | en-GB |
| Inglés – Irlanda | example.com/ie/ | en-IE |
| Francés | example.com/fr/ | fr |
| Alemán | example.com/de/ | de |
| Alternativa | example.com/ | x-default |
Cada página de cada versión lleva las cinco anotaciones. Las versiones en francés y alemán se dirigen al idioma y no a un solo país, porque la tienda atiende con el mismo contenido a francófonos y germanohablantes de varios países. Las versiones del Reino Unido e Irlanda difieren en moneda e información de envío, así que reciben códigos regionales distintos.
Idiomas que se escriben de derecha a izquierda
El árabe, el hebreo, el persa y el urdu se escriben de derecha a izquierda. Para estas versiones:
- Define
dir="rtl"en el elemento<html>junto con ellangcorrecto - Refleja el diseño: navegación, iconos que indican dirección y alineación del texto
- Usa propiedades lógicas de CSS (
margin-inline-starten lugar demargin-left) para que una sola hoja de estilos funcione en ambas direcciones - Comprueba que los números, las URL y el texto en varios idiomas se muestran correctamente
Medir el rendimiento internacional
En Google Search Console puedes filtrar el informe de Rendimiento por país y por página, así que compara los clics e impresiones de cada carpeta de idioma en sus países objetivo. Si las páginas en francés reciben impresiones sobre todo de Francia y falta el público belga y canadiense, plantéate si ayudarían variantes regionales o contenido local. Comprueba también que los usuarios de cada país llegan a la versión correcta: si los usuarios del Reino Unido aterrizan en las páginas irlandesas, revisa tu hreflang y las diferencias de contenido.
Checklist de SEO internacional
- Una URL única por cada versión de idioma o región
- Estructura del sitio elegida (ccTLD, subdominio o subcarpeta) y usada de forma coherente
- Hreflang en todas las versiones, con autorreferencias y x-default
- Enlaces recíprocos entre todas las versiones
- Códigos de idioma y región válidos
- Canonicals autorreferenciales en todas las versiones
- Contenido, títulos y descripciones traducidos y localizados
- Atributos HTML
langydirdefinidos - Sin redirecciones automáticas por IP; un selector de idioma visible en su lugar
- Seguimiento del rendimiento por mercado
Conclusiones clave
- Los sitios internacionales necesitan una URL única para cada versión de idioma o región.
- Las subcarpetas en un solo dominio son el mejor equilibrio entre autoridad y mantenimiento para la mayoría de las empresas.
- Hreflang debe ser recíproco e incluir una autorreferencia en cada versión.
- Usa códigos válidos –idioma más región opcional, como en-GB– y añade x-default.
- Cada versión necesita un canonical autorreferencial; nunca canonicalices los idiomas entre sí.
- Evita las redirecciones automáticas por IP y ofrece un selector de idioma visible.
Preguntas frecuentes
¿Necesito hreflang en un sitio con un solo idioma?
No. Hreflang solo sirve para sitios con contenido equivalente en varios idiomas o regiones.
¿Hreflang es un factor de posicionamiento?
No. No hace que las páginas posicionen mejor; ayuda a los buscadores a mostrar la versión adecuada al público adecuado.
¿Google usa el atributo HTML lang?
Google detecta el idioma a partir del propio contenido y usa hreflang para las versiones alternativas. Aun así, definir el atributo lang es importante para la accesibilidad y para otros buscadores.
¿Puedo traducir mi sitio automáticamente?
Puedes, pero revisa las traducciones automáticas. Las traducciones automáticas de baja calidad a gran escala pueden tratarse como contenido de poco valor.
Analiza tu propio sitio
Haz una auditoría gratuita con más de 55 comprobaciones y obtén una solución para cada problema.