【发布时间】:2013-04-05 17:40:04
【问题描述】:
我想知道用户在 google 上搜索了什么来访问我的网站,我的网站是用 php 构建的,我转储了 $_SERVER 变量,但没有找到与搜索关键字相关的任何内容。 是否可以找到用户搜索到我的网站的内容?如果可以,我该怎么做?
【问题讨论】:
我想知道用户在 google 上搜索了什么来访问我的网站,我的网站是用 php 构建的,我转储了 $_SERVER 变量,但没有找到与搜索关键字相关的任何内容。 是否可以找到用户搜索到我的网站的内容?如果可以,我该怎么做?
【问题讨论】:
使用来自 Google 的 SSL 搜索,您无法再从他们的搜索中获取关键字:
这可能是您没有在 SERVER 变量中获取这些变量的原因。
【讨论】:
检查这一点的唯一方法是在 HTTP 标头中查找 Referer 字段,您可能会在其中找到用户来自的 URL。如果是google URL,则必须自己解析。
【讨论】:
以谷歌为例,$_SERVER['HTTP_REFERER'] 返回你谷歌搜索结果的url,比如
https://www.google.com/search?q=stackoverflow&aq=f&oq=stackoverflow&aqs=chrome.0.57j61j60j58j60l2.4259&sourceid=chrome&client=ubuntu&channel=cs&ie=UTF-8
现在您可以使用以下代码段从中提取您的搜索查询
$url = $_SERVER['HTTP_REFERER'];
$start = strpos($url, "search?q=");
$keyword = substr($url, $start + 9, strpos($url, "&", $start));
$keywork 将返回用户输入搜索的确切字符串。它只适用于谷歌,就像你可以为其他搜索引擎构建功能一样。
但您可以使用任何分析工具,例如 Google 分析或任何其他工具。
【讨论】: