Get Original Referrer URL from Google Search with PHP?

14,474

Solution 1

Google removes the search query for HTTPS connections and logged users so the only way to know the search query is using Google Analytics

When you search from https://www.google.com, websites you visit from our organic search listings will still know that you came from Google, but won't receive information about each individual query.

http://googleblog.blogspot.com.es/2011/10/making-search-more-secure.html http://analytics.blogspot.com.es/2011/10/making-search-more-secure-accessing.html

Solution 2

$ref = $_SERVER['HTTP_REFERER'];
if(strstr($ref, "google.com")){
  //echo $ref;  
  $regex ='/q=(.+?)&/';
  preg_match($regex, $ref, $query);
  echo $query[1];
 }

it doesn't work everytime, especially now with their updates. I get " &esrc=s " reported a lot.

Share:
14,474
Muhammad Shahzad
Author by

Muhammad Shahzad

Since 2010 Learing Computer Science

Updated on June 09, 2022

Comments

  • Muhammad Shahzad
    Muhammad Shahzad about 2 years

    I am using $_SERVER['HTTP_REFERER'];, to getting Referrer URL.

    When I typed in Google search box the q='some text'

    `https://www.google.com.pk/#hl=en&output=search&sclient=psy-ab&q=some text%2Ftestbulkresponse&oq=some text%2Ftestbulkresponse&gs_l=hp.3...15460.24280.1.25007.30.30.0.0.0.0.325.7136.2-27j3.30.0...0.0...1c.1.8.hp.dAvuch3bBg4&psj=1&bav=on.2,or.r_qf.&bvm=bv.44697112,d.ZWU&fp=980e418276b62e8c&biw=1366&bih=595`
    

    but when I get this URL on my website using as $_SERVER['HTTP_REFERER'];

    the q=null like this

    `http://www.google.com.pk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CC0QFjAA&url=http%3A%2F%2Fwww.bulkresponse.com%2Ftestbulkresponse%2Fdashboard.php&ei=r9NbUfv7GcjaOYDdgKgC&usg=AFQjCNF9U_DpJEwupZ0ZLPbjWJ6DQLWZcA&bvm=bv.44697112,d.ZWU`. 
    

    So I am unable to get searched keywords in Google, what should I can do to get searched keywords?