php记录搜索引擎来路及关键词的实现代码

发布时间:2020-09-18编辑:脚本学堂
本文介绍下,php实现的可以记录搜索引擎来路与关键词的一段代码,有需要的朋友参考下。

代码:
 

<?php
/**
* 记录搜索引擎来路及关键词
* edit by www.jb200.com
*/
//搜索引擎来路
function keywords($url){
$spier=array('baidu.'=>'百度','google.'=>'谷歌','soso.'=>'搜搜','sogou.'=>'搜狗','www.so.com'=>'360');
$q=array('百度'=>'/wd=([^&]*)/i','谷歌'=>'/q=([^&]*)/i','360'=>'/q=(.*)/i','搜狗'=>'/query=([^&]*)/i','搜搜'=>'/w=([^&]*)/i');
foreach($spier as $k=>$v){
   if(strpos($url,$k)){
      preg_match("{$q[$v]}",$url,$b);
      if($v=='搜搜'||$v=='搜狗'){
 $keywords=iconv('GBK','UTF-8',urldecode($b[1]));
      }else{
 $keywords=urldecode($b[1]);
}

echo "来自{$v}的关键字:".$keywords;
 }
} 
}
$url=$_SERVER['HTTP_REFERER']; //这个放到网站的头部来获取来访的地址的
      
keywords($url);

//记录用户搜索引擎关键词代码
//记录用户通过常见的搜索引擎搜索关键词
$rfr = $_SERVER['HTTP_REFERER'];
//if(!$rfr) $rfr='http://'.$_SERVER['HTTP_HOST'];
if($rfr)
{
 $p=parse_url($rfr);
 parse_str($p['query'],$pa);
 $p['host']=strtolower($p['host']);
 $arr_sd_key=array(
 'baidu.com'=>'word',
 'google.com'=>'q',
 'sina.com.cn'=>'word',
 'sohu.com'=>'word',
 'msn.com'=>'q',
 'bing.com'=>'q',
 '163.com'=>'q',
 'yahoo.com'=>'p'
 );
 $keyword='';
 $sengine=$p['host'];
 foreach($arr_sd_key as $se=>$kwd)
 {
if(strpos($p['host'],$se)!==false)
{
 $keyword=$pa[$kwd];
 $sengine=$se;
 break;
}
 }
 $sql="insert into visit_log(domain,key_word,ct)";
}
?>