Hace unos días recibí en la oficina a un cliente que tiene varios sitios web que trabajaban desde hace 3 años, obteniendo datos directamente de Google de manera transparente (sin utilizar ningún API ni nada), y nos comentaba (a los de la oficina) que ninguno de los scripts le estaba trabajando correctamente.

Revisando los scripts del cliente, evidentemente obtenía los datos utilizando expresiones regulares que dividían el HTML, para sectorizar la información y poder manejarla en diferentes usos.

En general, como el script del cliente en caso, guardaba un log de las consultas, evidenciamos que Google, en busca de dificultar a los scripts que como en este caso, buscan medir los “rankings”, de la manera más simple, antigua, y poco al “google-style” que podemos imaginar.

Google, simplemente está cambiando la estructura de su HTML, para que estos robots queden “perdidos”, y que el usuario final nunca note un cambio significativo.

En general con un análisis de 12 días que tenía el script, detectamos 44 versiones
diferentes de Google, por lo que la solución más práctica (menos costosa) para el cliente, fue gestionar una capa de abstracción que determinara cuál de estas versiones estaba en uso, y en base a ello, empleara las reglas correspondientes para obtener la información.

En el caso del cliente, agregamos una función para detectar nuevas versiones, que nos permitieran continuar ajustando el script en el futuro.

Fuera del caso del ejemplo, podemos apreciar que A Google no le han gustado nunca este tipo de  herramientas, que comprueban las posiciones de búsqueda, de palabras claves, siendo un aspecto determinante para el posicionamiento de sitios web.

Pese a que algunos otros blogs consideran este tipo de actuaciones como parte de los experimentos de Google, en general, no nos extraña que Google utilice esta “vieja” técnica para dificultar la labor de los scripts, sin embargo, deberían emplear métodos un poco más agresivos si de verdad quieren parar esta situación, puesto que el user-agent del script que utilizamos de ejemplo es “Hi, I’m a PHP script :-)”.

Un hacking saludo…