Descobrindo a consulta que o usuário fez no Google pra chegar no seu site
Prefácio
O título é bem grande mas o tutorial é simples! Tudo que nós precisamos é saber o que é o REFERER e qual o seu poder!
Conceito
Sempre que você troca de página, a URL anterior fica armazenada numa variável de ambiente chamada "REFERER", que não possui uma tradução exata para o português mas é algo do tipo "Referência".
A partir desta "referência" podemos descobrir qual foi a última URL que o nosso usuário esteve (limitando-se a aba atual). Sempre iremos encontrar o referer (se houver) dentro da superglobal $_SERVER.
Mão na massa
Você terá que criar um arquivo que deverá ser incluso no início de todos os arquivos. Chamaremos este arquivo de google.php
Código: Alternar entre o modo de cópia/destaque
<?php // Interpreta a URL e fatia ela em módulos... Os dados estarão no índice "query" // Retira a variável "q" da querystring, que é onde fica a consulta do Google // Coloca a consulta na variável $google $google = $consulta['q']; // Olha o "q" aqui! :) } else { $google = false; } if ($google) ?>
<?php
if (isset($_SERVER['HTTP_REFERER']) && !empty($_SERVER['HTTP_REFERER'])) {
// Interpreta a URL e fatia ela em módulos... Os dados estarão no índice "query"
$query = parse_url($_SERVER['HTTP_REFERER']);
// Retira a variável "q" da querystring, que é onde fica a consulta do Google
parse_str($query['query'], $consulta);
// Coloca a consulta na variável $google
$google = $consulta['q']; // Olha o "q" aqui! :)
} else {
$google = false;
}
if ($google)
print "Se você estava procurando por <strong>{$google}</strong>, veio ao lugar certo!";
?>
Fácil, né? :)
Caso você queria simular uma consulta no seu site para testar, basta realizar uma busca no Google e copiar a URL da página de resultados e colar como no exemplo abaixo (coloque esta declaração no começo do script):
Código: Alternar entre o modo de cópia/destaque
<?php $_SERVER['HTTP_REFERER'] = 'URL_COMPLETA_DA_CONSULTA_AQUI'; ?>
<?php
$_SERVER['HTTP_REFERER'] = 'URL_COMPLETA_DA_CONSULTA_AQUI';
?>
Conclusão
Se parecia difícil, agora percebemos que não é!
Provavelmente eu irei implementar isso no novo PHPit, portanto qualquer sugestão para melhoria do código é bem vinda!
Um abraço a todos e fiquem com Deus!
PHP levado a sério