Informar a Google de versiones localizadas de páginas

Mostrar páginas en idiomas concretos o dirigidas a regiones específicas mediante hreflang o sitemaps

Si tienes varias versiones de una página en diferentes idiomas o dirigidas a regiones concretas, háznoslo saber. De este modo, la Búsqueda de Google puede mostrar a los usuarios la versión más adecuada de tu página según su idioma o región.

Es posible que encontremos versiones de tus páginas en otros idiomas aunque no nos las comuniques; no obstante, te recomendamos que nos facilites las versiones en otros idiomas o dirigidas a regiones concretas.

A continuación, describimos algunas situaciones en las que recomendamos indicar páginas alternativas:

  • 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. Esta situación suele darse en páginas con contenido generado por usuarios, como los foros.
  • El contenido está en un solo idioma, pero presenta pequeñas variaciones regionales con contenido similar. Por ejemplo, páginas con contenido en español dirigido a Argentina, España y México.
  • El contenido está completamente traducido a varios idiomas. Por ejemplo, páginas con una versión en alemán y en español.
Creating multi-regional and multilingual sites

Métodos para indicar páginas alternativas

Puedes indicarnos que una página tiene versiones en otros idiomas o dirigidas a regiones determinadas de tres maneras distintas:

Etiquetas HTML

Añade elementos <link rel="alternate" hreflang="código_idioma"... > al encabezado de una página para informarnos de todas sus variantes de idioma y región. Este método resulta útil si no tienes ningún sitemap ni puedes especificar encabezados de respuesta HTTP en tu sitio web.

Todas las versiones de una página deben incluir un conjunto de elementos <link> en el elemento <head>; concretamente, un enlace por variante de la página, incluido uno a sí misma. Este conjunto debe ser el mismo en todas las versiones de una misma página. Consulta las directrices adicionales.

A continuación, se proporciona la sintaxis de los elementos de enlace:

<link rel="alternate" hreflang="código_idioma" href="url_de_la_página" />

código_idioma
Un código de idioma o de región admitido al que se dirige una versión de una página. Con x-default, indicas que esa versión debe mostrarse a los usuarios de idiomas que no se especifiquen en las etiquetas hreflang.
url_de_la_página
La URL completa de la versión de la página en el idioma indicado o dirigida a la región especificada.
Coloca las etiquetas <link> cerca de la parte superior del elemento <head>. Como mínimo, las etiquetas <link> deben incluirse en una sección <head> con un formato correcto, o bien antes de cualquier elemento que pueda causar que dicha sección se cierre prematuramente, como los elementos <p> o los píxeles de seguimiento. En caso de duda, pega el código de tu página renderizada en un validador de HTML para asegurarte de que los enlaces estén dentro del elemento <head>.

Ejemplo

Supongamos que Widgets, Inc tiene un sitio web que se muestra a usuarios de EE. UU., Reino Unido y Alemania. Las URL siguientes tienen prácticamente el mismo contenido, pero incluyen variaciones regionales:

  • http://en.example.com/page.html: página principal genérica en inglés que incluye información sobre las tarifas de envíos internacionales desde EE. UU.
  • http://en-gb.example.com/page.html: página principal del Reino Unido en la que los precios están en libras esterlinas.
  • http://en-us.example.com/page.html: página principal de EE. UU. que muestra los precios en dólares estadounidenses.
  • http://de.example.com/page.html: página principal en alemán.
  • http://www.example.com/: página predeterminada que no está orientada a ningún idioma ni configuración regional; incluye selectores para que los usuarios elijan su idioma y región.

No determinamos la audiencia objetivo de las páginas con los subdominios de idioma (en, en-gb, en-us y de, en este ejemplo); debes asignarla de forma explícita.

A continuación, incluimos el fragmento de código HTML que debe pegarse en la sección <head> de todas las páginas anteriores. Con este fragmento, se dirige a los usuarios que hablan inglés (estén en EE. UU., Reino Unido o cualquier otro lugar) y a los que hablan alemán a las páginas localizadas correspondientes. El resto de los usuarios verá una página principal genérica. La Búsqueda de Google devuelve el resultado adecuado en función de la configuración del navegador de los usuarios.

<head>
  <title>Widgets, Inc</title>
  <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/page.html" />
  <link rel="alternate" hreflang="x-default"
        href="http://www.example.com/" />
</head>

 

Encabezados HTTP

Puedes devolver encabezados HTTP con las respuestas GET de tus páginas para informarnos de todas sus variantes de idioma y región. Este método es útil con archivos que no son HTML, como los PDF.

El encabezado debe tener este formato:

Link: <url_1>; rel="alternate"; hreflang="código_idioma_1", <url_2>; rel="alternate"; hreflang="código_idioma_2", ...

<url_x>
La URL completa de la página alternativa correspondiente al código de idioma del atributo hreflang asociado. Debe incluirse entre estos símbolos: < >. Ejemplo: <https://www.google.com>
código_idioma_x
Un código de idioma o de región admitido al que se orienta una versión de una página. Con x-default, indicas que esa versión debe mostrarse a los usuarios de idiomas que no se especifiquen en las etiquetas hreflang.

Debes indicar el conjunto de valores <url>, rel="alternate" y hreflang de todas las versiones de una página, incluida la versión solicitada, separados por comas, tal como se muestra en el ejemplo que aparece más adelante. Los encabezados Link: que se devuelven en cada versión son idénticos. Consulta las directrices adicionales.

Ejemplo

A continuación, se muestra un ejemplo de encabezado Link: devuelto por un sitio web que tiene tres versiones de un archivo PDF: una para los usuarios que hablan inglés, otra dirigida a los hablantes de alemán de Suiza y una tercera que se mostrará a todos los demás visitantes que hablen alemán:

Link: <http://example.com/file.pdf>; rel="alternate"; hreflang="en",
      <http://de-ch.example.com/file.pdf>; rel="alternate"; hreflang="de-ch",
      <http://de.example.com/file.pdf>; rel="alternate"; hreflang="de"

 

Sitemap

Puedes informarnos de todas las variantes de idioma y región de todas tus URL mediante un sitemap. Para hacerlo, añade un elemento <loc> que indique una única URL e incluye entradas secundarias <xhtml:link> con todas las variantes de idioma y región de la página, incluida la del elemento <loc>. Es decir, si tienes tres versiones de una página, tu sitemap tiene que incluir tres entradas, cada una con tres entradas secundarias idénticas.

Reglas de sitemaps:

  • Especifica el espacio de nombres xhtml de este modo:
    xmlns:xhtml="http://www.w3.org/1999/xhtml"
  • Crea un elemento <url> por URL.
  • En cada elemento <url> debe incluirse un elemento secundario <loc> que indique la URL de una página.
  • En cada elemento <url> debe incluirse un elemento secundario <xhtml:link rel="alternate" hreflang="código_idioma_admitido"> en el que se indiquen todas las versiones alternativas de una página, incluida la del elemento <loc>.  El orden de estos elementos secundarios <xhtml:link> no es importante, pero te recomendamos que los ordenes siempre del mismo modo para que te resulte más fácil comprobar si hay errores.
  • Consultas las directrices adicionales.

Ejemplo

Supongamos que tienes una página en inglés dirigida a personas que hablan inglés de todo el mundo y que tienes versiones equivalentes de esta página para usuarios de habla alemana de todo el mundo y usuarios que hablan alemán de Suiza. A continuación, se muestran todas las URL de esta página presentes en el sitio web:

  • www.example.com/english/page.html: dirigida a usuarios de habla inglesa.
  • www.example.com/deutsch/page.html: orientada a personas que hablan alemán.
  • www.example.com/schweiz-deutsch/page.html: dirigida a hablantes de alemán en Suiza.

El sitemap de estas tres páginas sería este:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
  xmlns:xhtml="http://www.w3.org/1999/xhtml">
  <url>
    <loc>http://www.example.com/english/page.html</loc>
    <xhtml:link 
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page.html"/>
  </url>
  <url>
    <loc>http://www.example.com/deutsch/page.html</loc>
    <xhtml:link 
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page.html"/>
  </url>
  <url>
    <loc>http://www.example.com/schweiz-deutsch/page.html</loc>
    <xhtml:link 
               rel="alternate"
               hreflang="de"
               href="http://www.example.com/deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="de-ch"
               href="http://www.example.com/schweiz-deutsch/page.html"/>
    <xhtml:link 
               rel="alternate"
               hreflang="en"
               href="http://www.example.com/english/page.html"/>
  </url>
</urlset>

Directrices de todos los métodos

  • En cada versión de idioma de una página, deben incluirse todas las versiones de idioma de esa página, incluida la propia versión.
  • Las URL alternativas deben ser completas, incluido el método de transporte (http/https):
     Es decir, deben tener el formato https://example.com/foo, no //example.com/foo ni /foo.
  • No es necesario que las URL alternativas estén en el mismo dominio. 
  • Si tienes varias URL alternativas dirigidas a usuarios del mismo idioma, pero con distintas configuraciones regionales, es buena idea proporcionar una URL genérica a la que dirigir a los usuarios del idioma que no estén en ninguna ubicación geográfica indicada. Por ejemplo, aunque tengas URL específicas a las que llevar a los usuarios de inglés de Irlanda (en-ie), Canadá (en-ca) y Australia (en-au), también deberías ofrecer una página en inglés genérico (en) para mostrar a los usuarios de EE. UU., Reino Unido y el resto de los lugares de habla inglesa. Si quieres, puede ser una de las páginas específicas.
  • Si dos páginas no se apuntan entre sí, las etiquetas se ignorarán. De este modo, se evita que un webmaster de otro sitio web cree una etiqueta de manera arbitraria para marcar una de sus páginas como versión alternativa de una de las tuyas.
  • Si resulta difícil incluir los enlaces de todos los idiomas en todas las páginas, puedes omitir algunos en algunas páginas; aunque lo hagas, procesaremos los que se apunten entre sí. Sin embargo, es importante incluir enlaces a los idiomas originales o dominantes en las páginas de idiomas que se hayan añadido recientemente, y viceversa. Por ejemplo, supongamos que el idioma original de tu sitio web es el francés (termina en .fr) y hace poco has creado una versión en español de México (.mx) y otra en español de España (.es). En este caso, es más importante que enlaces de manera recíproca las versiones en español con la versión en francés, que tiene más presencia, que las versiones en español entre sí.
  • Quizá te interese incluir una página de respaldo para que se muestre a los usuarios de idiomas que no hayas indicado, sobre todo en los selectores de idioma y país o en páginas de redirección automática. Usa el valor x-default:
    <link rel="alternate" href="http://example.com/" hreflang="x-default" />

Códigos de idioma y región 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) de las URL alternativas. Por ejemplo:

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

No incluyas únicamente un código de país. No detectamos automáticamente el idioma con un código de país. No obstante, si quieres simplificar el etiquetado, sí puedes especificar únicamente un código de idioma. También puede añadir un código de país después del de idioma para restringir páginas 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 los idiomas con variaciones en su alfabeto, el alfabeto adecuado se detecta a partir del país. Por ejemplo, al utilizar zh-TW para dirigir contenido a usuarios taiwaneses, el alfabeto correcto se infiere de forma automática (en este caso, chino tradicional). También puedes especificar el alfabeto de forma explícita con el código ISO 15924, tal como se indica a continuación:

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

También puedes especificar una combinación de alfabeto y región; por ejemplo, con zh-Hans-TW, se mostrará el chino (simplificado) a usuarios taiwaneses.

Incluir la etiqueta x-default para mostrar una versión concreta a los usuarios de idiomas no indicados

El valor reservado hreflang="x-default" se utiliza cuando la configuración del navegador de los usuarios no coincide con ningún idioma ni región indicados. Este valor es opcional, pero recomendamos incluirlo para controlar qué versión se muestra a los usuarios de idiomas que no hayas especificado. Te recomendamos que los dirijas a una página de tu sitio web donde haya un mapa en el que puedan seleccionar su país.

Solucionar problemas

Errores habituales

A continuación, se indican los errores más habituales que se producen al usar hreflang:

  • Faltan enlaces recíprocos: si en una página X se incluye un enlace a una página Y, en esta página Y tiene que haber un enlace a la página X. Si no se cumple esta condición en todas las páginas que usen anotaciones hreflang, es posible que dichas anotaciones se ignoren o no se interpreten correctamente.
  • Códigos de idioma incorrectos: asegúrate de que los códigos de idioma que uses identifiquen un idioma en formato ISO 639-1 y, opcionalmente, una región en formato ISO 3166-1 Alpha 2 en las URL alternativas. No se puede especificar únicamente la región.

Depurar errores de hreflang

Con el informe "Segmentación internacional", puedes depurar los problemas más habituales. Asegúrate de que hayamos tenido tiempo de rastrear tus páginas y, a continuación, visita la pestaña Idioma del informe para ver si se ha detectado algún error.

También hay muchas herramientas de terceros disponibles. A continuación te indicamos algunas de las más populares (no mantenemos ni revisamos ninguna de estas herramientas):

¿Te ha sido útil este artículo?
¿Cómo podemos mejorar esta página?