我想知道哪个搜索引擎和什么特定的查询导致用户到我的网站。我已经部分解决了这个问题。我可以确定从哪个搜索引擎的用户已经登录到网站。但是我不知道用了什么查询。
这是我目前为止写的:
$R=$_SERVER['HTTP_REFERER'];
echo "<br />this 1^".$R;
$A=$_SERVER['REMOTE_ADDR'];
$U=$_SERVER['REQUEST_URI'];
$R=urldecode ($R);
echo "this IP - ".$A."<br>";
echo "this - ".$U."<br>";
if (strpos($S, "yandex") != 0) {
preg_match('"text=(.*?)[^&]*"', $S, $arr);
echo "this ".$arr[1];
}
elseif (strpos($S, "google") != 0) {
preg_match('/q=(.*)&/sei', $S, $arr);
echo "this Google ".$arr[1];
}
elseif (strpos($S, "rambler") != 0) {
preg_match('"query=(.*?)[^&]*"', $S, $arr);
echo "this Rambler ".$arr[1];
}
else {
echo "this ".$R;
}
echo "<br />this ^^".$R;
echo "<br />this ^^".$R;
所有的$_SERVER ['HTTP_REFERER']
似乎是这样编码的:
我怎样才能知道是什么搜索问题引导用户访问我的网站?
当搜索来自Google时,您无法获得搜索查询。其他搜索提供商仍将提供关键字数据(目前)。
原因是因为谷歌现在已经转向安全搜索(使用HTTPS加密搜索)。参见再见,关键字数据:谷歌完全转向安全搜索获取更多信息:
在对安全搜索做出最大改变导致"(未提供)"数据稳步上升近两年后,谷歌已经将所有搜索转换为使用HTTPS的加密搜索。这意味着没有更多的关键字数据将传递给网站所有者。
加密的Google搜索不会将关键字数据传递给网站,从而消除了通过关键字搜索跟踪用户的能力。
…
在这一点上,似乎即使你没有登录,使用隐私浏览(或隐身模式)和强制输入,你被重定向到HTTPS版本,从而加密你的搜索,毫无疑问导致关键字数据的完全删除-至少从谷歌搜索访问者。请记住,来自其他搜索引擎的关键字数据——比如必应——仍然会发送关键字数据。
参见如何从谷歌获得推荐搜索查询?