Últimamente trabajé en la optimización de una tienda en línea. Acá encontré dos problemas con el “rel canonical”, redirecciones 301 y el hreflang afectando el SEO. No era tan fácil resolver los dos problemas porque no hay mucha información en la web como manejar “rel canonical” y “hreflang” al mismo tiempo;  y si el rel canonical afecta en las redirecciones 301.

Quiero aquí compartir algunas resoluciones sobre los dos problemas:

1. “rel canonical” y hreflang

Hreflang y rel canonical al mismo tiempo

¿Cómo utilizar hreflang y rel canonical al mismo tiempo? Imagen de https://www.youtube.com/watch?v=8ce9jv91beQ

Una tienda online tiene una versión en español, otra en inglés. Los productos tienen urls como es.example.com/productoA y en.example.com/productoA.

ProductoA existe en dos diferentes colores, entonces existen 6 urls para el productoA:

es.example.com/productoA (url general)
es.example.com/productoA?rojo (color rojo)
ex.example.com/productoA?verde (color verde)

y lo mismo para en.example.com/productoA

Utilizamos el “rel canonical” para mostrar (en el caso de es.example.com) que la url principal es es.example.com/productoA (entonces “<link rel=»canonical» href=»es.example.com/productoA />” en las tres páginas de es).

Lo mismo hacemos en el caso de las 3 páginas en inglés, solo cambiamos es por en: “<link rel=»canonical» href=»en.example.com/productoA />”.

¿Pero cómo utilizamos la etiqueta “hreflang” (para mostrar a Google que el producto existe en inglés y español) en este caso?

La respuesta es facíl: solo la url canónica lleva el “hreflang”, las otras dos páginas (para el producto en rojo y verde) no deben tener el código de hreflang.

<link rel=»alternate» hreflang=»en» href=»en.example.com/productoA» /> en el caso de es.example.com/producotA

pero no: <link rel=»alternate» hreflang=»en» href=»http://en.example.com/productoA?rojo» /> en el caso de es.example.com/producotA?rojo.

2. “rel canonical” y redirección 301

Redirección 301 y rel canonical

Google Webmaster Tools: problemas porque la url es canónica y una redirección 301 al mismo tiempo.

¿Es posible que una url canónica es una redirección 301? Digamos la categoría de una tienda online tiene la url: es.example.com/categoria1. La categoría se puede ordenar por precios (precio más alto, precio más bajo primero) y por productos nuevos (nuevos productos primeros). Entonces existen varias url para la categoría, por ejemplo es.example.com/categoria1?preciobajo.

La url canónica es es.example.com/categoria1. Sin embargo, cuando alguien entra a la categoría se quiere mostrarle primero los productos con los precios más bajos. Entonces  es.example.com/categoria1 no solo es la url canónica sino también al mismo tiempo una redirección (301 por razones de SEO) a es.example.com/categoria1?preciobajo.

Teóricamente esto no debe ser un problema para Google (mira está discusión en Moz). Pero en la práctica esto causa problemas. En las herramientas de Google para webmaster esto aparece como problema de rastreo de una página web.

Entonces una url canónica que al mismo tiempo es una redirección 301 a otra página no es una buena idea.