Shopify canonical tags: 5 errores comunes y sus fixes
Shopify genera canonicals auto, pero falla en 5 escenarios (variantes, filtros, tags, multi-dominio). Snippets de Liquid para arreglarlos en el theme.
En este artículo
Shopify genera canonical tags automáticamente en cada página, pero hay cinco escenarios donde la auto-generación falla y crea contenido duplicado a ojos de Google. Variantes de producto, productos accedidos desde múltiples colecciones, filtros de búsqueda, URLs con tags y dominios paralelos: en todos estos casos hay que comprobar manualmente que el canonical apunta a la URL que tú quieres rankear, no a la que Shopify decide.
Esta guía explica cómo funciona el canonical en Shopify, los errores más caros que veo en auditorías, y los snippets de Liquid para corregirlos en el theme cuando la corrección automática no llega. Para el cuadro completo de SEO técnico en Shopify, Shopify SEO para ecommerce 2026 cubre canonicals junto al resto del checklist.
En 30 segundos:
- El canonical de Shopify se genera vía
{{ canonical_url }}entheme.liquidy respeta el dominio principal (Google canonical guide, 2025)- 5 escenarios donde la auto-generación falla: variantes de producto, productos en colecciones, filtros de búsqueda, tags, multi-dominio
- Un canonical mal apuntado consolida señales de ranking en la URL equivocada — Google a veces ignora el canonical y elige otra
- La forma rápida de auditar: view-source de las 5 plantillas principales y verificar
<link rel="canonical">apunta a la URL canónica esperada- Las apps SEO que reescriben canonicals son una fuente común de problemas — duplican o sobrescriben el del theme
¿Cómo genera Shopify los canonical tags por defecto?
Shopify expone una variable Liquid {{ canonical_url }} que se inserta en el <head> del theme. Por defecto, esta variable apunta a la URL más “limpia” disponible para esa página: la URL del producto, la colección o la page sin parámetros de tracking. Eso significa que excluye parámetros UTM y de tracking de apps automáticamente, apunta al dominio principal cuando hay múltiples dominios (no a myshopify.com), y mantiene la URL con trailing slash consistente.
Donde la variable nativa se queda corta es en cinco escenarios concretos que vas a encontrar en cualquier tienda activa: variantes de producto accedidas vía ?variant=12345, el mismo producto accedido desde distintas colecciones (/collections/X/products/Y vs /products/Y), páginas de colección con filtros aplicados (?filter.p.tag=rojo), páginas de tag específicas (/collections/all/rojo) y los casos raros de subdominios o dominios alternativos que aparecen en migraciones. Los cinco requieren intervención manual.
Cuando audito una tienda Shopify, el primer test es abrir 5 productos al azar, hacer view-source y verificar la etiqueta <link rel="canonical">. Si los 5 apuntan a https://[dominio].com/products/[handle] sin parámetros, el canonical básico está bien. Los problemas serios empiezan cuando se introducen variantes, filtros o apps de terceros.
¿Qué problemas crean los canonicals mal apuntados?
Un canonical mal apuntado es uno de los errores SEO más silenciosos en Shopify porque la tienda sigue funcionando perfectamente — solo que Google no consolida las señales de ranking donde debería. Hay tres consecuencias concretas:
Distribución de la autoridad entre URLs duplicadas. Si la URL /collections/verano/products/camiseta-roja y la URL /products/camiseta-roja tienen ambas canonical apuntando a sí mismas, Google ve dos páginas distintas con el mismo contenido. Los backlinks que llegan a la versión con colección se quedan ahí en lugar de transferirse al producto canónico.
Indexación de URLs con parámetros. Si las URLs filtradas (?filter.p.tag=...) no tienen canonical hacia la colección base, Google puede indexarlas y la SERP se llena de variantes del mismo producto. Lo he visto especialmente en tiendas con muchos tags donde aparecen 20 versiones de la misma colección en el index.
Conflicto entre canonical y hreflang. En tiendas multi-idioma con Shopify Markets, si el canonical apunta al idioma equivocado, Google puede ignorar las anotaciones hreflang y consolidar señales en la versión incorrecta. Es un problema raro pero costoso porque rompe el SEO internacional de forma global.
Para detectarlos sin tocar nada, una auditoría SEO técnica Shopify cruza el sitemap, los canonicals y los hreflang en una pasada y devuelve un mapa exacto de URLs duplicadas.
¿Cómo arreglar canonicals en variantes de producto?
Las variantes son el problema más frecuente. Cuando un usuario llega a /products/camiseta?variant=12345, Shopify por defecto genera el canonical apuntando a la URL sin el parámetro de variante, lo que es correcto en la mayoría de casos. Pero hay tres excepciones donde el comportamiento por defecto causa problemas:
- Variantes que tienen URL custom, por ejemplo cuando usas un app para crear “color landing pages” (
/products/camiseta-roja,/products/camiseta-azulseparados). Cada uno necesita su propio canonical apuntando a sí mismo, no al producto padre. - Variantes accedidas desde campañas con UTM:
?variant=12345&utm_source=meta. El canonical correcto es/products/camisetasin parámetros, y Shopify lo hace bien por defecto.
Para forzar un canonical específico en una variante, hay que sobrescribir la variable nativa en el head del theme. El snippet en layout/theme.liquid:
{% if template contains 'product' and product.selected_variant and request.path contains '?variant=' %}
<link rel="canonical" href="{{ shop.url }}{{ product.url }}">
{% else %}
<link rel="canonical" href="{{ canonical_url }}">
{% endif %}
Este snippet fuerza que cualquier URL con ?variant= apunte siempre al producto padre, ignorando el variant seleccionado en el canonical.
¿Qué hacer con productos en colecciones múltiples?
Shopify por defecto resuelve este bien: la URL /collections/verano/products/camiseta-roja tiene canonical apuntando a /products/camiseta-roja. El problema aparece cuando una app SEO de terceros sobrescribe ese canonical, o cuando el theme tiene un canonical hardcoded en templates/product.liquid en lugar de en layout/theme.liquid.
Para verificar rápidamente, abre una URL con colección (https://tutienda.com/collections/X/products/Y) y haz view-source buscando la etiqueta <link rel="canonical". La href debería ser https://tutienda.com/products/Y sin la colección. Si en cambio incluye /collections/, hay un problema. Las dos causas más frecuentes: una app SEO añadiendo su propio canonical (revisa apps instaladas) o el theme tiene el canonical en product.liquid en lugar de heredarlo de theme.liquid. La solución: eliminar canonicals duplicados y usar solo {{ canonical_url }} en el head global. Si los canonicals están bien pero hay URLs viejas con redirects 301 mal apuntando, redirects en Shopify sin romper SEO cubre cómo gestionar ese caso.
¿Cómo gestionar canonicals con filtros de colección y tags?
Los filtros en Shopify generan URLs del tipo /collections/camisetas?filter.p.tag=rojo o /collections/all/rojo. Estas URLs son útiles para el usuario pero no deben rankear de forma independiente — todas deben consolidar señales en la colección base.
Shopify generalmente lo hace bien para los filtros con parámetros (?filter.p.tag=), donde el canonical apunta a /collections/camisetas. Pero la URL /collections/all/rojo es más problemática: técnicamente es una nueva URL semánticamente equivalente a un filtro, y por defecto el canonical apunta a sí misma.
El fix recomendado depende de tu estrategia SEO. Si quieres que las páginas de tag rankeen (porque tienes contenido único para “camisetas rojas”), déjalas como están. Si quieres consolidar todo en colecciones principales, modifica el canonical en templates/collection.liquid para apuntar al tag base:
{% if collection.handle == 'all' and current_tags %}
<link rel="canonical" href="{{ shop.url }}/collections/all">
{% endif %}
Tomar esta decisión sin verificar antes el tráfico actual a páginas de tag es un error. Si Search Console muestra que las páginas /collections/all/rojo reciben tráfico, eliminarlas vía canonical pierde rankings. Audita antes de cambiar.
¿Cómo verificar todos los canonicals de la tienda sin auditarlas una por una?
Para tiendas con 100+ URLs, el método manual no escala. Tres herramientas que combino:
| Herramienta | Qué hace | Cuándo usarla |
|---|---|---|
| Screaming Frog | Crawl completo del site, extrae canonical de cada URL | Auditoría inicial de site completo |
| Search Console | Muestra “Page indexed, but not submitted in sitemap” y “Duplicate without user-selected canonical” | Detectar canonicals que Google ignora |
curl + grep | Inspección rápida de canonical en 5-10 URLs específicas | Validar tras un cambio |
Comando útil para validar el canonical de una URL específica:
curl -s https://tutienda.com/products/camiseta-roja | grep -oE '<link rel="canonical"[^>]+>'
Cuando Search Console reporta “Duplicate without user-selected canonical”, significa que Google encontró URLs duplicadas, ignoró el canonical y eligió la URL canónica por su cuenta. Ese reporte es la señal más clara de que el canonical no está funcionando como esperas. Los pasos: revisar las URLs afectadas en el reporte, verificar manualmente que el canonical apunte a donde quieres, y si está bien apuntado, investigar por qué Google lo ignora (contenido casi idéntico es la causa #1).
Preguntas frecuentes
¿Las apps SEO de Shopify pueden corromper los canonical tags?
Sí, y es una de las causas más frecuentes que veo en auditorías. Apps como SEO Manager, Smart SEO o Plug in SEO pueden añadir su propio <link rel="canonical"> al head sin desinstalar el del theme. Resultado: dos canonicals en la misma página, y Google elige uno (no necesariamente el correcto). Si tu site tiene una app SEO instalada, verifica view-source que solo aparezca un canonical.
¿Qué pasa con los canonicals en checkout y account pages?
Las páginas de checkout (/checkout/*), account (/account/*) y orders (/orders/*) están bloqueadas en robots.txt de Shopify por defecto, así que sus canonicals no importan para SEO. Google no las rastrea. Si modificas el robots.txt.liquid para permitir crawl, asegúrate de añadir noindex en esas páginas o se indexarán y aparecerán en SERP.
¿Debo usar canonical para gestionar paginación en colecciones?
No. Para paginación (/collections/camisetas?page=2), usar canonical que apunta a la página 1 ya no es recomendado por Google desde 2019. Google ahora prefiere que cada página de paginación tenga canonical a sí misma o que se trate como una sola serie via rel="next" / rel="prev" (que también está deprecated). En la práctica, dejar el canonical apuntando a sí mismo en cada página paginada y confiar en que Google las trate como un grupo es la solución más estable.
¿Cómo testeo si un cambio de canonical realmente surte efecto?
Tres validaciones después de un cambio: (1) view-source de la URL modificada y confirmar el nuevo canonical, (2) en Search Console > URL Inspection, pegar la URL y verificar que Google la lee correctamente (botón “Test live URL”), y (3) esperar 2-4 semanas y revisar si “Duplicate without user-selected canonical” desaparece en Search Console.
¿Shopify Plus permite más control sobre canonicals?
No directamente. Plus no añade nuevas opciones de canonical; el control adicional viene de poder editar robots.txt.liquid y de Shopify Functions para lógica custom. Pero la edición real del canonical sigue siendo vía Liquid en theme.liquid, igual que en cualquier plan.
¿Cómo afecta Shopify Markets al canonical de URLs traducidas?
Shopify Markets respeta el canonical por idioma — cada URL traducida (/es/products/X, /en/products/X) tiene su propio canonical apuntando a sí misma. Lo que se gestiona vía hreflang son las versiones alternativas, no canonicals cross-locale. Mezclar canonicals entre idiomas es uno de los errores más caros y rompe el SEO internacional. Si el theme no respeta esta separación, los snippets correctos están en Shopify Liquid para SEO.
Fuentes
- Google Search Central. Consolidate duplicate URLs. https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls. 2025.
- Shopify Dev. Canonical URLs in Liquid. https://shopify.dev/docs/api/liquid/objects/canonical_url. 2025.
- Google Search Central. Duplicate content best practices. https://developers.google.com/search/docs/crawling-indexing/canonicalization. 2025.
- Shopify Help. SEO settings for collections. https://help.shopify.com/en/manual/online-store/themes/themes-by-shopify/dawn/dawn-collection-pages. 2025.
- Google Search Central. URL Inspection Tool. https://support.google.com/webmasters/answer/9012289. 2025.
¿Search Console te marca “Duplicate without user-selected canonical” en tu Shopify y no sabes dónde está el problema? Ofrezco auditorías SEO técnicas Shopify — mapa completo de canonicals duplicados o mal apuntados con plan de remediación. 30 minutos iniciales sin compromiso.
Recibe una auditoría SEO personalizada de tu web en menos de 48h. Sin compromiso — solo los puntos exactos donde estás perdiendo visibilidad y cómo arreglarlo.
¿Tu cuenta de ads podría
rendir mejor?
30 minutos para revisar tu situación y decirte exactamente qué cambiaría. Sin pitch, sin propuesta de venta.