En el mundo real, una misma página suele ser accesible por varias URLs: con y sin www, con y sin barra final, con parámetros de UTM, desde versiones mobile separadas. Si no le dices a Google cuál es la versión oficial, elige una él (y no siempre la que tú quieres).

Cuándo usar canonical

  • Páginas accesibles con parámetros (?utm_source=..., ?sort=..., ?page=2)
  • Versiones HTTP y HTTPS conviviendo (aunque deberías forzar HTTPS ya)
  • Versión con y sin www (elige una y redirige la otra)
  • Versión con y sin barra final (/guia/ vs /guia)
  • Páginas duplicadas por paginación, filtros o categorías múltiples
  • Syndicación: si publicas tu artículo también en Medium, pon canonical a la versión original en tu dominio

Cómo se declara

<link rel="canonical" href="https://nosoloagencia.es/guias/mi-guia" />

En Next.js App Router se configura con alternates.canonical dentro de generateMetadata, que es lo que hacemos en todas las páginas del proyecto.

Reglas críticas

  1. Canonical siempre absoluto: URL completa con https:// y dominio.
  2. Self-canonical por defecto: cada página apunta a sí misma como canonical, salvo que haya duplicación clara.
  3. Coherencia: el canonical debe coincidir con la URL que realmente quieres indexar. No pongas canonical a /a y luego indexes /b.
  4. No canonical a una página noindex: si apuntas a algo que no quieres indexar, Google se confunde.
  5. Un canonical por página: declarar dos canonicals distintos hace que Google ignore los dos.

Errores típicos

  • Todas las páginas con canonical a la home (error de CMS)
  • Canonical con trailing slash cuando la URL real no lo tiene (o viceversa)
  • Canonical HTTP cuando el sitio ya está en HTTPS
  • Cambiar canonicals sin actualizar sitemap ni esperar a reindexación
  • Canonical a idioma incorrecto en sitios multi-idioma (eso se resuelve con hreflang, no con canonical)

Canonical vs redirect

Si dos URLs muestran contenido idéntico y solo quieres una accesible, usa redirect 301, no canonical. El canonical es para cuando las dos siguen existiendo por alguna razón (ej: filtros en e-commerce). El 301 dice "esta URL se movió definitivamente".

¿Quieres que auditemos los canonicals de tu web? Lo incluimos en la auditoría técnica.