La transparencia con la que Google nos muestra las variables utilizadas para sus búsquedas en la URL de la página de resultados puede sernos de gran utilidad a la hora de conocer las palabras clave con las que se busca y, a veces, encuentra nuestro sitio web.
Analizando la URL de la Página de Resultados Google
La mejor forma de verlo y entenderlo es con un ejemplo. Si insertamos la palabra «búsqueda» en el formulario, obtendremos la siguiente URL en la página de Resultados:
http://www.google.es/search?hl=es&q=busqueda&btnG=Buscar&meta=
Podemos observar que consta de cuatro variables:
q= Contiene el Query_String o la cadena de consulta, que el motor de búsqueda utiliza para mostrar los registros mostrados en las páginas de resultados.
btnG= Muestra el value del botón del formulario de búsqueda.
meta= Utilizada para acotar las búsquedas. Puede contener valores que limiten el resultado de la búsqueda a páginas de un determinado país (meta=cr%3DcountryES) o a páginas escritas en determinado idioma (meta=lr%3DDlang_es).
El valor que nos interesa aquí es el de la variable q, es decir, la variable que contiene la cadena de consulta que el usuario a utilizado a la hora de realizar la búsqueda.
La Matriz $_SERVER de PHP
PHP tiene una serie de variables y matrices predefinidas entre las cuales se encuentra el array $_SERVER.
Se trata de una variable ‘superglobal’, o global automática de tipo array. Esto simplemente quiere decir que está disponible en todos los contextos a lo largo de un script. Contiene información tal como cabeceras, rutas y ubicaciones de scripts y sus entradas son creadas por el servidor web en el que está alojado el site.
La entrada «HTTP_REFERER» del array $_SERVER contiene la dirección de la página (incluidas variables enviadas mediante GET) desde la que el navegador saltó a la página actual.
Aquí os dejo una función que utiliza la entrada «HTTP_REFERER» y analiza su contenido para extraer el valor de la variable q contenida en la URL de la página de resultados de Google.
function GoogleQuery ()
{
//Comprobamos que la pagina referente pertenece a Google
if (strpos ($_SERVER[«HTTP_REFERER»], «google»))
{
//Almacenamos en la variable $string el contenido de la variable $_SERVER[«HTTP_REFERER»]
$string = $_SERVER[«HTTP_REFERER»];
//Inicialimamos a 0 el valor de la variable que nos indicara la longitud de la cadena contenida en la variable q.
$longQuery = 0;
// — Encontramos la variable q y su final delimitado por &
for ($i=0; $i < strlen ($string); $i++){
if ($string[$i] == ‘q’)
{
for ($n=$i; $n < strlen ($string) ;$n++)
{
if ($string[$n] == ‘&’)
{
// — Extraemos la subcadena a partir de las posiciones de (inicio)$i+2 [excluimos ‘q=’] y (fin)$n-2 [adelantamos 2 posiciones el final de la cadena resultante]
$q = substr ($string, $i+2, $longQuery-2);
break;
}
$longQuery ++;
}
break;
}
}
//reemplazamos los símbolos + por espacios en blanco
$q = str_replace(‘+’,’ ‘,$q);
}
return $q;
}
//Mostramos el resultado haciendo una llamada a la función
echo GoogleQuery ();
?>
Podéis encontrar la clase Google Query, aprobada por la comunidad de Programadores PHP phpclasses.org AQUÍ.
Funcion GoogleQuery:
GoogleQuery
[…] Query, clase de PHP aprobada por PHPClasses Google Query se trata de una sencilla clase que publiqué hace algunos días en este […]
la verdad no entendi absolutamente nada
pero igual bale el post
chao y gracias de todas maneras
PD:para otra ves explayate mas simple
porfi 😉
Hola
Gracias es muy interesante y util.
No es por ser exigente pero se podria poner un texto y las palabras con las que vino de Google.
Cuando entran a nuestra web, nos podrias mostrar el codigo para hacerlo?
La otra duda uso supercache eso no afecta a mi pagina no?
Saludos
Que yo sepa Google no realiza busquedas en gallego ni en euskera, en catalán si. De hecho, he probado la url con eu y con gl y los resultados no cambian.Lo que si modifica es el idioma de la interfaz de búsqueda.
En cuanto al post me ha resultado muy didáctico y muy útil.
Muchas Gracias.
Muy interesante y util. gracias