Uno de las tareas SEO que cualquier empresa tendría que hacer es monitorizar el posicionamiento web de sus proyectos. Os quiero presentar este script, que se encarga de monitorizar los SERPS de Google, de manera que puede notificarnos en que posición estamos para una determinada keyword.
El script es muy simple, consta de un único archivo y para configurarlo tan solo debemos especificarle la keyword a comprobar y la url de nuestra página web.
Lo interesante de este script SEO es que se puede modificar de manera muy simple y hacer –por ejemplo- que compruebe múltiples keywords para un dominio o que nos llegue al correo de manera periódica las posiciones que tenemos.
El único requisito es que tengas instalada la librería Curl con soporte PHP en el servidor donde ejecutarás el programa (la mayoría de hostings ya lo tienen).
Configuración de Google Ranking Checker:
- Para configurarlo editamos las variables que están en las lineas 3 y 4 con nuestra url y keyword.
- Es importante que pongamos una barra final a nuestro dominio.
- Si tenemos problemas con las peticiones o queremos ver como quedan los resultados podemos descomentar la línea 43 (//print_r($matches[1]);).
- *Si vas a hacer muchas peticiones se recomienda que uses proxys (Curl tiene una opción para eso) ya que Google baneará tu ip si pasas de un número de peticiones al día, bloqueando el acceso para que no hagas más peticiones.
- Con un poco de imaginación a parte del posicionamiento web se pueden monitarizar más cosas
Que lo disfrutéis.
Script PHP: Monitorizar posicionamiento web
<?php
$mi_web = "http://www.google.es/";
$keyword_buscar = "buscador";
function peticion($url, $referer, $agent, $timeout) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_REFERER, $referer);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
$result["EXE"] = curl_exec($ch);
$result["INF"] = curl_getinfo($ch);
$result["ERR"] = curl_error($ch);
curl_close($ch);
return $result;
}
$url = "http://www.google.com/search?hl=es&as_q=".urlencode($keyword_buscar)."&as_epq=&as_oq=&as_eq=&lr=&as_filetype=&ft=i&as_sitesearch=&as_qdr=all&as_rights=&as_occt=any&cr=&as_nlo=&as_nhi=&safe=images&num=100";
$result = peticion($url, "http://www.google.com/", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8", 5);
//print_r($result["INF"]);
//print_r($result["ERR"]);
if (empty($result['ERR'])) {
// Comprobamos si hay captcha...
preg_match_all("@<h3\s*class=\"r\">\s*<a[^<>]*href=\"([^<>]*)\"[^<>]*>(.*)</a>\s*</h3>@siU", $result["EXE"], $matches);
$i = 1;
foreach( $matches[1] as $direccion ){
if( $direccion == $mi_web ){
echo "<strong>Posicionamiento WEB:</strong>\n";
echo "La web $mi_web está en la posición $i\n";
die();
}
$i++;
}
//print_r($matches[1]);
echo "La web $mi_web no se ha encontrado en los SERPS por la keyword $keyword_buscar";
} else {
//Si hay problemas con la peticion (timeout, url incorrecta...) iremos aqui
}
?>

[...] Posicionamiento web: Google Ranking Checker | Blog SEOCOM Tags: empresa-tendr, este-script, las-tareas, manera-que, posicionamiento, que-cualquier, que-hacer, quiero-presentar, seo, serps, web Share this post! Twitter Digg Facebook Delicious StumbleUpon Google Bookmarks LinkedIn Technorati Favorites This entry was posted on 28 Septiembre 2011 at 3:44 am, and is filed under Sin categoría. Follow any responses to this post through RSS 2.0. You can leave a response or trackback from your own site. [...]
Además de monitorizar a la competencia, ¿qué otra clase de maldades se os ocurren?
Saludos
Muy bueno, habrá que probarlo. Gracias.
Me gusta
Pero diría que la mejor manera de comprobar el posicionamiento para palabras claves es analizar el LOG de tu servidor. Google pasa la posicion exacta de cada busqueda para cada usuario con cada visita en los parametros de la URL.
Mirando el log puedes saber la posicion, el tipo de busqueda (imagen, web, places..) del cual ha venido la visita.
Ya que con universal Search, Google+, resultados personalizados y todo el tinglao creo que es la manera mas efectiva para averiguar posicionamientos (o mejor dicho: una media de la posicion) de cada palabra.
No se si me explico
Saludos al equipo de SEOCOM
Hola David,
Gracias por comentar.
No hemos puesto el código porque es “la mejor” manera de comprobar el posicionamiento web de un site, sino porque es el inicio de una programación que te puede ayudar en tus tareas SEO.
Como decía Victor, mas abajo, se puede comprobar la posición de la competencia, pero mucho más. Solo has de utilizar la imaginación para que te alerte si algo cambia en los sites de la competencia o cosas
peores“mejores”Sergi es un experto en este campo. Un pieza indispensable de nuestro equipo SEO.
Hola, tiene un pequeño margen de error para la posición exacta por keywords, sin embargo, es excelente, pues me sirve para verificar si un sitio dónde he colocado un enlace, se ha indexado buscando la url exacta.
Mil gracias por el codigo…
Se me habia inutilizado mi antiguo script (hacia mucho que no lo usaba) y gracias a este he visto los nuevos parametros que pasarle a la busqueda y lo que ayuda hacerte pasar por firefox.
gracias!
Muchisimas gracias, justamente algo asi estaba buscando, alguna herramienta sencilla donde se pueda dar seguimiento a una palabra en especifica, a demas de realizar las busqueda acostumbradas directamente en los motores de busqueda.
Excelente articulo, por cierto lo encontre en google, en breve lo pondre en practica
Hola
Me olvidaba comentar que puedes usar esto entre unas pocas veces hasta mas de 100 consultas. Todo depende de cuanto tiempo dejes entre consulta y consulta, con lo que si te montas un pequeño script que lo haga en tiempo aleatorio, podrás usarlo tantas veces como quieras.