Usar hreflang para URLs de idioma y de región

Muchos sitios web proporcionan contenido a usuarios de todo el mundo y dicho contenido puede estar traducido u orientado a usuarios de una determinada región. Google usa los atributos rel="alternate" hreflang="x" para mostrar la URL de idioma o de región correcta en los resultados de búsqueda.

Creating multi-regional and multilingual sites

A continuación, se indican algunas de las situaciones en las que se recomienda utilizar el atributo rel="alternate" hreflang="x":

  • El contenido principal está en un solo idioma y solo se traduce la plantilla, como el área de navegación y el pie de página. En las páginas con contenido generado por el usuario, como los foros, se suele hacer esto.
  • Tu contenido presenta pequeñas variaciones regionales con contenido similar en un solo idioma. Por ejemplo, puede que haya contenido en inglés dirigido a EE.UU., Gran Bretaña e Irlanda.
  • El contenido de tu sitio está completamente traducido. Por ejemplo, existe una versión en alemán y en inglés de cada página.

Uso de las anotaciones de idioma

Supongamos que tienes una página en inglés alojada en http://www.example.com/, con una página alternativa en español en http://es.example.com/. Puedes indicar a Google que la URL en español es el equivalente español de la página en inglés utilizando una de las tres opciones siguientes:

  • Elemento de enlace HTML en el encabezado. En la sección <head> del HTML de la página http://www.example.com/, añade un elemento de enlace link que dirija a la versión en español de esta página web en la URL http://es.example.com/, tal como se indica a continuación:
    <link rel="alternate" hreflang="es" href="http://es.example.com/" />

  • Encabezado HTTP. Si publicas archivos no HTML (como PDF), puedes usar un encabezado HTTP para indicar que existe una versión en otro idioma de una URL:
    Link: <http://es.example.com/>; rel="alternate"; hreflang="es"

    Para especificar varios valores para "hreflang" en un encabezado HTTP con el elemento link, se deben separar los valores con comas como se muestra a continuación:
    Link: <http://es.example.com/>; rel="alternate"; hreflang="es",<http://de.example.com/>; rel="alternate"; hreflang="de"

  • Sitemap. En lugar de usar el marcado, puedes enviar la información sobre las versiones en distintos idiomas con un sitemap.

Si tienes versiones de una URL en diversos idiomas, la página de cada idioma debe identificar las versiones de todos los idiomas, incluida la propia página.  Por ejemplo, si el sitio ofrece contenido en francés, en inglés y en español, la versión en español debe incluir un enlace rel="alternate" hreflang="x" hacia sí misma además de los de las versiones francesa e inglesa. De modo similar, las versiones en inglés y en francés deben incluir las mismas referencias a las versiones en francés, en inglés y en español.

Puedes especificar las direcciones URL en varios idiomas en el mismo dominio que una URL determinada, o bien utilizar las URL de un dominio diferente.

Si tienes varias URL alternativas dirigidas a usuarios del mismo idioma, pero con distinta configuración regional, es aconsejable proporcionar una URL genérica cuando la página no vaya dirigida a usuarios de una región concreta. Por ejemplo, puede que dispongas de URL específicas para los hablantes de inglés de Irlanda (en-ie), Canadá (en-ca) y Australia (en-au) y, sin embargo, quieras que el resto de hablantes de inglés vean la página en inglés genérica (en) y todos los demás usuarios vean la página de inicio. En tal caso, se debe especificar una página en inglés genérica (en) para los usuarios que realicen búsquedas en el Reino Unido, por ejemplo. Puedes anotar esta agrupación de páginas con un archivo sitemap o usando etiquetas de enlace en HTML, como se muestra a continuación:

<link rel="alternate" href="http://example.com/en-ie" hreflang="en-ie" />
<link rel="alternate" href="http://example.com/en-ca" hreflang="en-ca" />
<link rel="alternate" href="http://example.com/en-au" hreflang="en-au" />
<link rel="alternate" href="http://example.com/en" hreflang="en" />

Para los selectores de idioma/país o las páginas principales que redireccionan de forma automática, también debes añadir una anotación para el valor hreflang "x-default":
<link rel="alternate" href="http://example.com/" hreflang="x-default" />

Valores de idioma admitidos

El valor del atributo hreflang identifica el idioma en formato ISO 639-1 y, opcionalmente, la región en formato ISO 3166-1 Alpha 2 para una URL alternativa. Por ejemplo:

  • de: contenido en alemán, independientemente de la región
  • en-GB: contenido en inglés para usuarios británicos
  • de-ES: contenido en alemán para usuarios de España

No incluyas únicamente el código del país. Google no detecta automáticamente el idioma según el código de país. Puedes especificar un código de idioma para simplificar el etiquetado.  También se puede añadir el código de país después del idioma para restringir la página a una región concreta.  Ejemplos:

  • be: idioma bielorruso, independientemente de la región (no es francés de Bélgica)
  • nl-be: holandés para Bélgica
  • fr-be: francés para Bélgica 

En las variaciones de alfabetos de idioma, el alfabeto adecuado se detecta a partir del país. Por ejemplo, al usar zh-TW para usuarios taiwaneses, se inferirá el alfabeto del idioma de forma automática (en este caso, será chino tradicional). También puedes especificar el alfabeto explícitamente con el código ISO 15924, como se indica a continuación:

  • zh-Hant: chino (tradicional)
  • zh-Hans: chino (simplificado)

De forma alternativa, también puedes especificar una combinación de alfabeto y región; por ejemplo, utiliza zh-Hans-TW para especificar el idioma chino (simplificado) para usuarios taiwaneses.

Finalmente, el valor reservado "x-default" se usa para indicar selectores o redireccionadores de idioma que no son específicos de un idioma o de una región, por ejemplo, tu página principal, en la que se muestra un mapa del mundo en el que se puede hacer clic.

Errores comunes

Importante: Asegúrate de que el valor de hreflang sea válido. Ten cuidado en lo que respecta a los dos errores más comunes:

  • Faltan enlaces de confirmación: si la página A enlaza con la página B, la página B tiene que volver a enlazar con la página A. Si no se cumple tal condición en todas las páginas que usen anotaciones "hreflang", es posible que no se interpreten correctamente.
  • Códigos de idioma incorrectos: asegúrate de que los códigos de idioma que uses identifiquen el idioma en formato ISO 639-1 y, opcionalmente, la región en formato ISO 3166-1 Alpha 2 para una URL alternativa. No se puede especificar únicamente la región.
Ejemplo de configuración: anotaciones en acción

Por ejemplo: Widgets, Inc tiene un sitio web que se dirige a usuarios de EE.UU., Gran Bretaña y Alemania. Las URL siguientes contienen prácticamente el mismo contenido, pero con variaciones regionales:

  • http://www.example.com/ Página predeterminada que está orientada a ningún idioma ni configuración regional; puede tener selectores que permitan a los usuarios seleccionar su idioma y región.
  • http://en.example.com/page.html Página principal en inglés. Incluye información sobre las tarifas de envíos internacionales desde EE. UU.
  • http://en-gb.example.com/page.html Página en inglés que muestra los precios en libras esterlinas.
  • http://en-us.example.com/page.html Página en inglés, que muestra los precios en dólares de EE.
  • http://de.example.com/seite.html Versión en alemán del contenido.

rel="alternate" hreflang="x" se usa a nivel de página, no a nivel de sitio, y debes marcar cada conjunto de páginas según corresponda, incluida la página principal. Puedes especificar todas las variaciones de contenido y todas las agrupaciones de idiomas o regiones que necesites.

Para poder indicar a Google que quieres ofrecer la versión en alemán de la página a los usuarios que buscan en la página de Google en alemán, la versión en inglés estadounidense a los usuarios de google.com en inglés y la versión en inglés británico a los usuarios de google.co.uk, debes utilizar rel="alternate" hreflang="x" para identificar las versiones en idiomas alternativos.

Se debe actualizar el HTML de cada URL añadiendo un conjunto de elementos de enlace "link" rel="alternate" hreflang="x". En el caso de la página predeterminada que no está orientada a ningún idioma ni configuración regional particular, añade rel="alternate" hreflang="x-default":


<link rel="alternate" hreflang="x-default" href="http://www.example.com/" />
<link rel="alternate" hreflang="en-gb" href="http://en-gb.example.com/page.html" />
<link rel="alternate" hreflang="en-us" href="http://en-us.example.com/page.html" />
<link rel="alternate" hreflang="en" href="http://en.example.com/page.html" />
<link rel="alternate" hreflang="de" href="http://de.example.com/seite.html" />

Este marcado indica al algoritmo de Google que debe considerar todas estas páginas como versiones alternativas de las demás.

 

¿Te ha sido útil este artículo?