是否可以从Google搜索中获取查询参数?
即如果有人用谷歌搜索自行车,网址就会变成:
https://www.google.es/search?q=bicycles......
如果您进入搜索结果并且有人点击您的页面,您将无法看到带有 document.referrer 的查询参数,它只会显示
https://www.google.es/
有没有办法知道访问者在访问您的网站之前搜索了什么?
最佳答案
回复较晚,但我最近一直在做一些研究,并认为最终访问此页面的其他 stackoverflow 访问者可能会对这些信息感兴趣。
2016 年之前,当访问者使用服务器变量通过有机搜索访问您的网站时,您可以使用 PHP 从推荐数据中获取 url 参数:
function get_search_query(){
$query = $_SERVER['QUERY_STRING'];
return (strlen($query)? $query: 'none');
}
或
function get_search_query() {
$query = false;
$referrer = $_SERVER['HTTP_REFERER'];
if (!empty($referrer)) {
//Parse the referrer URL
$parts_url = parse_url($referrer);
// Check if a query string exists
$query = isset($parts_url['query']) ? $parts_url['query'] : '';
return (strlen($query)? $query: false);
}
return $query;
}
但是,Google 和其他搜索引擎从此无法从自然搜索中查看查询参数,并且任何类似上述的脚本都会返回空白查询字符串。无论您是否登录 Google,都是如此。
这很不幸,因为这会删除有值(value)的信息,例如用于查找您网站的关键字。这些信息仍然可以在 Google Search Console 中找到,但这提供了 Google 对您应该看到的内容的解释,并且不像访问者在自然搜索后点击页面时立即获取信息那么直接。
我不知道有什么方法仍然可以获得有机查询参数。
关于javascript - 使用referrer javascript从google获取查询参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42751755/