【发布时间】:2017-12-18 00:56:00
【问题描述】:
我们有一个分析要求,我们需要在 google 中显示关键字搜索,从而导致用户访问我们的网站。
我们存储每个请求的命中日志并对其进行处理。该命中日志存储请求标头信息,有助于分析使用的设备用户、操作系统、浏览器等详细信息。
为了让用户在 google 上搜索到搜索查询词,我们尝试从请求标头中的 referer 中提取详细信息。但我们意识到,referer 中没有搜索词。
下面是sn-p的代码:
// Parse Query
$parsed_query = urldecode(parse_url($request->header('referer', null);, PHP_URL_QUERY));
if (str_contains($parsed_query, "q=")) {
preg_match('~q=(.*?)&~', $parsed_query, $query);
if (!empty($query)) {
$query = $query[1];
if (filter_var($query, FILTER_VALIDATE_URL)) {
$parsed_path = urldecode(parse_url($referer, PHP_URL_PATH));
if (str_contains($parsed_path, 'url') && $source == 'google') {
$query = '';
}
}
}
}
这不起作用。
很少有人能够做到这一点,例如 Awstats、Wordpress、Nowfloats 等。
那么这些如何能够检索到用户在 google 中搜索的搜索查询词?
注意:我们使用的是 laravel php 框架。
【问题讨论】:
标签: php laravel analytics google-search