Sobre la URL canónica

En los últimos días hubo muchas discusiones sobre las URL’s canónicas, debido a la ultima actualización del índice de Google.

Para poder comprender realmente el problema, primero es necesario entender exactamente el termino.

Definición
Una URL (Uniform Resource Locator) canónica es una denominación unívoca que describe un nodo en la estructura jerárquica de los DNS (Domain Name Server) en Internet.

En otras palabras: es el nombre propio de cada una de las páginas webs en Internet. La construcción de las URL’s se realiza de acuerdo a la nomenclatura definida y jerarquizada

{protocolo}://{directorio o archivo}:{numero de puerto TCP}.

Por ejemplo, si la página web se llama ejemplo.html y está en el dominio mi-dominio.com entonces la URL canónica será:

http://mi-dominio.com/ejemplo.html

Pero en el mundo del Internet, se hizo costumbre colocar delante del nombre del archivo www para remarcar de que se tratá de una página WEB (www= World Wide Web), lo cual ahora ya se ha hecho un quasi estandard. Por este motivo, la mayoría de los servidores Web permiten seleccionar una página mediante las dos denominaciones.

En nuestro ejemplo:
http://mi-dominio.com/ejemplo.html
y
http://www.mi-dominio.com/ejemplo.html
mostrarían la misma página.

Google y las URL’s canonicas
Debido a que Google escanea todo lo que encuentra en su camino, en caso de que por algún motivo la web tenga algun enlace de la forma http://mi-dominio.com, es decir sin www, también va ha tratar de indexarla como la web clasica http://www.mi-dominio.com.

Ahora bien, como Google últimamente ha cambiado sus algoritmos para detectar contenido duplicado, entonces Google al tener dos copias de cada página de la web, tiene que decidirse por una de las ellas. La primera mantiene su ranking y la otra es castigada y relegada a las ultimas posiciones.

Como detectar si mi web sufre de este problema?
Una forma de detectar si Google ha indexado las dos variantes de las URL’s es haciendo la siguiente consulta:

site:www.mi-dominio.com –www

En caso de que no aparezca ningún resultado, entonces Google no ha indexado a http://mi-dominio.com

El test inverso seria

site:http://mi-dominio.com

Esta búsqueda muestra todas las páginas que han sido indexadas sin www.

Como se puede solucionar el problema?
Actualmente Google esta tratando de resolver este problema con sus actualizaciones, pero lamentablemente hasta ahora sin mucho éxito.

Este problema se puede solucionar desde el servidor web, redireccionando la URL http://mi-dominio.com a la dirección clásica.

Para esto, el servidor debe permitir el uso de rewrite_mode. En el archivo .htaccess, que se encuentra en la raíz, se agregan las siguientes lineas:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.mi-dominio\.com$
RewriteRule ^(.*)$ http://www. mi-dominio.com/$1 [L,R=301]

22 Respuestas a Sobre la URL canónica

  1. NoSetup.org 10/11/2005 a 18:24 #

    site:www.mi-dominio.com –www

    En caso de que no aparezca ningún resultado, entonces Google no ha indexado a http://mi-dominio.com

    El test inverso seria

    site:http://mi-dominio.com
    ————

    Vamos a ver… yo uso siempre la dirección sin las www, si intetas entrar con ellas te redirige el servidor a la misma página sin ellas.
    Haciendo esas pruebas, con la primera no me da resultados, por lo que según pones no la ha indexado. Pero con la 2º prueba me dan mas de 900 enlaces.
    Y mi web tiene PR 3 y 4.

    Creo que he entendido mal la explicación.

  2. Administrator 10/11/2005 a 18:37 #

    Parece que la opción -www ya no esta funciondo…

    De todas maneras, con la segunda busqueda también puedes obtener la lista de las páginas indexadas sin www.

  3. Silly 11/11/2005 a 09:09 #

    También se pueden usar álias, supongo.

  4. Administrator 11/11/2005 a 09:12 #

    Silly,

    Que quieres decir con ‘álias’?

  5. NoSetup.org 11/11/2005 a 14:53 #

    Y no me ha quedado claro si es mejor tener la web sin las www o con ellas.
    Ahora con php o desde el servidor es factible que si entran a http://www.xxx.com/1.php se rediriga a xxx.com/1.php y viceversa.

  6. Administrator 11/11/2005 a 15:16 #

    NoSetup.org,

    Siempre es mejor usar la forma clasica, es decir http://www.mi-dominio.com

    Si, la redirección también se puede hacer con PHP, pero la solución en rewrite_mode es generica. Es decir, que cualquier URL sin www será siempre direccionada a la URL con www. En PHP, esto se tendria que hacer para cada una de las páginas.

  7. NoSetup.org 12/11/2005 a 05:28 #

    Pues no lo sé… si miramos barrapunto o su hermano mayor usan la forma sin las www.

  8. ligthy_xd 26/8/2006 a 17:32 #

    en google sitemaps hay una opcion para elegir si queres www o no, o los dos…

  9. Administrator 26/8/2006 a 18:08 #

    ligthy_xd,

    Si asi es. Es una opción que Google esta ofreciendo desde hace unas semanas atrás.

  10. agentia 22/10/2006 a 16:47 #

    y ¿que es mejor usar las 2 opciones o una de ellas?

  11. Administrator 22/10/2006 a 22:49 #

    agentia,

    De todas maneras debes elegir solo una forma. De lo contario Google encontrará contenido duplicado y penalizará tu web.

    Personalmente, a mi me gusta más las urls con www.

  12. Ricardo Polo HodracirK 23/1/2007 a 22:26 #

    Hola amigos, en realidad esto ya no es un problema… Google en sus herramientas para web master (donde esta Google sitemaps), en la pestaña diagnostico existe una sección llamada “dominio preferido” donde se puede elegir la URL que deseemos, Saludos
    Ricardo

  13. Max Glaser 24/1/2007 a 20:46 #

    Ricardo,
    La opción de Google en Google Webmasyer Cental ya existe hace varios meses, pero no es la mejor solución para resolver el problema, ya que otros buscadores como Search Live, Yahoo!, etc. también van a tener el mismo problema de decidir que URL tomar: la con www o la sin www.

    Por eso, siempre se mejor usar el redireccionamiento de la URL.

  14. Iphone España 3/3/2007 a 23:36 #

    En nuestro caso, hemos visto que hay indexadas tres formas: la http://www.zonaiphone.com (que lleva a la página principal); también http://www.zonaiphone.com/index.html que también lleva a la principal, y finalmente http://www.zonaiphone.blogspot.com porque el dominio es propio pero con CNAME está apuntando a blogger ¿Se entiende eso como contenido duplicado? ¿Cómo se puede eliminar?

  15. Croquetilla 28/3/2007 a 09:31 #

    Creo que el google deberia no coger como contenido duplicado las url con www y sin www porque es algo ya generico creo que deberia tomarlo como la misma y no penalizarlo

  16. Max Glaser 28/3/2007 a 09:49 #

    Croquetilla:
    La dirección de una página web siempre debería ser univoca pero lamentablemente los servidores web permiten por defecto el acceso a las páginas mediante las dos formas.

    Y bueno, Google se ha encontrado con esto al tratar de evitar contenidos duplicados.

  17. sont 2/4/2007 a 14:42 #

    Bien, yo me doy cuenta que mi pagina (http://www.midominio.com/) google tiene indexada a :
    http://www.midominio.com/
    y
    http://www.midominio.com/index.php

    ¿esto me imagino que lo tomara como contenido duplicado?
    ¿tendria en el robots.txt que excluir a index.php?

  18. Max Glaser 2/4/2007 a 15:12 #

    Si, debes excluir la página secundaria, en tu caso /index.php en robots.txt o redireccionarla a la principal con un 301, para que Google no use sus filtros de contenidos duplicados.

  19. sont 3/4/2007 a 12:39 #

    ok gracias por la respuesta,, pero si no tengo acceso a .htaccess, se puede hacer una redireccion 301 en la pagina index.php a la pagina principal???

  20. Max Glaser 3/4/2007 a 15:46 #

    Creo que si, pero vas ha tener que agregar algún código en PHP, en el archivo index.php

    Debes revisar la URI, y si que es index.php la redicreccionas al dominio, aunque después el archivo index.php será nuevamente ejecutado…

    Espero que me entiendas 🙂

  21. Daniel 26/8/2010 a 17:55 #

    Hola buenas tardes, alguien me puede dar su opinion con relacion a la pagina http://www.varcelab.net la subi el 26/08/2010 la voy a registrar en googlepara que la indexe, pero que mas puedo hacer

  22. Max Glaser 27/8/2010 a 18:58 #

    Por ejemplo usar Google Webmastertools, buscar enlaces de calidad, etc….