Php for get keywords from search engine referrer

I search, found and modified this php script for my purpose. I want to collect keyword from search engine that refer visitor to my website/ post. May be this script not really useful for you, or may be this scrip has some problems or bug, I hope you may help me to correct it, so this simpe php script can be very useful for others who need this script.

Code :

<?
$referrer = $_SERVER['HTTP_REFERER'];
$referrer ='http://www.google.co.id/search?hl=id&client=firefox-a&hs=IKn&rls=org.mozilla%3Aen-US%3Aofficial&channel=s&q=pemahaman+pelajaran+ips+tentang+endogen+dan+eksogen&aq=f&aqi=&aql=&oq=&gs_rfai=';
$referrer_query = parse_url($referrer);
$referrer_host = $referrer_query['host'];
$referrer_query = $referrer_query['query'];
$q = "[q|p|qkw|key|query|searchfor|Keywords|searchterm]"; //Yahoo uses both query strings, I am using switch() for each search engine
preg_match('/'.$q.'=(.*?)&/',$referrer,$keyword);
$keyword = urldecode($keyword[1]);

$potongnya = array('&q=','&p=','key=','query=','searchfor=','Keywords=','searchterm=');
$referrer_query = str_replace($potongnya, "&|pencarian=", $referrer_query);
$arr = explode("&", "$referrer_query");
for($k = 0, $l = count($arr); $k < $l; ++$k)
 {
 $ygdicari = "$arr[$k]";
$findmeyach = "|pencarian=";
$posnyaaa = strpos($ygdicari, $findmeyach);
if ($posnyaaa === false)
 {}
 else
 {
$keyword = str_replace('|pencarian=', "", $ygdicari);
$potongkeynya = array('+','%20');
$keyword = str_replace($potongkeynya, " ", $keyword);
 }
 }
if ($keyword=="")
 {
$potongnya = array('q=','p=');
$referrer_query = str_replace($potongnya, "&|pencarian=", $referrer_query);
$arr = explode("&", "$referrer_query");
for($k = 0, $l = count($arr); $k < $l; ++$k)
 {
 $ygdicari = "$arr[$k]";
$findmeyach = "|pencarian=";
$posnyaaa = strpos($ygdicari, $findmeyach);
if ($posnyaaa === false)
 {}
 else
 {
$keyword = str_replace('|pencarian=', "", $ygdicari);
$potongkeynya = array('+','%20');
$keyword = str_replace($potongkeynya, " ", $keyword);
 }
 }

 }
$keyword = strtolower($keyword);
$urikeyword = array('sex ','porn ','porno',', ','penis ','penis ','http://www.','http://','http','gamble','"',"'");
$keyword = str_replace($urikeyword, "", "$keyword");
echo "$keyword";
exit;
?>

Just copy and paste for your own use.
For test, you can change “$referrer = $_SERVER['HTTP_REFERER'];” with sample :
$referrer = ‘http://www.google.co.id/search?q=obama+truthsquad&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a‘;

and the result for $keyword is obama truthsquad

Hope you like this simple script.

Incoming search terms for the article:

search term referer php, PHP: get keywords from search engine referer url, how to change referrer with php, php get search engine referred keyword, php referrer script test search terms, php referer q= p=, PHP Keyword Referrer, php keyword referer, php how to get search engine referred and keyword from visitor, php get seasrch terms from referer

One Response to this post.

  1. Posted by Charlottenburg on 30.07.10 at 6:48 am

    This script doesn’t work :(

Respond to this post