Las páginas web multilingües y multirregionales entrañan muchas dificultades, y el posicionamiento SEO es una de ellas. Para ayudar a los motores de búsqueda a comprender qué contenidos nos interesa ofrecer a cada segmento de público según su país e idioma, debemos recurrir a la etiqueta hreflang.

Además, se puede aprovechar este recurso para implementar un cambio de idioma eficiente en los contenidos de una web. De esta manera, al seleccionar otro idioma mediante el clásico sistema de banderas accederíamos al contenido exacto traducido en vez de ser dirigidos simplemente a la home de dicho idioma.

Cómo utilizar el hreflang correctamente

Hay tres métodos para implementar este marcado:

  • En el head del código HTML de la web. Es el método más utilizado y el que explico en este artículo.
  • En los encabezados HTTP, devolviendo respuestas GET. Es una manera de marcar documentos que no son HTML, como los PDF.
  • A través de un sitemap, señalando todas las variantes de cada URL.

Básicamente, la función del marcado hreflang es indicar el idioma y/o región del mismo contenido en cada página. Vamos a entenderlo mejor con un ejemplo. Si nuestra web ejemplo.com está disponible en español, inglés, francés e italiano, en el encabezado o head deberíamos utilizar la siguiente sintaxis:

<link rel="alternate" hreflang="es" href="https://ejemplo.com/es/pagina.html" />
<link rel="alternate" hreflang="en" href="https://ejemplo.com/en/pagina.html" />
<link rel="alternate" hreflang="fr" href="https://ejemplo.com/fr/pagina.html" />
<link rel="alternate" hreflang="it" href="https://ejemplo.com/it/pagina.html" />

Estamos recopilando todas las variantes que alberga nuestro dominio y le indicamos a Google, Bing y demás motores de búsqueda el contenido preferente para los usuarios de cada idioma. Para identificar cada lengua, utilizamos el código ISO 639-1.

Veamos ahora un ejemplo regional en un mismo idioma. En este caso, nuestra web ejemplo2.com está completamente en español pero cuenta con contenidos dirigidos al público de España, México, Argentina y Colombia. Lo que hacemos en este caso es indicar tanto el idioma como el país mediante los códigos ISO 639-1 y ISO 3166-1 alpha-2 respectivamente. Quedaría así:

<link rel="alternate" hreflang="es-ES" href="https://ejemplo2.com/es-es/pagina.html" />
<link rel="alternate" hreflang="es-MX" href="https://ejemplo2.com/es-mx/pagina.html" />
<link rel="alternate" hreflang="es-AR" href="https://ejemplo2.com/es-ar/pagina.html" />
<link rel="alternate" hreflang="es-CO" href="https://ejemplo2.com/es-co/pagina.html" />

Cabe resaltar que estas líneas de código deben aparecer en todas las versiones de la web, independientemente de su idioma. En otras palabras, el enlazado que contiene este marcado de idioma ha de ser multidireccional. Si introducimos el rel=»alternate» hreflang=»xx-XX» de manera unidireccional, Google no lo va a entender.

Hreflang Alternate Apple

En las webs de Apple podemos encontrar este marcado de idiomas/regiones.

Consideraciones extra a tener en cuenta

Añado dos observaciones para redondear la explicación de este marcado. Por un lado, podemos utilizar una misma URL para dirigirla a varias distinciones de idioma y/o región. Por ejemplo, podemos enfocar una URL a los usuarios con idioma francés de Francia y Bélgica («fr-FR» y «fr-BE») y utilizar otra URL distinta enfocada a los usuarios francófonos de Canadá («fr-CA»).

La otra consideración es que también podemos asignar una URL por defecto que le aparezca a los usuarios que no tienen un idioma o geolocalización concretos en su navegador. Se trata del valor «x-default», que reemplaza a los atributos «xx-XX» de los códigos ISO. En el caso de que queramos se muestre la versión inglés para estos casos, lo especificaríamos de la siguiente manera:

<link rel="alternate" hreflang="x-default" href="https://ejemplo2.com/en/pagina.html" />
Segmentación internacional Search Console

No debemos olvidar la configuración del enfoque geográfico en Search Console,así como la validación de que no hay errores en nuestro marcado.

Cómo combinar el canonical y el hreflang

Hay un aspecto en el que debemos tener cuidado cuando implementemos la etiqueta hreflang en un proyecto multi-idioma o multi-región. Si bien todas las versiones de idiomas/regiones deben contener el mismo fragmento de código, la etiqueta canonical debe ser exclusiva de cada URL. Recordemos que el canonical ayuda a indicar a Google la URL qué nos interesa indexar en Google, reduciendo las probabilidades de contenido duplicado o canibalización. Entre otras cosas, esta etiqueta es buena en casos de alteraciones de URL provocados por los filtros u otros parámetros.

Recuperando un ejemplo anterior, el canonical de la URL https://ejemplo.com/es/pagina.html debería ser como sigue:

<link rel="canonical" href="https://ejemplo.com/es/pagina.html" />

Y, por su parte, el canonical de la versión en francés https://ejemplo.com/fr/pagina.html debería ser así:

<link rel="canonical" href="https://ejemplo.com/fr/pagina.html" />

Y, hasta aquí, todo lo relativo a la etiqueta hreflang para mejorar el SEO internacional de nuestros proyectos.

¿Prefieres que te echemos un cable?

A veces, ciertas cosas pueden sonar a chino. Estaremos encantados de conocer tu proyecto para darte una solución personalizada.

¡Contáctanos!

¿Te has quedado con ganas de más?

Echa un vistazo a otros posts del blog.
¡Nos esforzamos por crear contenido útil para ti!

¡Ver posts!

4 Comments
  1. Buenos días, me surge la siguiente duda. Yo tengo una web en inglés y sueco. Me interesaría que la parte inglesa llegara a los de habla inglesa en España y UK. Al igual con la versión sueca, sería interesante llegar a los suecos de España y de Suecia. Se puede duplicar la url en una hreflang para indicar "en-ES" y otra "en-UK" y con la versión sueca "sv-ES" y "sv-SE"?
    • Hola, Carlos. Sí, se puede utilizar una misma URL para varios hreflangs. Sería tal cual dices, excepto que la de Reino Unido sería "en-GB" y no "en-UK".

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *