Monthly Archives: March 2009

Detectar bot con PHP

Muchas veces estamos a punto de lanzar un sitio pero todavia no nos interesa que los robots de busqueda lo indexen, quiza porque aun no hemos terminado el trabajo SEO o quiza simplemente queremos saber cuantas veces al dia ingresa el bot a nuestra pagina.

Si contamos con soporte PHP en nuestro servidor, agregando las siguientes lineas podremos saber si el que acaba de entrar a la web es o no un bot.

$SEARCH_ENGINES_UA = array(
// Google Web
‘Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)’,
‘Googlebot/2.1 (+http://www.googlebot.com/bot.html)’,
‘Googlebot/2.1 (+http://www.google.com/bot.html)’,
// Yahoo! Web
‘Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)’,
// MSN web
‘msnbot/1.0 (+http://search.msn.com/msnbot.htm)’,
‘msnbot/0.9 (+http://search.msn.com/msnbot.htm)’,
‘msnbot/0.11 ( http://search.msn.com/msnbot.htm)’,
‘MSNBOT/0.1 (http://search.msn.com/msnbot.htm)’
);

if(in_array($_SERVER['HTTP_USER_AGENT'],$SEARCH_ENGINES_UA))
{
header(‘HTTP/1.1 302 Found’);
header(“Location: http://www.internetox.com/”);
exit();
}

Vamos a explicar el codigo:

$SEARCH_ENGINES_UA = array(
// Google Web
‘Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)’,
‘Googlebot/2.1 (+http://www.googlebot.com/bot.html)’,
‘Googlebot/2.1 (+http://www.google.com/bot.html)’,
// Yahoo! Web
‘Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)’,
// MSN web
‘msnbot/1.0 (+http://search.msn.com/msnbot.htm)’,
‘msnbot/0.9 (+http://search.msn.com/msnbot.htm)’,
‘msnbot/0.11 ( http://search.msn.com/msnbot.htm)’,
‘MSNBOT/0.1 (http://search.msn.com/msnbot.htm)’
);

Es el array en el que se encuentran detallados los User Agent conocidos de los distintos buscadores (en este caso solo Yahoo, Google y Live), ese User Agent es lo que usa el bot para identificarse frente al servidor.

if(in_array($_SERVER['HTTP_USER_AGENT'],$SEARCH_ENGINES_UA))
{
header(‘HTTP/1.1 302 Found’);
header(“Location: http://www.internetox.com/”);
exit();
}

Segunda parte, con la funcion in_array preguntamos si el “$_SERVER['HTTP_USER_AGENT']” (osea el nombre con el que se esta identificando el “usuario”) se encuentra en la lista de BOTS ($SEARCH_ENGINES_UA).

Si se encuentra entra en el IF y ejecuta, en este caso el siguiente codigo:

header(‘HTTP/1.1 302 Found’);
header(“Location: http://www.internetox.com/”);
exit();

Que no es ni mas ni menos que una redireccion a http://www.internetox.com (aqui debes poner la url que deseas), con una cabecera 302 (una redireccion temporal).

Dentro de este bloque, osea, dentro de las llaves ({}) puedes ingresar lo que quieras, por ejemplo puedes habilitar un contador para ver cuantas veces entran los distintos bots a tu sitio o enviarte un mail cada vez que lo hacen.

Espero que les sea de utilidad, muchas gracias.

¿Quien es David Perez?

Bueno, antes de volver a escribir creo que es bueno tomar un momento para presentarme.

Muchos quiza ya me conocen, el resto no.

Mi nombre es David Perez, documentado como Jonatan David Perez, actualmente tengo 22 años y desde los 14 que trabajo en la web.

Comence en esto de internet como hobbie a esa edad y luego a los 18 continue desarrollandome profesionalmente. Trabaje en varios lugares como diseñador, programador y SEO…

Actualmente me encuentro trabajando como SEO Technical Lead para Gameloft, compania Francesa lider en desarrollo de videojuegos.

Vivo en Buenos Aires, Argentina, naci aqui. Tengo novia y estudio…

Mas o menos ese soy yo,  Ayudando.net es el espacio que quice crear para poder escribir lo que se me cruce por la cabeza. La idea principal es escribir sobre las tematicas que se detallan en el blog, pero cualquier persona que trabaje fulltime en estas cosas sabe que por mas apacionado que uno sea con su trabajo luego de 10 hs viendo codigo no tiene muchas ganas de explicarlo…

A medida que pasen los post iremos viendo hacia donde apunta este pequeño amigo, mientras tanto nos seguimos leyendo!!!

Volver a empezar

Tener un blog es una gran responsabilidad… no muchos pueden darle la atencion que se merece.

Este es mi caso, durante dos años escribi en www.amointernet.com.ar acerca de SEO, programacion, software, diseño, etc. Obviamente las responsabilidades de la vida actual me llevaron a dejar de escribir… y un dia me llevaron a, por error, hacer una pequeña limpieza de bases de datos en el servidor. Una limpieza que por error se llevo todos mis posts!!! y me dejo en la “ruina”.

Hoy, varios meses despues, habiendo perdido muchos lectores y visitantes, he decidido volver a empezar… de cero.
Otra vez a escribir sobre lo que pasa, sobre lo que entiendo y sobre lo que no entiendo… Otra vez abro la sucursal de mi memoria que se plasma online, ese lugar en el que puedo compartir todo lo que se que en varios dias voy a olvidar.

Otra vez estoy aca, este post va a ser leido por muy pocas personas, pero de alguna manera hay que empezar, a medida que vuelva el movimiento vamos a ver el crecimiento que podemos ir desarrollando.

Muchas gracias.

David Perez