Herramientas SEO

Posicionamiento web: Google Ranking Checker

Post placeholder image

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]
<?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 = "https://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, "https://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
}
?>
[/php]