Tienes una web en español, inglés y turco, y alguien en Sevilla busca en Google y aterriza en tu página en inglés. O tu versión turca aparece donde debería salir la española. Detrás de estos casos suele haber un hreflang que falta o que está mal configurado. En esta guía te explicamos qué hace realmente hreflang, qué decisiones tienes que tomar antes de tocar código, cómo escribir las etiquetas correctamente y qué revisar cuando la web ya está publicada.
Qué es hreflang y qué problema resuelve
Hreflang es una anotación que indica a los buscadores en qué idioma, y opcionalmente para qué región, está escrita una página. Conecta las versiones equivalentes de un mismo contenido y le dice a Google: estas páginas tratan lo mismo, muestra a cada usuario la que mejor encaja con su idioma y su ubicación.
Hreflang no es un factor de posicionamiento. No va a subir tu página en los resultados. Lo que hace es asegurar que, cuando una página ya posiciona, se muestre la versión de idioma adecuada. Eso se traduce en tráfico más relevante, menos usuarios que se van porque han caído en el idioma equivocado y señales más claras cuando tienes variantes regionales del mismo idioma, por ejemplo una página para España y otra para México.
Antes de empezar: ordena la estructura de URL
Hreflang se apoya en la estructura de URL, así que esta tiene que ser sólida. Cada versión de idioma necesita su propia dirección, permanente y rastreable. Si cambias el idioma con una cookie o según el navegador, manteniendo la misma URL, los buscadores solo podrán ver una de las versiones.
Hay tres opciones habituales y hreflang funciona con todas:
- Subcarpetas: ejemplo.com/es/, ejemplo.com/en/, ejemplo.com/tr/ — la más fácil de gestionar y concentra toda la autoridad en un dominio.
- Subdominios: es.ejemplo.com, en.ejemplo.com — útil si cada idioma necesita una instalación técnica separada.
- Dominios por país: ejemplo.es, ejemplo.com.tr — una señal local fuerte, pero cada dominio tiene que ganarse su propia autoridad.
Elige bien los códigos de idioma y región
El valor de hreflang empieza por un código de idioma y puede llevar después un guion y un código de región. Los idiomas siguen la norma ISO 639-1 (es, en, tr) y las regiones la ISO 3166-1 Alfa-2 (ES, MX, GB, TR). Un código de región no puede ir solo: “es” es válido, pero “ES” por sí mismo no es un idioma.
Añade la región solo si el contenido es realmente específico de ese país. Si tu página en español sirve igual para España y Latinoamérica, basta con “es”. Si muestras precios en euros y describes un servicio que solo das en España, “es-ES” es más preciso. El error más típico es escribir “en-UK” para Reino Unido; el código correcto es “en-GB”.
Configuración paso a paso
Puedes implementar hreflang de tres formas: con etiquetas link en el head del HTML, con cabeceras HTTP (útil para archivos que no son HTML, como los PDF) o en el sitemap XML. Elige un único método para toda la web y mantenlo. Estos pasos se refieren al método del head:
Este es el head de una página de servicios en español. Las páginas en inglés y en turco deben llevar las mismas cuatro líneas de hreflang; lo único que cambia es la etiqueta canonical, que siempre apunta a la propia página.
- Prepara una tabla de correspondencias con cada página y sus equivalentes en cada idioma; deja la celda vacía si no existe traducción.
- En cada página, añade las etiquetas de todas las versiones, incluida la propia página. La autorreferencia es obligatoria.
- Asegúrate de que los enlaces son recíprocos: si la página en español apunta a la inglesa, la inglesa debe apuntar a la española.
- Usa siempre URL absolutas, con protocolo incluido.
- Define una versión x-default para los usuarios cuyo idioma no ofreces.
- Genera las etiquetas desde el CMS o las plantillas, no a mano, para que las páginas nuevas queden cubiertas automáticamente.
<!-- <head> de https://www.ejemplo.com/es/servicios/ -->
<link rel="canonical" href="https://www.ejemplo.com/es/servicios/" />
<link rel="alternate" hreflang="es-ES" href="https://www.ejemplo.com/es/servicios/" />
<link rel="alternate" hreflang="en" href="https://www.ejemplo.com/en/services/" />
<link rel="alternate" hreflang="tr" href="https://www.ejemplo.com/tr/hizmetler/" />
<link rel="alternate" hreflang="x-default" href="https://www.ejemplo.com/en/services/" />
Cómo encajan x-default y canonical
x-default es la página que se muestra cuando el idioma del usuario no coincide con ninguna de tus versiones. Normalmente es la versión en inglés o una página de selección de idioma.
Canonical y hreflang deben reforzarse, nunca contradecirse. Cada versión de idioma tiene que tener un canonical que apunte a sí misma. Si tu página en español tiene como canonical la inglesa, le estás diciendo a Google que la española no es la página principal, y lo más probable es que ignore tu hreflang. Incluye en hreflang solo URL que respondan con código 200, sean indexables y sean canónicas.
Selector de idioma y redirecciones automáticas
Hreflang es para los buscadores; las personas usan el selector de idioma. Un buen selector lleva a la página equivalente en el otro idioma, no a su home. Escribe los idiomas en su propia lengua (Español, English, Türkçe) en lugar de usar banderas, que representan países y no idiomas.
Redirigir automáticamente según el idioma del navegador o la IP es tentador, pero cuidado. Googlebot rastrea sobre todo desde Estados Unidos, y una redirección forzada puede impedir que vea tus otras versiones. Es más seguro mostrar un pequeño aviso y dejar que el usuario elija.
Los errores de hreflang más frecuentes
La mayoría de problemas que encontramos en auditorías técnicas se repiten una y otra vez:
- Falta de reciprocidad entre versiones.
- Códigos no válidos, como en-UK, es-SP o un código de país en solitario.
- Hreflang que apunta a URL redirigidas, con error 404 o con noindex.
- URL relativas, como /es/servicios/.
- Redirecciones automáticas por IP que impiden a los rastreadores llegar a otras versiones.
- Versiones traducidas automáticamente, pobres y publicadas sin revisar.
Checklist después del lanzamiento
Hreflang no se configura una vez y se olvida. Cada página nueva, cada idioma nuevo y cada cambio de URL lo afectan. Tras publicar, rastrea la web con una herramienta SEO y revisa su informe de hreflang, usa la inspección de URL de Google Search Console para ver qué canonical ha elegido Google y sigue el rendimiento por país.
Checklist rápida:
- ¿Cada página se referencia a sí misma?
- ¿Todos los enlaces son recíprocos?
- ¿Los códigos siguen las normas ISO?
- ¿Todas las URL de destino responden 200 y son canónicas?
- ¿Está definido el x-default?
- ¿El selector de idioma lleva a la misma página en el otro idioma y no a la home?
En resumen
Bien configurado, hreflang permite que una web multilingüe hable a cada mercado en su idioma. Lo esencial es sencillo: una estructura de URL limpia, códigos válidos, enlaces recíprocos y coherencia con el canonical. En Norcored desarrollamos webs en español, inglés y turco con hreflang planificado desde el principio, y si tienes dudas sobre tu configuración actual, podemos revisarla contigo.
Claves
- Hreflang no mejora el ranking; muestra la versión de idioma correcta.
- Cada idioma necesita su propia URL permanente.
- La autorreferencia y la reciprocidad son obligatorias.
- Usa bien los códigos ISO: en-GB, no en-UK.
- El canonical de cada versión debe apuntar a sí misma.
Preguntas frecuentes
¿Hreflang mejora mi posicionamiento?
No directamente. No es un factor de ranking. Hace que se muestre la versión de idioma correcta de una página que ya posiciona, lo que suele traer tráfico más relevante y mejor experiencia de usuario.
¿Pongo hreflang en el head o en el sitemap?
Las dos opciones son válidas. En webs pequeñas y medianas el head es más fácil de auditar; en webs grandes el sitemap evita cargar el HTML. Lo importante es elegir un método y aplicarlo de forma coherente.
¿Qué hago si una página no está traducida a algún idioma?
Lista solo las versiones que existen para esa página. No enlaces el idioma que falta a la home ni a una página que no tenga relación.



