Google para Periodistas (1): Cómo encuentran información los buscadores o vida de una araña cibernética

 

Fuente: Flaticon

Porqué se supone que un periodista necesita saber estas cosas

Google: ámalo u ódíalo, pero si eres periodista no lo puedes ignorar. Es utilizado en el 70 por ciento de las búsquedas web en todo el mundo, en el 90 por ciento en Europa y en el 95 por ciento en España. ¿Es necesario saber cómo funciona Google si eres un periodista o un comunicador? Ciertamente no a nivel ingeniero, es decir, para poder clonarlo y montar otro Google, pero sí a nivel conceptual.

Por ejemplo, alguna vez he leído artículos de prensa que daban a entender que usando Google estás consultando la web en su totalidad y, además, en tiempo real, o sea, estás viendo la web tal como es en ese mismo momento. Ambas cosas son falsas ¿Es esto importante? Creo que sí, y en todo caso es un error, y se supone que el aspecto diferencial del periodismo profesional es el rigor.

Google no es la totalidad de la web, y cuando buscamos en Google, no lo hacemos en la web del presente, sino en la web tal como era en algún momento del pasado. La comparación con la velocidad de la luz, aunque exagerada, se vuelve inevitable.

Cuando miramos al cielo, no vemos las estrellas tal como son ahora, sino tal como eran en el pasado. En ese caso, el responsable de ese desajuste es la velocidad de la luz, en el caso de Google es el tiempo que sus arañas tardan en visitar y copiar cada nueva información que se publica en la web, y en ningún caso es instantáneo.

Además, Google crea barreras geográficas de facto para nosotros al ponderar de forma muy superior resultados locales y en la lengua que cree que entendemos mejor. Hay varias razones para poder decir que Google no es la totalidad de la web, y otro ejemplo es el siguiente: ¿saben ustedes que si no desean ser indexados por Google (o por cualquier buscador) solamente tienen que poner una línea de texto en su servidor y Google pasará olímpicamente de su sitio? ¿Les suena esto con relación a la queja de los editores de prensa españoles por aparecer en Google?

Creo que si eres periodista, incluso si no sueles informar sobre tecnologías, debes tener alguna noción sobre cómo funcionan los buscadores. La mínima, si quieren, pero suficiente para no trasladar ideas equivocadas al lector. Si eres periodista en temas tecnológicos, entonces es imprescindible y si eres periodista de investigación (de acuerdo, si adoras la idea de poder hacer periodismo de investigación algún día) entonces te arriesgas innecesariamente a hacer peor tu trabajo si no sabes cómo funcionan los buscadores.

Debo aclarar que, por un lado, adoro Google. Tengo suficiente edad para recordar la era pre Google, y realmente la situación era un desastre y eso que la web de aquellos momentos debía tener un tamaño del 10 por ciento de la actual. Google no solamente elevó la calidad de las búsquedas y propuso por primera vez una solución eficiente y escalable, sino que se centró en el usuario y enfocó la información como un todo, proponiendo soluciones globales e increíblemente buenas (y a coste cero).

La contradicción es que, por otro lado, llevo años intentando que, al menos periodistas y profesionales de la información, usen otros buscadores u otros sistemas de información: sino en lugar de, al menos, además de, Google. Es una idea nefasta considerar que si alguna cosa no está en Google, entonces no existe.

En otros artículos he argumentado la necesidad y he propuesto estrategias concretas para usar otros sistemas en función de nuestras necesidades, así cómo qué sistemas utilizar además (o en lugar) de Google. Me interesa tanto encontrar alternativas a Google que hasta me he permitido darle un nombre al problema: monocultivo informacional.

La  primera entrega de esta serie se centra en cómo Google y los buscadores en general recorren e indizan la web para encontrar información. En próximas entregas: cómo organizan las páginas de resultados, la búsqueda avanzada, y no faltará uno dedicado a las alternativas a Google.

¿Qué es una araña (en la web)?

En el contexto de las tecnologías de la Web, una araña es un programa que explora la Web de forma sistemática con dos objetivos: (1) interactuar con servidores de sitios web para encontrar información y (2) obtener nuevas direcciones (URL) para añadir a su lista de enlaces pendientes de revisar. Las expresiones crawler, spider yrobot (en este contexto) son equivalentes. La simplicidad conceptual de lo anterior esconde, como suele suceder en el mundo de las tecnologías, un conjunto de operaciones cuyos detalles y casuística está lejos de ser tan simples como aparentan.

Los spiders más famosos son, sin lugar a dudas los de buscadores como Google,Yahoo o Bing. Sin embargo, se calcula que actúan en la Web al menos varios miles más de spiders, sirviendo a propósitos distintos. Por ejemplo, es frecuente que grupos de investigación, ya sea de universidades o de corporaciones que estudian aspectos de la web dispongan de sus propios spiders para recolectar más o menos periódicamente la información que desean analizar.

Muchos usuario consideran que, cuando llevan a cabo una búsqueda, ésta tiene lugar en tiempo real: es decir, implícitamente suponen que el motor de búsqueda rastrea o examina las páginas web para cada pregunta y ofrece una selección de las mejores páginas de toda la web como respuesta.

Naturalmente, esta imagen no es viable. Aunque existen cosas parecidas en el contexto de algunas redes sociales, como Twitter, dado el tamaño de la Web en su conjunto no existe un sistema de información capaz de esta proeza. También es cierto que en algunos sitios muy seleccionados de toda la web, los buscadores realizan varias visitas al día, pero tales sitios son una ínfima fracción de toda la web: se trata de los varios miles o decenas de miles de sitios de medios de comunicación de todo el mundo, comparado con los cientos de millones de sitios en total.

En todo caso, lo que hacen los motores de búsqueda es consultar un índice local (“local” desde el punto de vista del motor de búsqueda) que facilita el acceso a las características de las páginas y otros documentos que antes descargó para el motor en cuestión uno de sus más atareados componentes: el spider . Recordemos cuáles son las tareas típicas de un buscador para situar a las arañas en su contexto:

  1. Acceder a sitios web, recorrer información y encontrar nuevas URL para añadir a la lista de nuevas exploraciones
  2. Extraer el contenido textual (y multimedia) de los documentos descargados
  3. Analizar e indizar el contenido de los documentos para construir los índices del motor
  4. Realizar el análisis de enlaces de cada página y derivar de aquí algunas métricas

La cuestión es que, de las cuatro operaciones mencionadas, es justamente la primera de todas (la que hemos destacado en cursiva: Acceder a sitios web, etc.) la que corresponde a la araña y que nosotros discutiremos desglosándola en otras dos: gestionar listas de enlace e interactuar con los sitios. Para esta última función, cada spider utiliza una denominación específica (su nombre) que utiliza para identificarse delante del sitio y cuya actividad queda registrada en los archivos de actividad (logs) del sitio.

¿Arañas o Robots?

Las arañas forman parte de una clase más amplia de programa denominados agentes o robots. Los programas agentes se caracterizan por dos cosas: tener un cierto grado de autonomía y actuar en representación de una entidad, en este caso de un buscador como Google.

La autonomía significa que pueden interactuar con otros agentes o sistemas sin necesidad de suspender su actividad en espera de instrucciones detalladas del usuario. El hecho de que actúen “en representación de…” es lo que les otorga su nombre de agentes precisamente. Como hemos señalado antes, las dos tareas típicas de un spider son las siguientes:

  1. Gestionar listas de enlaces pendientes de visitar (URLs)
  2. Acceder e interactuar con sitios web para descargar páginas o documentos

Gestionar enlaces

En la Web, cada documento (sea una página HTML o un documento unitario) está asociado a un enlace. La página principal del sitio es una URL aparentemente del estilo:

www.cualquiercosa.com

que en realidad corresponderá a un enlace o URL del estilo:

www.cualquiercosa/index.html

o expresiones equivalentes como:

cualquiercosa/main.html; cualquiercosa/inicio.html, etc.

Lo que sucede es que, en la práctica, los servidores buscan de modo automático un archivo tipo index.htm cada vez que el navegador les envía una petición de información de la forma abreviada www.cualquiercosa.com (es decir, el propio servidor añade la parte final omitida “index.html”).

Como ya hemos dicho, y dependiendo de la configuración del servidor, la parte omitida puede ser “inicio.html” (en lugar de index) o index.shtml (en lugar de .html), etc., o cualquier otra posibilidad definida en la configuración del servidor. Existen tres formas por las cuales el gestor de URLs de un buscador obtiene sus enlaces:

  1. De páginas web analizadas previamente. Hemos visto un ejemplo según el cual, el hecho de que un spider entre en www.ejemplo.com proporciona a la araña una lista de enlaces adicionales de dos tipos: enlaces del mismo sitio, que analizará de forma más o menos interactiva si el sitio no es muy grande, y enlaces a nuevos sitios, que añadirá a su lista de nuevos enlaces para visitar.
    Podríamos preguntarnos de dónde procedieron los primeros enlaces. La respuesta es fácil: cada vez que aparece un nuevo motor de búsqueda, éste inicia sus actividades necesariamente con una lista más o menos larga de URL (llamados enlaces semilla) que han introducido en el spider los creadores del buscador. La lista puede tener miles o puede tener millones de URL en función del trabajo previo de los desarrolladores del buscador.
  2. Sitemaps. La mayoría de los sitios web profesionales del mundo suelen utilizar un mapa de la web en forma de un archivo de texto que se pone a disposición de los buscadores para que interpreten mejor la estructura del sitio y encuentren fácilmente todos los enlace, o al menos, los más importantes.

  3. Enlaces proporcionados (submitted URL). Los gestores y responsable de sitios web pueden rellenar los formularios ad-hoc de los principales motores de búsqueda para dar a conocer (dar de alta), al menos,la URL de la página principal de su sitio (y en caso necesario,las URLs de las principales secciones del mismo). A su vez, existían dos procedimientos por los cuales se podían enviar altas a un motor de búsqueda:
    1. Gratuito
    2. Mediante pago (ya en desuso)

En la forma gratuita, que es casi la única forma actual si exceptuamos alguna oferta que roza el fraude, el responsable de un sitio web accede a un formulario específico del motor y entra los datos (típicamente, la URL de la página principal) del sitio sin necesidad de pago ni desembolso alguno.

En cambio, en la fórmula de pago, ya en desuso, era necesario realizar un pequeño desembolso (de entre 10 y 50 euros) previo para que el motor realice el alta de la página principal del sitio o de otras páginas adicionales del sitio.

Google nunca ha practicado la modalidad de pago por inclusión, mientras que Yahoo la ha practicado en ocasiones para su directorio y ha sido también una opción voluntaria para su motor de búsqueda en algunos mercados (por ejemplo en algunos momentos para Estados Unidos).

Sin embargo, aún veo de tanto en tanto ofertas para dar de alta sitios web en cientos de buscadores por un módico precio. Por módico que sea el precio, será tirar el dinero y es en realidad casi un fraude. Los buscadores que importan son apenas tres (Google, Bing, DuckDuckGo) y son de alta gratuita.

Nos gustaría que fueran más, que hubiese más competencia, o mejor competencia, pero es lo que hay. Los otros supuestos centenares de buscadores no aportan nada porque en caso de existir, carecen de usuarios reales, o al menos de usuarios reales en un número significativo.

Interactuar con los sitios

Protocolo de exclusión de robots

En los años noventa, las arañas o spiders representaron un auténtico problema para los servidores de sitios web. En aquella década había disponible solamente una fracción ínfima del ancho de banda del que se dispone hoy en la mayor parte del mundo. Además, el software y el hardware de los servidores proporcionaba también un menor rendimiento.

Por todo ello, los spiders de los motores podían llegar a causar graves problemas a los servidores. Las insistentes visitas de un spider para descargar los documentos de un sitio podían provocar un mal rendimiento (o el colapso momentáneo) del servidor de cara a los usuarios “reales” del sitio.

Además, pronto los administradores de los sitios descubrieron hasta qué punto podía resultar indiscreto subir documentos al servidor o confirmar en tener directorios del sitio para colocar información reservada, ya que los spiders descargaban (y mandaban a indizar) cualquier cosa que encontrasen en el servidor cumpliendo su misión de robots disciplinados y sistemáticos.

A partir de aquí, se desarrolló el llamado Protocolo de exclusión de robots, bajo cuyo pomposo nombre se escondía un simple procedimiento (en plena vigencia) que permite al administrador de un sitio excluir el análisis de los spiders (robots) de ciertos directorios o de todo el sitio; o prohibir a robots concretos (p.e. Google) el acceso al sitio.

Por un lado, ya no padecemos la carestía de ancho de banda de los años 90, y por otro lado, los programadores de los spiders han creado una generación de robots mucha más eficiente que genera menos carga para los servidores. Sin embargo, decimos que el protocolo tiene plena vigencia aunque solamente sea por la posibilidad de excluir directorios enteros del servidor de la curiosidad de los robots (spiders) a voluntad del administrador del sitio.

El funcionamiento del protocolo es de extrema sencillez. Las instrucciones del mismo se sitúan en un archivo de texto (de nombre robots.txt ) que, a su vez, se coloca en el directorio principal (directorio raíz) del sitio. Se supone que los robots (spiders en este caso) deben leer el archivo antes de empezar a interactuar con el sitio y descargar documentos. Si el sitio no posee este archivo, se entiende que el robot no tiene limitación ninguna para rastrear el sitio (se aplica el viejo principio del “el que calla, otorga”). 

Por el contrario, si el sitio dispone del archivo robots.txt , se supone que el robot simplemente obedecerá las directrices del mismo. Hasta donde se sabe, los spiders de los principales buscadores obedecen las directrices. La versión más simple del archivo robots.txt es la siguiente:


User-agent: * Disallow:


Por tanto, la versión del fichero robots.txt indica que no hay ningún directorio del servidor excluido y que tal indicación es válida para todos los spiders. Dicho de otro modo: cualquier spider puede indizar la totalidad del servidor. Esta es la opción más habitual, por otro lado. Lo normal es que las empresas estén interesadas en que les visiten cuantos más spiders mejor (significa que aparecerán en más índices de búsqueda) y en que indizen cuanta más información mejor.

La primera instrucción anterior sirve para indicar si la misma se aplica únicamente a algún spider (User-agent) en concreto (no es el caso) o se aplica a todos en general ( * significa que la instrucción es válida para todos). La segunda instrucción (Disallow) sirve para indicar qué directorio (o directorios) queda excluido de la inspección del robot.

Sin embargo, pudiera suceder que el administrador de un sitio quisiera excluir un directorio de la curiosidad de los buscadores. En este caso, el fichero robots.txt podría tener este contenido:


User-agent: * Disallow: /debates/


No es necesario incluir un archivo robots.txt en el sitio autorizando expresamente que el sitio se puede indizar, ya que se considera que la ausencia de un fichero robots.txt equivale a la autorización. Sin embargo, se considera recomendable colocar el archivo aunque sea para confirmar que el sitio se puede indizar, ya que es el primer documento que el spider pedirá a nuestro servidor, y aún mejor añadir un archivo tipo sitemap.

Por contra, será obligado ponerlo en el caso que deseemos excluir alguna parte o todo el servidor del análisis de los spiders.La instrucción anterior, evitará que los motores (al menos, los motores como Google o Yahoo) indizen el contenido del directorio debates .

Etiqueta robots

El lenguaje HTML proporciona un elemento del tipo meta que permite complementar (o sustituir el fichero robots.txt ). Como es sabido, los elementos meta de HMTL permiten añadir meta datos a una página utilizando el elemento indicado con los atributos name y content.

El valor de name siempre debe ser “robots” , y el de content dependerá de lo que se quiera transmitir al robot. De este modo, una página web puede contener esta etiqueta en su código fuente en la sección head si el administrador del sitio no desea que sea indizada la página, ni que la araña siga recorriendo el sitio:


name=”robots” content=”noindex, nofollow” />


Prioridades y estrategias

Como es fácil de deducir, estamos diciendo a todo y cualquier robot que acceda a la página que ni debe indizar la página ni debe seguir los enlaces que pueda contener la misma. Naturalmente, podemos indicar lo contrario: index y follow , pero este es el comportamiento por defecto y por tanto no sería necesario indicarlo.

El programador de un spider debe considerar aún otros aspectos en su relación con los sitios web. Las opciones típicas que debe afrontar se refieren, en primer lugar, a la necesidad de desarrollar algoritmos que aseguren que el spider visita con más frecuencia los sitios que se actualizan así mismo con mayor frecuencia.

En segundo lugar, los spiders deben incorporar estrategias de análisis que les permitan explorar tanto en amplitud como en profundidad un sitio, sin quedar atrapados por largo tiempo en el mismo sitio, así que deben incorporar algoritmos sobre cómo tomar decisiones ante sitios a la vez muy amplios y muy profundos, de manera que no colapsen el servidor pero puedan acceder a la mayor parte del contenido del mismo si no en el mismo día o en días sucesivos.

En realidad, la casuística es enorme: cómo tratar con sitios que son muy enlazados, con sitios gestionados mediante sistemas de gestión de contenidos cuyas direcciones (URL) se generan de forma automática (en lugar de ser direcciones estáticas); cómo tratar enlaces incluidos en instrucciones JavaScript (por ejemplo, para generar menús desplegables); cómo tratar las altas manuales en su formulario al efecto, etc.

Discusión y conclusiones

Los buscadores han afrontado la complejidad de las tareas que deben abordar sus robots mediante la creación de herramientas específicas, p.e. Sitemaps, destinadas a ser usadas por los administradores de sitios pero que sirven, por un lado, para que su spider “entienda” mejor el sitio y realice una indización exhaustiva tanto en amplitud como en profundidad y, por otro lado, para que el administrador del sitio pueda saber en todo momento cómo ha sido visto y analizado su sitio por parte del spider.

Además, los administradores de sitios pueden poner una barrera simple pero de total efectividad si no quieren aparecer en los resultados de Google (o de cualquier buscador). Lo que encontramos en la página de resultados de un buscador es una muestra de la última vez que el buscador visitó y copió la información del sitio.

Algunos sitios son visitados varias veces al día, como los sitios de medios de comunicación, pero otros son visitados en intervalos de días o de semanas, otros no se visitan en absoluto (p.e. debido a un archivo robot.txt, a veces mal codificado por error) y de otros no se indizan todas las páginas, y ni siquiera indizan todo el contenido de cada página.

Otros no se indizan por mala configuración de otras opciones del servidor o del diseño de la navegación de sitio, otros no se indizan porque los administradores prefieren mantenerlos ocultos y aún otros no se abren a los buscadores por la sencilla razón de que son sitios web privados, o tienen barreras de pago, etc.

Además, y esto es algo que entenderemos mejor en otras entregas, Google tiene una política muy restrictiva con las páginas que deja ver a los usuarios. Probablemente, aunque yo me empeñe, no me dejará ver páginas de países que Google ha decidido que a mí no me interesan.

Aunque sea por motivos estadísticos, Google puede decidir que es muy raro que yo quiera ver páginas de Eslovenia, por ejemplo, y aunque haya páginas eslovenas que contienen la información que yo estoy buscando, simplemente no las mostrará en mi navegador. O las mostrará en una posición tan retrasada (p.e. a partir de la cuarta o quinta página) que es casi seguro que nunca sabré de su existencia.

He puesto este ejemplo, que puede parecer un poco forzado, porque es un caso real, tenemos un investigador visitante en nuestro Departamento estos días procedente de Eslovenia, pues bien, cada vez que hacemos consultas esperando encontrar páginas de ese país resulta misión (casi) imposible aún poniendo palabras clave tan tremendamente precisas como nombres propios rodeados de las correspondientes comillas. Google ha decidido que es imposible que un usuario ubicado en España puede estar interesado en páginas ubicas en Eslovenia.

Espero haber podido, sino demostrar, al menos, razonar, porqué es importante que los profesionales de la comunicación conozcan, aunque sea a nivel conceptual, cómo funcionan los buscadores y, por tanto, cómo funciona Google.


Icon made by Freepik from www.flaticon.com