Ponle las cosas fáciles a Google

En este post hablaremos de problemas que dificultan el analisis y crawleo por parte de Google. Algunos son problemas fácilmente resolubles que pueden hacer que vuestros sitios se indexen mejor. Primero analicemos cómo funciona un crawler y por qué es importante facilitarle el trabajo.

Un crawler es un programa que se encarga de recorrer un sitio web. Empieza desde una URL y sigue los enlaces que va encontrando en las distintas páginas que descarga. Este proceso lo realiza de forma iterativa o cíclica. Es decir, parte de un conjunto pequeño de URLs, conocidas como URLs semilla, que pasaran a formar parte de la frontera de rastreo para luego realizar este proceso de tres pasos en cada ciclo:

  1. Descargar las URLs de la frontera de rastreo.
  2. Parsear las URLs que ha conseguido descargar.
  3. De dicho parseo extrae los enlaces que encuentre y actualiza la frontera.

En la siguiente imagen podemos ver un ejemplo de crawleo de un sitio web con tres niveles. La raíz del sitio está marcada en verde y es a partir de la cual se inicia le crawleo. En cada nivel de profundidad el crawler descarga las urls que ha encontrado, para posteriormente ampliar la frontera al siguiente nivel.

Los distintos niveles de un sitio Web

Este proceso se repite hasta que se complete el rastreo: bien hasta que se encuentren todas las URLs de un dominio o bien hasta que el operador del crawler decida detenerlo. En estos 3 pasos se pueden producir una serie de problemas que ralentizan cada iteración. Aquí os mostramos algunos:

  • URL a descargar no existe: Si el crawler no tiene más URLs en su cola de URLs pendientes de descargar se parará ya que no ha conseguido descargar nada con lo que trabajar. Esto se soluciona modificando dicha URL por la correcta en todas las partes del dominio donde aparezca.
  • URL a descargar es una redirección: el crawler seguirá la redirección pero no será hasta la siguiente iteración que intentará descargar la nueva URL. Esto hace al crawler trabajar de más y se podría solucionar fácilmente haciendo que dichos enlaces redirigidos sean “NOFOLLOW” si es que existe algún otro camino para llegar a la nueva URL sin pasar por una redirección. Sin embargo la mejor solución pasaría por sustituir las URLs antiguas por las nuevas en todas las páginas del sitio donde aparezcan.
  • No canonicals: el crawler la descargará siempre pero al ver que es no canonical la descartará y añadirá la URL correcta a la frontera para la siguiente iteración. Si tienes una versión correcta de dicha URL que quieres que sea indexada, lo mejor es que elimines la copia y sustituyas la URL no canonical por la correcta en todo el sitio.

Para que os hagáis una idea de como afectan estos problemas al crawleo de un sitio, hemos crawleado algunos sitios web de entre los 100 sitios que más trafico han ganado según Sistrix tras la última actualización de Google. En la siguiente tabla podemos ver el porcentaje de URLs descartadas y por lo tanto el % de tiempo extra que costó crawlearlas.

DominioURLs descartablesURLs totalesPorcentaje
gallinablanca.es32012795211,45 %
isciii.es220870,095 %
fnac.es939349902,68 %
hobbyconsolas.com104517840413,32 %
collinsdictionary.com13651007481,35 %

Podéis pensar que un 10% extra de URLs no es importante, pero si el sitio es un poco grande puede suponer que el crawleo supere un cierto umbral puesto por el operador del crawler (Google para lo que nos interesa) y que partes de vuestro sitio web no sean indexados. De hecho algunos de los sitios que hemos analizado con Safecont llegaban a tener sólo un 30 % de páginas reales, suponiendo el 70 % restante URLs a descartar que ralentizan el trabajo del crawler y que no aportan nada de contenido al sitio ni mejoran su estructura de ninguna forma.

Otro de los parámetros importantes en un sitio web es el diámetro máximo. El diámetro de un sitio web, o de un grafo que es de donde viene el término, es el camino óptimo más largo que hay en el sitio siguiendo los enlaces del mismo, es decir, a que distancia se encuentra la página más recóndita de vuestro sitio desde la raiz.

Este concepto puede parecer poco importante pero pensad en el significado del PageRank. Google definió el PageRank de una página como la probabilidad de que un usuario llegue a dicha página pulsando enlaces al azar. Si para llegar a una página determinada el crawler de Google ha tenido que pasar por decenas de enlaces, es poco probable que un usuario partiendo de la página principal del sitio llegue a ella, por lo tanto la puntuación que le dará a dicha página será muy pequeña.

En la siguiente figura podemos ver más claramente este concepto. En el mismo hemos dibujado un dominio en la que la mayor parte de sus URLs se encuentran a menos de 3 saltos de la raíz, sin embargo podemos ver un conjunto de URLs (marcadas en amarillo) que aumentan el diámetro del sitio y que, tal vez, podrían juntarse en una sola URL o estructurarse de una forma más accesible.

Diámetro excepcionalmente largo

Para mostrar la importancia de este concepto, os muestro los diámetros de las páginas anteriormente crawleadas:

DominioDiámetro máximo
gallinablanca.es154
isciii.es7
fnac.es7
hobbyconsolas.com31
collinsdictionary.com8

Como podéis ver, los números vuelven a ser muy dispares. La página gallinablanca.es, que es la que más tráfico ganó (+118,87%), tiene por lo menos 154 niveles. Por lo menos por que en un momento dado decidimos detener el crawleo ya que cada nuevo nivel de crawleo añadía sólo un par de URLs nuevas. Cómo podéis ver, esta página tiene problemas serios de estructura que resolver, aunque el hecho de ganar tanto tráfico indica que el contenido que tienen es muy interesante para sus lectores.

Si seguimos observando los números nos damos cuenta de una cosa. Las páginas isciii.es y collinsdictionary.com tienen casi el mismo número de niveles. Sin embargo, la segunda tiene muchas más paginas que la primera (100000 contra 2000). Esto nos indica que los administradores de collinsdictionary.com han hecho sus deberes y tienen una arquitectura web que permite a cualquier lector alcanzar cualquier punto de la web en pocos saltos. En general, ninguna web debiera tener más de 10 niveles de profundidad, siendo posible enlazar pefectamente un sitio pequeño con 4 niveles o menos.

Si limitas el número de páginas descartables (redirecciones, 404, canonicals, etc.) de tu sitio y además éste tiene el número apropiado de niveles, será crawleada de forma más rápida, lo cual resultará en una mejor indexación de tu sitio web, de modo que serás capaz de llegar de forma más fácil a más posibles clientes. Si crees tener un problema de arquitectura, contáctanos y Safecont te ayudará a encontrarlo.

Carlos Pérez Miguel

Comparte la noticia