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

<?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):

<?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!

Esta entrada foi publicada em Dicas e marcada com a tag , , . Adicione o link permanente aos seus favoritos.

7 pessoas já comentaram! Tá esperando o quê?

  1.  
    Kuen disse:

    Boa Jaques!! Sempre quis saber como colocar as tags de pesquisa no site!! Shows!!

    Abração!

    Utilizando Mozilla Firefox Mozilla Firefox 3.0.1 no Windows Windows XP
  2. Utilizando Mozilla Firefox Mozilla Firefox 3.0.1 no Windows Windows XP
  3.  
    xorna disse:

    uhuuu…. o novo blogdoxorna com certeza irá contar com esse recurso =)

    Utilizando Internet Explorer Internet Explorer 7.0 no Windows Windows Vista
  4.  
    Jason disse:

    Boooaaa Rafa… Show d bola esse esquema.. vou começar implementalo em meus projetos.. abração

    Utilizando Google Chrome Google Chrome 0.2.149.30 no Windows Windows XP
  5.  
    Renato disse:

    Como eu faria para tambem pegar o nome e a url do site?

    Exemplo :

    Alem de pegar a palavra pesquisada, queria pegar em separado a url do site (www.google.com.br) e pegar o nome do buscador (exemplo: google, yahoo etc…)

    Descobri esse site (phpit.com.br) hoje. Muito bom. Parabéns pelos artigos.

    Renato

    Utilizando Internet Explorer Internet Explorer 7.0 no Windows Windows XP
  6.  
    anderson disse:

    olha veio o que eu tava casando era quase isso mas eu queria criar uma pagina so que quando alguem emtrase nessa pagina o link anterior que ela tava antes fosse copiado em uma log.txt em meu servidor. tem como?

    Utilizando Mozilla Firefox Mozilla Firefox 3.6.10 no Windows Windows 7
  7.  
    Michel disse:

    Show de bola! Parabéns.

    Utilizando Google Chrome Google Chrome 9.0.597.98 no Windows Windows 7

Deixe um Comentário

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">