logo Carlos blanco

Canonical vs Hreflang: Conoce sus diferencias y evita conflictos

¿Alguna vez te has preguntado cómo Google sabe qué versión de tu página mostrar en diferentes países o en distintos idiomas? Aquí es donde entra en juego la famosa Etiqueta Hreflang

 

¿Y qué pasa si nuestra página web tiene contenido muy parecido entre sí? ¿o distintas URLs pero con el mismo contenido? Por ejemplo, URLs con http y otras con https, URLs con slash al final (“/”) y otras que no… ¿Cuál de ellas deben indexar los motores de búsqueda? ¿Cómo evitamos duplicidades? Pues para eso tenemos a nuestras colegas las Etiquetas Canonicals



Usar bien estas etiquetas es clave para SEO internacional y para evitar duplicidades. Las etiquetas hreflang se encargan de guiar a los usuarios hacia la versión de tu página más relevante para su idioma y ubicación, mientras que las canonical se aseguran de que Google entienda cuál es la versión principal para evitar contenidos repetidos.

 

Te voy a contar todo sobre cómo sacarles el máximo partido, cómo evitar que se pisen entre ellas y, lo más importante, cómo hacer que trabajen a tu favor para que tu sitio web destaque en Google.

 

¡Fuimos!

canonicals y hreflang thumbnail (1)

Entendiendo las Etiquetas Hreflang

Imagina que tienes una tienda online que vende en España y en México. Aunque ambos países hablan español, hay diferencias en la forma de expresarse, las palabras que usamos y en los productos que podrían interesar a tus clientes en cada región. En general, hay diferencias a la hora de hacer Marketing para un país u otro. 

 

Aquí es donde las etiquetas hreflang entran en acción, como tu asistente personal para decirle a Google: «Oye, muestra esta página a los usuarios en España y esta otra a los de México».

 

Esto se hace mucho más evidente cuando ni siquiera el idioma es el mismo, imagina un sitio online que venda en España y en UK, pues obviamente hay que indicarle a Google que versión es cada una y qué contenido debe proporcionar a cada audiencia.

Las etiquetas hreflang ayudan a Google a entender qué versión de tu página mostrar según el país y el idioma del usuario.

Por ejemplo, si alguien en Argentina busca tus productos, Google sabrá que debe mostrar la versión de tu página destinada a los hispanohablantes de América Latina, no la de España. Esto no solo mejora la experiencia del usuario sino que también puede aumentar tus tasas de clic y reducir la tasa de rebote, ya que los usuarios llegarán a contenido más relevante para ellos.

Pero, ¿Cómo se usan estas etiquetas? Es bastante sencillo. En el código de tu página, añades un pequeño fragmento que le dice a Google: «Esta página está dirigida a usuarios que hablan X idioma en Y región». Por ejemplo, «es-es» para España y «es-mx» para México.

El primer código del atributo hreflang es el código de idioma (en formato ISO 639-1) seguido de un segundo código opcional que representa el código regional (en formato ISO 3166-1 Alpha 2) de una URL alternativa.

Te enseño diversas formas de implementarlas correctamente: 

Implementando la Etiqueta Hreflang

Existen varios caminos para implementar estas etiquetas de forma correcta. Algunos son más complicados y requieren de conocimientos técnicos. Otros en cambio, si tu sitio web está construido con WordPress, sólo tendrás que instalar algún plugin y poco más.

Etiquetas hreflang en la sección head del HTML

Puedes implementar etiquetas hreflang directamente en el código HTML de tu sitio web, para ello, debes agregarlas en la sección head de cada página que tenga contenido multilingüe o dirigido a diferentes regiones. Mira este ejemplo:

				
					<head>
   
   <link rel="alternate" hreflang="es-ES" href="https://www.tusitio.com/es/" />

   
   <link rel="alternate" hreflang="es-MX" href="https://www.tusitio.com/mx/" />

   
   <link rel="alternate" hreflang="en" href="https://www.tusitio.com/en/" />
</head>

				
			

Hreflang en Sitemaps XML

También puedes incluir información Hreflang en el archivo Sitemap XML de tu sitio web. Esto proporciona una manera estructurada de comunicar a los motores de búsqueda las versiones multilingües y regionales de tus páginas.Esta es una de esas tareas más técnicas y que requieren de una explicación más elaborada. Vamos a paso a paso. 
  • Preparación de las etiquetas hreflang: Antes de agregarlas al Sitemap XML, asegúrate de haber creado las etiquetas hreflang para las páginas de tu sitio web que tienen contenido multilingüe o dirigido a diferentes regiones. Puedes usar de apoyo el generador de Hreflang de Sistrix
  • Estructura del sitemap XML: Un archivo sitemap XML es un documento que enumera todas las páginas de tu sitio web que deseas que los motores de búsqueda rastreen. La estructura general de un sitemap XML se ve así:
				
					<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
   
</urlset>

				
			

Nota: Hemos usado el espacio de nombres xmlns para definir el formato del sitemap XML.

 

3. Incluir etiquetas hreflang: Para agregar etiquetas hreflang a tu sitemap XML, cada URL debe tener entradas secundarias <xhtml:link> que especifiquen las variantes de idioma y región de la página. Cada entrada secundaria incluirá la etiqueta hreflang correspondiente.

Por ejemplo, si tenemos una página en español dirigida a España y una página en español dirigida a México, el sitemap XML se vería así:

				
					<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">
   <url>
      <loc>https://www.tusitio.com/es/</loc>
      <xhtml:link rel="alternate" hreflang="es-ES" href="https://www.tusitio.com/es/" />
      <xhtml:link rel="alternate" hreflang="es-MX" href="https://www.tusitio.com/mx/" />
   </url>
   
</urlset>


				
			
4. Validación y presentación: Una vez que hayas creado tu sitemap XML con etiquetas hreflang, asegúrate de que esté bien formateado y sea válido según las especificaciones. Puedes usar Validadores de Sitemaps OnlineVamos a ver un ejemplo de un Sitemap más extenso, con el supuesto de una página online que se dirija a España, México, Inglaterra y Alemania:
				
					<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xhtml="http://www.w3.org/1999/xhtml">
   
   
   <url>
      <loc>https://www.tusitio.com/es-es/</loc>
      <xhtml:link rel="alternate" hreflang="es-ES" href="https://www.tusitio.com/es-es/" />
      <xhtml:link rel="alternate" hreflang="es-MX" href="https://www.tusitio.com/es-mx/" />
      <xhtml:link rel="alternate" hreflang="en" href="https://www.tusitio.com/en/" />
      <xhtml:link rel="alternate" hreflang="de" href="https://www.tusitio.com/de/" />
   </url>

   
   <url>
      <loc>https://www.tusitio.com/es-mx/</loc>
      <xhtml:link rel="alternate" hreflang="es-ES" href="https://www.tusitio.com/es-es/" />
      <xhtml:link rel="alternate" hreflang="es-MX" href="https://www.tusitio.com/es-mx/" />
      <xhtml:link rel="alternate" hreflang="en" href="https://www.tusitio.com/en/" />
      <xhtml:link rel="alternate" hreflang="de" href="https://www.tusitio.com/de/" />
   </url>

   
   <url>
      <loc>https://www.tusitio.com/en/</loc>
      <xhtml:link rel="alternate" hreflang="es-ES" href="https://www.tusitio.com/es-es/" />
      <xhtml:link rel="alternate" hreflang="es-MX" href="https://www.tusitio.com/es-mx/" />
      <xhtml:link rel="alternate" hreflang="en" href="https://www.tusitio.com/en/" />
      <xhtml:link rel="alternate" hreflang="de" href="https://www.tusitio.com/de/" />
   </url>

   
   <url>
      <loc>https://www.tusitio.com/de/</loc>
      <xhtml:link rel="alternate" hreflang="es-ES" href="https://www.tusitio.com/es-es/" />
      <xhtml:link rel="alternate" hreflang="es-MX" href="https://www.tusitio.com/es-mx/" />
      <xhtml:link rel="alternate" hreflang="en" href="https://www.tusitio.com/en/" />
      <xhtml:link rel="alternate" hreflang="de" href="https://www.tusitio.com/de/" />
   </url>

   

</urlset>

				
			

Esta técnica es útil para sitios web con muchas páginas, ya que puedes configurar las cabeceras en el nivel del servidor y aplicarlas de manera consistente a todas las páginas. En este ejemplo, asumimos un sitio web con versiones en español (España y México), inglés y alemán:

				
					<IfModule mod_headers.c>
    # Configuración de las cabeceras para páginas en español (España)
    Header set Link '<https://www.tusitio.com/es-es/>; rel="alternate"; hreflang="es-ES", <https://www.tusitio.com/es-mx/>; rel="alternate"; hreflang="es-MX", <https://www.tusitio.com/en/>; rel="alternate"; hreflang="en", <https://www.tusitio.com/de/>; rel="alternate"; hreflang="de"'

    # Configuración de las cabeceras para páginas en español (México)
    Header set Link '<https://www.tusitio.com/es-es/>; rel="alternate"; hreflang="es-ES", <https://www.tusitio.com/es-mx/>; rel="alternate"; hreflang="es-MX", <https://www.tusitio.com/en/>; rel="alternate"; hreflang="en", <https://www.tusitio.com/de/>; rel="alternate"; hreflang="de"'

    # Configuración de las cabeceras para páginas en inglés
    Header set Link '<https://www.tusitio.com/es-es/>; rel="alternate"; hreflang="es-ES", <https://www.tusitio.com/es-mx/>; rel="alternate"; hreflang="es-MX", <https://www.tusitio.com/en/>; rel="alternate"; hreflang="en", <https://www.tusitio.com/de/>; rel="alternate"; hreflang="de"'

    # Configuración de las cabeceras para páginas en alemán
    Header set Link '<https://www.tusitio.com/es-es/>; rel="alternate"; hreflang="es-ES", <https://www.tusitio.com/es-mx/>; rel="alternate"; hreflang="es-MX", <https://www.tusitio.com/en/>; rel="alternate"; hreflang="en", <https://www.tusitio.com/de/>; rel="alternate"; hreflang="de"'
</IfModule>

				
			

Debes asegurarte de que el módulo mod_headers esté habilitado en tu servidor web para poder utilizar estas configuraciones.

 

La configuración de las cabeceras HTTP debe realizarse en el archivo de configuración de Apache o en un archivo .htaccess según la configuración de tu servidor web.

Implementación de Hreflang con Plugins de WordPress

Esta es la vía más sencilla y menos arriesgada si tocar código no es lo tuyo. Si utilizas WordPress (El dios al que yo le rezo cada noche), puedes simplificar la implementación de etiquetas hreflang mediante el uso de plugins

Hay varios disponibles que facilitan la gestión de etiquetas hreflang en tu sitio web WordPress. Algunos de estos plugins, no solo te facilitan el etiquetado Hreflang, si no que además, te permiten traducir y gestionar las páginas multi idiomas de tu página web. 

Veamos los más famosos:

 

  • WPML: Tal y como dicen en su propia página web: WPML facilita la creación y administración de sitios web multilingües. Es lo suficientemente poderoso para sitios empresariales y muy simple para crear blogs. Y es verdad, y sus miles de instalaciones activas lo avalan. No solo para la gestión del multi idioma, si no que con las opciones SEO que vienen incluidas podrás tener un correcto etiquetado Hreflang casi al instante, al mismo ritmo que creas versiones multilingües de tu sitio online.
 

Mala noticia: No tiene versión gratuita

wpml-plugin-multilingue
  • PolyLang: Este es otro de esos plugins estrella a la hora de crear y gestionar páginas web en distintos idiomas. En una competición de popularidad con el plugin anterior, Polylang quizás es más sencillo pero menos personalizable. 
 

Igualmente, para implementar Hreflang no tenemos que hacer casi nada, solo activamos los idiomas y el propio plugin se encarga de añadir las etiquetas de los idiomas que tengamos añadidos. 

Y lo mejor, este plugin sí tiene versión gratuita

polylang-plugin-multilingue-hreflang
  • Hreflang Manager: Este plugin se enfoca específicamente en la gestión de etiquetas hreflang. Te permite añadir etiquetas hreflang a tus páginas y entradas de manera manual y sencilla.
hreflang manager plugin wordpress

La Importancia de las Etiquetas Canonical

Ahora hablemos de otro jugador clave en nuestro equipo de SEO: las etiquetas canonical

 

Las etiquetas canónicas (también conocidas como etiquetas rel=»canonical») son elementos HTML utilizados en el SEO (Search Engine Optimization) para indicar a los motores de búsqueda cuál es la versión preferida de una página web cuando existe contenido duplicado o similar en múltiples URL.

 

Es común tener varias páginas en tu sitio web que se parecen mucho o son idénticas. Sin las etiquetas canonical, los motores de búsqueda pueden confundirse y no saber cuál es la versión principal que mostrar en los resultados. Esto puede llevar a problemas de contenido duplicado, algo que a Google no le gusta nada.

Usar etiquetas canonical es como decirle a Google: «Mira, sé que estas páginas son muy parecidas, pero esta es la que realmente quiero que tengas en cuenta e indexes». 

Es una forma de asegurarte de que la autoridad de tu página se mantenga concentrada en la versión que tú consideras más importante, y no se disperse entre múltiples versiones similares o peor aún, no se te penalice por contenido duplicado.

Implementando la Etiqueta Canonical

Implementar canónicas no es difícil, basta con añadir en el encabezado de tus páginas un enlace rel=»canonical» que apunte a la URL que consideras principal o una canonical a la URL autoreferenciada. 

Pero antes de empezar a ver diferentes formas de implementación, ¿Realmente es obligatorio y necesario establecer una URL canónica? La respuesta es NO, sin embargo,

Si no se especifica una URL canonical, Google se encargará de estos asuntos con sus propias manos

Si no indicas una URL canonical, identificaremos lo que creemos que es la mejor versión o URL.

Confiar en Google de esta manera no es una gran idea; puede que seleccionen una versión de tu página que no quieras que sea canonical. Así que por el bien de tu proyecto, vamos a ver cómo implementarlas.

Implementar Canonicals en WordPress con Plugins

WordPress es una maravilla a la hora de facilitarnos tareas como esta y es que, en su repositorio de plugins podemos encontrar varios que nos sirven de soporte para nuestro dia a dia como SEOs. Los más populares con diferencia son:

  • Yoast SEO: Uno de los plugins por excelencia para hacer SEO en WordPress. Nos ofrece gran cantidad de herramientas de optimización en motores de búsqueda y, por supuesto, entre ellas se encuentra la de establecer etiquetas canónicas en las páginas y entradas de tu sitio web. Solo tienes que acceder a su interfaz de edición, editar la página o entrada y utilizar la sección «Configuración avanzada» para agregar una URL canónica. Si no agregas una manualmente, este plugin creará una canonical autoreferenciada (Hablaremos más adelante sobre esto).
yoast-seo-plugin
  • Rank Math: Rank Math nació más tarde que Yoast, pero en poco tiempo (y por algunos fallos que cometió Yoast) le comió cuota de mercado y ahora son competidores directos en cuanto a popularidad e instalaciones activas. Este plugin hace exactamente lo mismo que Yoast a la hora de establecer canonicals y con una facilidad similar. Se realiza desde la interfaz de edición de páginas y entradas. Simplemente edita la página o entrada que quieras y accede a la sección de ‘Configuración de SEO’. Allí, puedes ingresar la URL canónica que desees para consolidar contenido similar o duplicado.

Existen otras formas de incluir etiquetas canonicals en WordPress, con otros plugins de inserción de código personalizado, como Code Snippets o añadiendo de forma manual en el Header.php o incluso, si usas algún maquetador como Elementor o Divi, usando sus bloques de código en cada página. 


Sin embargo, esto en mi opinión es rizar el rizo. Porque si usas wordpress, el 99,99% de las veces tendrás algún plugin de SEO instalado y si es así, tendrás configuraciones mucho más sencillas y optimizadas para realizar esta acción.

Implementar Canonicals de forma manual

Si no estás utilizando WordPress y quieres agregar etiquetas canónicas de forma manual en tu sitio web, puedes hacerlo directamente en el código HTML de tus páginas. vamos a ver como: 

 

  1. Abre el archivo HTML de tu página: Accede al archivo HTML de la página en la que deseas agregar la etiqueta canónica. Puedes hacerlo utilizando un editor de texto como Visual Studio Code, Notepad++, Sublime Text o cualquier otro.
  2. Identifica la ubicación en el código HTML: Encuentra la ubicación en el código HTML donde deseas insertar la etiqueta canónica. Normalmente, se coloca en la sección <head> de tu página, entre las etiquetas <head> y </head>.
  3. Agrega la etiqueta canónica: Inserta la etiqueta canónica utilizando el siguiente código como ejemplo: <link rel=»canonical» href=»URL_DE_TU_PAGINA_CANONICA» /
  4. Reemplaza «URL_DE_TU_PAGINA_CANONICA» con la URL canónica que deseas establecer.
  5. Guarda el archivo HTML: Una vez que hayas agregado la etiqueta canónica, guarda el archivo HTML con los cambios.
  6. Verifica la configuración: Abre la página en un navegador web y asegúrate de que la etiqueta canónica se haya agregado correctamente. Puedes hacerlo haciendo clic derecho en la página y seleccionando «Ver código fuente» o «Inspeccionar elemento» en tu navegador para ver el código fuente y buscar la etiqueta <link rel=»canonical»>.

Canonicals Autoreferenciadas

Las etiquetas canónicas autoreferenciadas, son etiquetas canónicas que apuntan a la misma URL en la que se encuentran. En otras palabras, la URL de la etiqueta canónica es idéntica a la URL de la página actual.

Por ejemplo, si tienes una página en tu sitio web con la URL «https://ejemplo.com/mi-pagina», y en esa página incluyes una etiqueta canónica autoreferenciada, se vería así en el código HTML:

<link rel=»canonical» href=»https://ejemplo.com/mi-pagina» />

La función de una etiqueta canónica autoreferenciada es indicar explícitamente que la página actual es la fuente principal o preferida del contenido y no es un duplicado de ninguna otra página.

Te invito a que eches un ojo a este vídeo en el que John Mueller nos comenta: «No es fundamental tener una etiqueta canónica autorreferenciada en una página, pero nos facilita elegir exactamente la URL que quieres que sea canónica»

 

 

Usos frecuentes de Canonicals

vamos a ver algunos ejemplos comunes de cómo se utiliza la etiqueta canónica en diferentes situaciones:

 

  • Contenido duplicado en diferentes URL con parámetros de seguimiento: Supongamos que tienes una e-commerce y algunas de tus páginas de productos tienen parámetros de seguimiento en las URL (https://www.tudominio.com/producto/123?paranetro) En estos casos para evitar que los motores de búsqueda como Google identifiquen distintas versiones con el mismo contenido y lo considere contenido duplicado, establecemos la canonical hacia la URL original: 
 

<link rel=»canonical» href=»https://www.tudominio.com/producto/123″>

 

  • Contenido duplicado en diferentes páginas: Si tienes contenido duplicado en varias páginas de tu sitio web, puedes utilizar la etiqueta canónica para señalar cuál es la página principal.
  • Versiones móviles y de escritorio: Si tienes versiones móviles y de escritorio de tus páginas, puedes usar la etiqueta canónica para especificar cuál de las dos versiones es la canónica. 
 

Por ejemplo, en la versión móvil:

 

<link rel=»canonical» href=»https://www.tudominio.com/pagina-ejemplo-movil»>

 

En la versión desktop:

 

<link rel=»canonical» href=»https://www.tudominio.com/pagina-ejemplo-movil»>

 

 

De esta forma harás entender a Google que tu versión favorita es la versión móvil, en caso de que tu diseño web no sea responsive y tengas una URL distinta para cada dispositivo (Si tienes otra versión para Tablets, o monitores más grandes… funcionará igual que el ejemplo anterior)

 

  • URLs únicas para los posts de diferentes categorías: También puede ocurrir que tengas un mismo post en distintas categorías y que estas, tengan URLs diferentes en la ruta final. Por ejemplo, si accedes al post desde “Categoría 1” la URL sería: www.sitio/categoria1/post y si accedes al post desde “Categoría 2”, la URL sería esta: www.sitio/categoria2/post  y ambas ofrecen el mismo contenido. 
  • Servir el mismo contenido con http, https, www o sin www: A este tipo de prácticas se les llama duplicidades de dominio. Es importante que todas las posibles variaciones de tu dominio tengan una canonical a la versión elegida por ti, supongamos https://www.tusitio.com . Pues tanto si tiene www o si es http, o cualquier otra variación debe tener una canonical hacia la versión elegida. 

Diferencias y Relaciones entre Hreflang y Canonical

Ahora que ya sabes lo esencial sobre las etiquetas hreflang y canonical, es hora de entender cómo se diferencian y cómo pueden trabajar en armonía.

 

Aunque ambas etiquetas tienen roles diferentes, pueden complementarse perfectamente. Las hreflang ayudan a evitar problemas de contenido duplicado en diferentes versiones lingüísticas de tu sitio, mientras que las canonical se encargan de señalar cuál es la versión principal en casos donde el contenido es muy similar o idéntico. Juntas, forman un equipo dinámico que ayuda a mejorar tanto la experiencia del usuario como tu posicionamiento en los motores de búsqueda.

 

El truco está en saber cómo y cuándo usar cada una. Si tienes un sitio multilingüe o multinacional, usarás hreflang para dirigir a tus usuarios al contenido adecuado. Pero si tienes contenido que es muy similar o idéntico dentro del mismo idioma, aquí es donde las canonical entran en juego. Usándolas juntas de manera estratégica, puedes asegurarte de que tus usuarios y los motores de búsqueda siempre encuentren el camino correcto en tu sitio.

Evitando Conflictos entre Hreflang y Canonical

Uno de los mayores retos al usar estas etiquetas es asegurarse de que no entren en conflicto. Imagínate que estás organizando una fiesta y quieres que tus invitados (los usuarios) y el DJ (Google) estén en sintonía. Si las instrucciones son confusas, la fiesta podría no salir como esperabas.

 

Para evitar conflictos entre las etiquetas hreflang y canonical, sigue estos consejos:

 

  • La consistencia es clave: Asegúrate de que las etiquetas hreflang y canonical sean consistentes en todas las versiones de tu sitio. Si señalas una página como la versión en inglés para EE.UU. con hreflang, la canonical de esa página también debe apuntar a sí misma, no a otra variante lingüística o regional.
  • Vigila los enlaces autoreferenciales: Como vimos antes, es recomendable que cada página inckuya una etiqueta hreflang autoreferencial, así evitamos posibles confusiones o errores.
  • Revisa regularmente: Usa herramientas de SEO para verificar regularmente que tus etiquetas estén configuradas correctamente. Errores en estas etiquetas pueden afectar negativamente a tu SEO.
  • Solicita ayuda si es necesario: Si no estás seguro sobre cómo configurar estas etiquetas, no dudes en buscar ayuda de un experto en SEO. Mejor prevenir que curar.

Conclusión

Hemos viajado por el mundo de las etiquetas hreflang y canonical, explorando sus funciones, diferencias y cómo pueden trabajar juntas para potenciar tu SEO. Recordemos que las etiquetas hreflang se encargan de dirigir a los usuarios al contenido adecuado según su idioma y región, mientras que las canonical aseguran que los motores de búsqueda reconozcan la versión principal de tu contenido.

Así que, ya sea que estés manejando un sitio multilingüe o simplemente quieras asegurarte de que tu contenido sea fácilmente identificable y correctamente indexado por los motores de búsqueda. Recuerda que siempre podrás tener información oficial en el  Centro de Búsqueda de Google 

Si necesitas ayuda con esta o cualquier gestión sobre SEO, siempre podemos hablar para ayudarte. Para ello, solo tienes que ir a mi sección de contacto 🙂

Categorías

Artículos Relacionados