Una de las maravillas de Internet es que cuando algo se va a estandarizar acaba convirtiéndose en un «RFC». Estos documentos, cuando se aprueban, son las bases para crear un montón de cosas. Por ejemplo tenemos el RFC1945 Hypertext Transfer Protocol – HTTP/1.0, el RFC2616 Hypertext Transfer Protocol – HTTP/1.1 o el RFC5988 Web Linking que son los documentos (aburridos, eso sí) en los que se especifica prácticamente el funcionamiento de «las webs».
Pues ahora ha aparecido el RFC6596: The Canonical Link Relation en el que se habla sobre el «famoso» rel-canonical propuesto por Google hace ya un tiempo y que prácticamente todos los buscadores y otros servicios ya utilizan. Es importante este documento porque, aunque por ahora son recomendaciones, establecen una serie de cosas que se estandarizan con el resto de documentos estándar de Internet.
El canonical se plantea como un nuevo tipo de relación para designar los IRI (Internationalized Resource Identifier) como preferente sobre recursos con contenido duplicado.
Para comenzar, el canonical ha de identificar una URL original (de la duplicada) o una suprapágina que incluya todos los contenidos desde los que son enlazados.
- Página índice del contenido IRI.
- Consolidar distintas URL del IRI.
- Mostrar la página como la representativa del IRI.
La URL que ha de aparecer en el rel-canonical ha de ser:
- Una URL relativa.
- La propia URL (auto-referencia).
- Una URL de otro hostname/dominio.
- Con un esquema distinto (http, https, ftp…).
- Una suprapágina (ver a continuación)
- La URL de la página a la que se haría una redirección (302, 33 o 307).
El caso de las suprapáginas es un caso especial. La idea es que si tenemos un artículo que está dividido en varias páginas, pero tenemos una página donde está todo el contenido, se podría apuntar a esta. Es decir, si tenemos una «pagina-1.html», «pagina-2.html» y «pagina-todo.html», el página-1 y página-2 podrían apuntar a página-todo ya que es una página que dispone de toda la información del resto. En cambio, la página 2 no podría apuntar a la página 1, ya que la primera no dispone de la información de la segunda.
Para asegurarse de que las máquinas lo entienden, el canonical ha de:
- Sólo puede haber un rel-canonical por página, ya que no se considera que pueda haber más de una URL con autoridad.
- No se debe usar cuando la redirección es permanente (para ello usar una redirección 300 o 301)
- Una URL que apunta a otra URL que no sea ella misma (es decir, que no se pueden hacer «múltiples saltos» a través del canonical).
- No se puede apuntar a una página que devuelve un código 4xx (o sea, que la página no existe).
- Como decía antes, las multipáginas no pueden apuntar a la primera de ellas, ya que se perdería la información de las siguientes.
En el caso de que se haga un uso impropio de estos casos, el canonical será ignorado como si no existiera.
Implementaciones actuales:
- Google:
- Bing:
- Yahoo:
- Fighting Duplication: Adding more arrows to your quiver
Sin duda que el rel-canonical se convierta en un estándar y que venga documentado de la forma que viene documentada da pie a hacer un muy buen uso del mismo y aclarar ciertas dudas que se producían con el mismo.
Deja una respuesta