php - 获取谷歌搜索查询词

标签 php laravel analytics google-search

我们有一个分析要求,我们需要在谷歌中显示导致用户访问我们网站的关键字搜索。

我们存储每个请求命中日志并对其进行处理。此 hitlog 存储请求 header 信息,有助于分析用户使用的设备、操作系统、浏览器等详细信息。

为了获得用户在谷歌上搜索的搜索查询词,我们尝试从请求 header 中的引用者中提取详细信息。但是我们意识到 referer 中没有搜索词。

以下是代码片段:

// 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 框架。

最佳答案

你应该 check this out :

If a user is logged into a Google product (such as Gmail or any Google Account) when searching, their search is conducted over SSL. As such, the referral data relating to that search is hidden.

Referral data includes some useful information such as the keywords used to perform that search. Google can still see this information, but website owners – and Analytics account holders – can’t access it.

如果你想检索搜索查询词,你应该安装google webmastergoogle analytics到您的网站。

关于php - 获取谷歌搜索查询词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47856593/

相关文章:

php - Laravel 4 - 在其他 Controller 中使用 Controller Action ?

php - Laravel 中一个模型的多个策略

php - 设置 session 域时 Laravel 数据库 session 不工作

database - 复制 PostgreSQL 数据以进行分析

azure - Azure 门户和 App Insights Analytics 中显示的不同用户数据

eclipse - 如何跟踪 Eclipse 更新站点的下载?

php - 不能在常量中使用字符串连接?

javascript - 基于php的光效网站

Laravel 资源 - 如何检查给定值是否存在?

php - mysqli_fetch_assoc 循环位于另一个 mysqli_fetch_assoc 循环内