Canonicalización


La canonicalización es el proceso de designar una URL como la versión preferida y definitiva de un contenido cuando este puede ser accesible —o lo es— desde varias direcciones distintas. Es uno de los mecanismos más importantes para mantener una arquitectura de URLs coherente y evitar los problemas derivados del contenido duplicado.


Por qué existe el problema de duplicación de URLs

En un sitio web típico, el mismo contenido puede ser accesible desde varias URLs sin que nadie lo haya diseñado así. Algunos ejemplos habituales:

Variantes de protocolo y dominio:

http://www.ejemplo.com/pagina/
https://www.ejemplo.com/pagina/
http://ejemplo.com/pagina/
https://ejemplo.com/pagina/

Cuatro URLs que devuelven exactamente el mismo contenido.

Barra final:

https://www.ejemplo.com/pagina
https://www.ejemplo.com/pagina/

Mayúsculas y minúsculas:

https://www.ejemplo.com/Glosario/Taxonomia/
https://www.ejemplo.com/glosario/taxonomia/

Los servidores Unix/Linux distinguen mayúsculas. Si el servidor sirve ambas, son URLs distintas con contenido idéntico.

Parámetros de seguimiento:

https://www.ejemplo.com/blog/articulo/
https://www.ejemplo.com/blog/articulo/?utm_source=twitter
https://www.ejemplo.com/blog/articulo/?utm_source=newsletter&utm_medium=email

WordPress con múltiples rutas de acceso:

https://www.ejemplo.com/blog/articulo/
https://www.ejemplo.com/?p=123
https://www.ejemplo.com/?cat=5
https://www.ejemplo.com/?tag=taxonomia

Las dos herramientas de canonicalización

1. Redirección 301

La redirección 301 es la solución más contundente. Cuando el servidor recibe una petición a la URL no canónica, responde con un código 301 y envía al cliente (navegador o buscador) directamente a la URL canónica. No hay acceso posible a la versión no canónica.

Es la solución correcta para:

  • Unificar variantes de protocolo (http → https).
  • Unificar variantes de dominio (sin www → con www, o viceversa).
  • Unificar variantes de barra final.
  • Cualquier caso donde la URL no canónica no tiene ninguna razón para existir.

2. Etiqueta canonical

La etiqueta <link rel="canonical"> en el <head> del HTML declara cuál es la URL preferida para ese contenido. No impide el acceso a la URL no canónica, pero le indica a los buscadores cuál deben considerar la versión principal.

<link rel="canonical" href="https://www.arquitecturadelainformacion.es/urls/canonicalizacion/" />

Es la solución correcta para:

  • Páginas con parámetros de seguimiento que generan variantes de URL.
  • Páginas de paginación que forman parte de una colección.
  • Contenido sindicado o publicado en múltiples plataformas.
  • Variantes de producto (talla, color) que tienen URLs propias pero comparten el mismo contenido base.

Self-canonical: la práctica recomendada

Toda página del sitio debe declarar su propio canonical apuntando a sí misma. Esto se denomina self-canonical. No es redundante: es una declaración explícita de que esa URL es la preferida y que no hay otra versión de ese contenido que deba prevalecer sobre ella.

<!-- En https://www.ejemplo.com/glosario/taxonomia/ -->
<link rel="canonical" href="https://www.ejemplo.com/glosario/taxonomia/" />

Un sitio que no tiene self-canonicals en todas sus páginas tiene una arquitectura de URLs incompleta.


Canonical y hreflang: una combinación frecuente

En sitios multiidioma, el canonical y el hreflang trabajan juntos. Cada versión idiomática de una página debe:

  1. Tener su propio self-canonical.
  2. Declarar mediante hreflang las versiones alternativas en otros idiomas.

El canonical nunca debe apuntar de una versión idiomática a otra. La versión en español es canónica para el español; la versión en inglés es canónica para el inglés. Un canonical que apuntara de la versión española a la inglesa indicaría que el contenido en español es duplicado del inglés, lo que no tiene sentido.


Errores frecuentes de canonicalización

Canonical a una URL que tiene noindex: Si la URL canónica tiene la directiva noindex, el buscador recibe dos señales contradictorias: “esta es la versión preferida” y “no la indexes”. La URL canónica siempre debe ser indexable.

Canonical a una URL que redirige: Si la URL A declara canonical a la URL B, y la URL B redirige a la URL C, hay una cadena innecesaria. El canonical debe apuntar directamente a la URL final.

Canonical inconsistente en páginas de paginación: Si la página 1 de un archivo (/blog/) declara canonical a sí misma pero la página 2 (/blog/pagina/2/) también declara canonical a sí misma, el buscador puede indexar ambas como contenidos independientes. La solución más habitual es poner noindex en las páginas de paginación o usar rel=“next”/rel=“prev” (aunque Google ya no usa estas señales oficialmente, siguen siendo semánticamente válidas).

Canonical con URL relativa: El canonical debe usar siempre la URL absoluta completa, incluyendo protocolo y dominio. Un canonical relativo (href="/glosario/taxonomia/") puede funcionar en la mayoría de casos pero introduce ambigüedad innecesaria.


Canonicalización en WordPress

WordPress gestiona la canonicalización de varias formas:

  • Redirige automáticamente las URLs con mayúsculas a minúsculas.
  • Gestiona la barra final según la configuración de permalinks.
  • Los plugins de SEO (Yoast, Rank Math, SEOPress) añaden self-canonicals automáticamente y permiten configurar canonicals personalizados por página.

La configuración más importante a nivel de servidor (no de CMS) es la redirección de http a https y de la variante sin www a la variante con www (o viceversa). Esta debe hacerse en el servidor web (Nginx, Apache) o en el CDN, no depender del CMS.


Para profundizar