En los contadores de visitas tenemos la tipica pagina de terminos de busqueda que llegan a nuestra web, pero... realmente ¿cuales de ellos resultan en registro en nuestra pagina?
Partiendo de que en nuestra tabla de usuarios tenemos un campo llamado GOOGLE, colocamos este código en todas nuestras paginas que pensemos que pueden llegar visitas desde el buscador google:
Código:
En la pagina donde realizamos el registro del usuario tendremos la siguiente funcion:if ($_SESSION['origen']==""){ session_register("google");$_SESSION['google']=$_SERVER['HTTP_REFERER']; }
Código:
function GoogleQuery ($url) { //Comprobamos que la pagina referente pertenece a Google if (strpos ($url, "google")) { //Almacenamos en la variable $string el contenido de la variable $_SERVER["HTTP_REFERER"] $string = $url; //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 (substr($string,$i,1) == "q" and substr($string,$i+1,1) == "=" and substr($string,$i-1,1) == "&") { for ($n=$i; $n < strlen ($string)+1 ;$n++) { if ($string[$n] == "&" or $n==strlen ($string)) { // — 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; }
Luego en nuestro INSERT a la tabla guardaremos en nuestro campo GOOGLE el valor que nos devuelve la funcion enviandole la URL de llegada:
Código:
GoogleQuery($_SESSION['origen'])
Por ultimo cuando pasen unos dias, podeis realizar una consulta a vuestra base de datos para analizar que busquedas son las que realmente teneis que potenciar:
Código:
select DISTINCT GOOGLE,COUNT(ID) AS TOTAL from usuarios group by GOOGLE ORDER BY TOTAL DESC .
Se agradecerian comentarios, opiniones sobre otros metodos o lo que sea, saludos