Figura 1. Definición de GoogleBot.
Para cualquier profesional, un esfuerzo extra supone posponer un montón de cosas personales. No es el caso, puesto que antes de salir 'pintando' para la Cabalgata de Reyes, me propongo haceros llegar un post resumido sobre el funcionamiento de los motores de búsqueda. Nos introducimos ayer en algunos conceptos complejos y extensos, como es la web semántica... continuaremos haciéndolo, no obstante se hace conveniente para los que aún no controlaís la terminología y los aspectos fundamentales de Internet, dedicar unas cuantas líneas a la herramienta que ha posibilitado la evolución de la red y la organización de la información: los motores de búsqueda. Disculpad la calidad de las imágenes, y el idioma. La falta de tiempo (hoy como excepción), no me permiten disponer de algunas más adecuadas.
Cómo realiza Google las búsquedas
Si estás leyendo este post, estás interesado en aprender cómo Google crea el índice y la base de datos de
los documentos a los que se accede cuando se procesa una consulta. Tomaremos como punto de partida, la descripción que ofrece Gary Precio en el Capítulo II de La Web
Invisible (CyberAge Books, 2001), sobre cómo los Motores de Búsqueda organizan la información.
<<Google se
ejecuta en una red distribuida de miles de computadoras de bajo costo y por lo
tanto puede llevar a cabo el procesamiento en paralelo rápido. El procesamiento
en paralelo es un método de cálculo en la que muchos cálculos pueden realizarse
de forma simultánea, lo que acelera significativamente el procesamiento de
datos.>>
Google tiene tres partes bien diferenciadas:
Figura 2. 'The Invisible Web',(CyberAge Books, 2001).
Autores: Chris Sherman y Gary Price.
Googlebot,
un rastreador web que busca y recupera las páginas web.
El
indexador que ordena cada palabra en cada página y almacena el índice
resultante de las palabras en una enorme base de datos.
El procesador de
consultas, que se compara su consulta de búsqueda en el índice y recomienda los
documentos que considere más relevantes.
Echemos un
vistazo a cada parte.
Googlebot, Web
Crawler de Google
Googlebot es
un robot de rastreo web de Google, que encuentra y recupera las páginas en la web
y las superpone encima del indexador Google. Es fácil imaginar Googlebot como
una pequeña araña corriendo por los hilos del ciberespacio, pero en realidad
Googlebot no atraviesa la web en absoluto. Funciona muy parecido a su navegador
de Internet, mediante el envío de una petición a un servidor web para cargar una página web; posteriormente procede a la descarga de toda la página, y luego la entrega al ndexador de Google.
Googlebot se
compone de muchos equipos que solicitan y ir a buscar páginas mucho más rápido
de lo que puede con su navegador web. De hecho, Googlebot puede solicitar miles
de diferentes páginas simultáneamente. Para evitar sobrecargar los servidores
web, o desplazar las peticiones de los usuarios humanos, Googlebot hace
deliberadamente peticiones de cada servidor web de forma individual.
Googlebot encuentra páginas de dos maneras: a través de un formulario de
URL add, www.google.com/addurl.html , y a través de la búsqueda de enlaces de rastreo de la web.
Figura 3. Googlebot: Formulario de búsqueda.
Desafortunadamente,
los spammers descubrieron cómo crear robots automatizados que bombardearon el
formulario add URL con millones de direcciones URL que apunta a la propaganda
comercial. Google rechaza esas URLs enviadas a través de su formuario URL Add, por el sospecha están tratando de engañar a los usuarios mediante el empleo de
tácticas como la inclusión de texto oculto, o enlaces a una página. Otras técnicas como el relleno
de una página con palabras irrelevantes, el encubrimiento (también conocido como
señuelo), utilizando redireccionamientos elusivos, la creación de portales,
dominios o subdominios con contenido sustancialmente similar, el envío de
consultas automatizadas a Google, y la vinculación a los malos vecinos. Así que
ahora el formulario Add URL también tiene una prueba: muestra algunas opciones para engañar a los spammers de forma automatizada; se
le pedirá que introduzca las letras que ve - algo así como un examen de
la vista, similar a los caracterís captcha para tratar de frenar los spambots.
Cuando
Googlebot obtiene una página, entresaca todos los enlaces que aparecen en la
página y los añade a una cola para su posterior rastreo. Googlebot tiende a
encontrarse con baja de spam porque la mayoría de los autores web vinculan sólo
a los que ellos creen que son las páginas de alta calidad. Por vínculos de
cosecha de cada página que encuentra, Googlebot puede crear rápidamente una
lista de enlaces que pueden cubrir amplios alcances de la web. Esta técnica,
conocida como el rastreo profundo, también permite que el robot de Google para
sondear las profundidades de los sitios individuales. Debido a su escala
masiva, los rastreos profundos pueden llegar a casi todas las páginas de la
web. La web es enorme, esto puede tomar algún tiempo, por lo que
algunas páginas pueden ser rastreaas sólo una vez al mes.
Aunque su
función es simple, Googlebot se debe programar para manejar varios desafíos. En
primer lugar, ya que el robot de Google envía solicitudes simultáneas de miles
de páginas, la cola de la "visita breve" URLs, debe ser constantemente
examinada y comparada con las URL que ya están en el índice de Google.Los duplicadios en la cola deben ser eliminados para evitar que Googlebot vaya a
buscar la misma página de nuevo. Determinará con qué frecuencia
volverá a visitar una página. De otro lado, es una pérdida de recursos para
volver a indexar una página sin cambios.
Para mantener
actualizado el índice, Google rastrea constantemente las páginas web que
cambian con más frecuencia. Estos rastreos mantienen un índice corriente, y
se conocen como rastreos frescos. Las páginas de los periódicos se descargan
a diario, y las páginas con las cotizaciones de bolsa se descargan con frecuencia horaria. Por supuesto, los rastreos frescos devuelven menos páginas que el
arrastre de profundidad. La combinación de los dos tipos de rastreos permite
que Google hacer un uso eficiente de sus recursos, y mantener su índice
razonablemente actualizado.
Indexador de
Google
Googlebot ofrece
el indexador al texto completo de las páginas que encuentra. Estas páginas se
almacenan en la base de datos del índice de Google. Este índice está ordenada
alfabéticamente por el término de búsqueda, con cada entrada de índice que
almacena una lista de los documentos en los que aparece el término y la
ubicación dentro del texto donde se produce. La estructura de datos permite
un rápido acceso a los documentos que contienen los términos de búsqueda del
usuario.
Para mejorar
el rendimiento de búsqueda, Google ignora (no indexa) palabras comunes llamados
palabras vacías (como el, es, en, o, de, cómo, por qué, así como
algunos dígitos y letras independientes). Las palabras vacías son tan comunes que
hacen poco para restringir una búsqueda, y por lo tanto de manera segura pueden
ser descartadas. El indexador ignora igualmente algunos signos de puntuación y espacios
múltiples, así como la conversión de todas las letras en minúsculas para
mejorar el rendimiento de Google.
Procesador de
consultas de Google
El procesador
de consultas tiene varias partes, incluyendo la interfaz de usuario (cuadro de
búsqueda), es el "motor" que evalúa las consultas y lass compara con los
documentos pertinentes, y los resultados del formateador.
PageRank es
el sistema de Google para clasificar las páginas web. Una página con un
PageRank más alto se considera más importante y es más probable que se enumere más arriba que una página con un PageRank más bajo.
Google tiene
en cuenta más de un centenar de factores en el cálculo de un PageRank y
determinar qué documentos son más relevantes para una consulta, incluyendo la
popularidad de la página, la posición y el tamaño de los términos de búsqueda
dentro de la página, igualmente, también la proximidad de los términos de búsqueda entre sí en la
página. Una solicitud de patente, analiza otros factores que Google tiene en
cuenta al clasificar una página. Visita el informe del SEOmoz.org para una
interpretación de los conceptos y las aplicaciones prácticas que figuran en la
solicitud de patente de Google.
Google también
aplica técnicas de aprendizaje para mejorar su rendimiento de forma
automática: basada en relaciones y asociaciones entre los datos almacenados. Por ejemplo, el sistema de corrección ortográfica utiliza esas técnicas parra averiguar otras ortografías alternativas. Google guarda
celosamente las fórmulas que utiliza para el cálculo de relevancia; que están
ajustados para mejorar la calidad y el rendimiento, y para burlar las últimas
técnicas (ataques) utilizadass por los spammers.
Indexar el
texto completo de la web, permite a Google ir más allá de los
resultados de términos de búsqueda individuales. Google da más prioridad a las
páginas que tienen los términos de búsqueda más aproximados, y en el mismo
orden que en la consulta. Google también puede hacer coincidir frases de varias
palabras y oraciones.
Desde Google
se indexa código HTML, además del texto en la página, los usuarios pueden
restringir las búsquedas sobre la base de donde aparecen palabras de la
consulta, por ejemplo; en el título, en la URL, en el cuerpo, en enlaces de
la página, en las opciones que ofrece por Búsqueda Avanzada el Formulario de Google y
el Uso de Operadores de búsqueda (Operadores Avanzados).
A continuación un ejemplo sobre cómo Google procesa una consulta:
Recursos y complementos: