SEO técnico
Capítulo 07 / 09
Etiquetas canonical
Qué hacen de verdad las canonicals, cuándo importan y cómo configurarlas en un sitio multi-locale, multi-parámetro y multi-fuente sin cargarte en silencio las URLs que quieres indexar.

Las etiquetas canonical son la forma de decirle a los buscadores cuál URL es la versión “real” cuando el mismo contenido se puede alcanzar por varias rutas. Son una pieza pequeña de HTML con un control desproporcionado sobre qué se indexa, qué recibe el equity de enlaces y qué URL aparece en las SERPs. Si las aciertas, tu sitio posiciona una sola URL consolidada y autoritativa por tema. Si te equivocas, partes las señales entre duplicados que posicionan débil todos a la vez.
“La canonical no es una directiva, es un argumento. Google la evalúa junto a las redirecciones, las entradas de sitemap, los enlaces internos y los enlaces externos, y elige como canónica la URL con la señal combinada más fuerte. Cuando Google anula tu canonical, te está diciendo que el resto de tus señales la contradice.”
Cómo se ve una etiqueta canonical
<link rel="canonical" href="https://www.ejemplo.com/pagina/" />
Va en el <head>. También se puede configurar vía header HTTP (Link: <https://...>; rel="canonical"): útil para recursos que no son HTML, como los PDFs.
La URL dentro de la canonical debe cumplir:
- Ser absoluta (https:// completa), no relativa.
- Ser la URL canónica exacta y limpia: sin parámetros al final, sin tracking, sin fragmento.
- Ser una URL indexable: no apuntes la canonical a una URL noindex, 4xx o redirigida.
- Ser la misma en los renderizados de móvil y de escritorio (por el indexado mobile-first).
Los cuatro escenarios que tienes que manejar
| Escenario | Estrategia de canonical |
|---|---|
| Auto-canonical (cada página indexable) | Cada página apunta su canonical a su propia URL limpia |
| Parámetros de URL (?utm, ?sort, ?ref) | Todas las variantes apuntan canonical a la versión sin parámetros |
| Paginación (/page/2/, /page/3/) | Cada página paginada se auto-canonicaliza (NO canonical a la página 1) |
| Multi-locale (/en/, /es-mx/) | Cada locale se auto-canonicaliza; el hreflang se encarga de enlazarlos |
| Sindicación entre dominios | Las copias sindicadas apuntan canonical al original en tu dominio |
| AMP, m. móvil, impresión | Todas las variantes apuntan canonical a la URL principal responsive |
| Navegación facetada / filtros | Las combinaciones de filtros apuntan canonical a la categoría padre (o noindex) |
Auto-canonicalización: la regla por defecto
Cada página indexable debe poner una canonical que apunte a su propia URL limpia. Suena redundante — “estoy en /pagina/, mi canonical dice /pagina/, ¿para qué?” — pero es el seguro más barato disponible contra:
- Parámetros de tracking (UTM, fbclid, gclid) que se indexan como URLs separadas.
- Parámetros de orden, filtro o paginación que generan duplicados.
- Diferencias de HTTPS / HTTP / www / no-www que Google podría resolver mal.
- Variantes con o sin slash final (
/paginavs/pagina/) que parten las señales.
Los frameworks modernos (Next.js, Nuxt, Remix, Astro) lo vuelven trivial: configura un único helper de URL canonical que se ejecute en cada página. El costo es casi cero; la protección contra la contaminación por parámetros y tracking es enorme.
Paginación: el error más común
Durante años el consejo de SEO fue apuntar la canonical de las páginas paginadas de regreso a la página 1. Google dijo de forma explícita que esto está mal desde 2019, pero el mal consejo sigue circulando.
Manejo correcto:
- /categoria/: auto-canonical a
/categoria/ - /categoria/page/2/: auto-canonical a
/categoria/page/2/(NO a/categoria/) - /categoria/page/3/: auto-canonical a
/categoria/page/3/
Cada página paginada es su propia canonical porque cada una contiene contenido distinto. Apuntar todas las canonicals de regreso a la página 1 le dice a Google “indexa la página 1, ignora el resto”: las páginas 2+ dejan de crawlearse, los productos y artículos que viven en ellas dejan de ser descubribles, y el sitio pierde tráfico de cola larga.
Manejo multi-locale
Cada URL de locale se auto-canonicaliza. El atributo hreflang es el que enlaza los locales, no la canonical:
- /en/pagina/: canonical a
/en/pagina/+ hreflang en, es-MX, x-default - /es-mx/pagina/: canonical a
/es-mx/pagina/+ hreflang en, es-MX, x-default
Error común: poner la canonical de las páginas en es-MX apuntando a la URL en EN. Esto le dice a Google que saque la página en español del índice y los rankings en consultas en es-MX se mueren. Siempre auto-canonicaliza por locale; usa hreflang para la relación entre locales.
Canonical entre dominios (contenido sindicado)
Cuando sindicas tu contenido a otras publicaciones (Medium, artículos de LinkedIn, sitios partner), las copias sindicadas deben apuntar canonical al original en tu dominio:
<link rel="canonical" href="https://www.tu-dominio.com/articulo/" />
Le dice a Google: “la versión en Medium es una copia; el original está en mi sitio; consolida las señales de ranking en el original.” La mayoría de las plataformas grandes de sindicación permiten configurar una canonical personalizada (Medium sí, LinkedIn no; por eso los artículos de LinkedIn suelen ser un mal trade-off de SEO).
Canonical vs otras señales: qué gana cuando no coinciden
Google evalúa muchas señales al elegir la canonical, y la etiqueta canonical es solo una de las entradas:
| Señal | Fuerza |
|---|---|
| Redirección 301/302 | La más fuerte: gana el destino |
| Entrada en XML sitemap | Fuerte: las URLs incluidas tienen preferencia |
| Enlaces internos que apuntan consistentemente a una URL | Fuerte: la concentración de enlaces internos pesa |
| Backlinks externos que apuntan a una URL | Fuerte: la URL más enlazada suele ganar |
| Etiqueta rel=canonical | Indicación: Google puede anularla si otras señales la contradicen |
| Estructura de URL (más limpia > más sucia) | Desempate: Google prefiere URLs más cortas y más limpias |
La implicación: si pones la canonical en la URL A pero tu sitemap, enlaces internos y backlinks externos apuntan todos a la URL B, Google elige B. La etiqueta canonical no es magia: funciona solo cuando el resto de tus señales es coherente.
Cómo verificar que las señales canonical están funcionando
- 1. Search Console > Inspección de URL > revisa el campo “Canónica”. Compara “Canónica declarada por el usuario” con “Canónica seleccionada por Google”. Deben coincidir.
- 2. Search Console > Páginas > filtra a “Duplicado, Google eligió una canónica diferente a la del usuario”. Lista cada URL donde Google anuló tu canonical. Cada fila es una señal que tienes que investigar.
- 3. Audita los enlaces internos hacia la URL. Confirma que apuntan de forma consistente a la versión canónica y no a variantes.
- 4. Revisa el sitemap. Solo las URLs canónicas deben estar en el sitemap; incluir duplicados diluye la señal.
- 5. Revisa las redirecciones. Las URLs viejas deben tener 301 hacia las canónicas; los 302 que se quedan ahí Google los lee como mudanzas temporales.
Errores comunes en canonical
- Canonical apuntando a una URL noindex, 4xx o redirigida. Se anula a sí misma: el destino de la canonical tiene que ser indexable.
- Canonical a una URL que no existe. Erratas, páginas borradas, migraciones de schema que dejaron referencias obsoletas.
- Varias etiquetas canonical en la misma página. Google las ignora todas.
- Apuntar la canonical de páginas localizadas a la versión en EN. Saca la página localizada del índice.
- Apuntar la canonical de las páginas paginadas a la página 1. Hace que Google deje de crawlear las páginas 2+.
- Canonical inconsistente entre móvil y escritorio. Con indexado mobile-first, gana la canonical de la versión móvil.
- Olvidar la canonical en URLs con parámetros. El tracking UTM, las variantes de orden y las combinaciones de filtros se vuelven duplicados indexables.
El veredicto
Las etiquetas canonical son la forma de consolidar las señales de ranking en la URL que de hecho quieres indexar. Auto-canonicaliza cada página indexable; usa URLs absolutas hacia tu versión canónica limpia; maneja la paginación dejando que cada página paginada se auto-canonicalice; para multi-locale, auto-canonicaliza por locale y enlaza los locales con hreflang. Verifica en Search Console que Google respeta tus canonicals; cuando no lo hace, el resto de tus señales está contradiciendo la etiqueta y ese es el arreglo real.
En este clúster