js 搜索引擎关键词获取

需求:
获取用户来源(用户从搜索引擎通过什么关键词进到本网站的)

一、获取来源网址: document.referrer

以“”为例,下同。
在搜索引擎搜索“”,点击目标链接,在目标链接控制台中输入document.referrer,即可获取来源网址

二、相关搜索渠道

1. 百度

1.1 百度pc端
  • 百度搜索引擎搜索时,百度搜索页面的url中,wd后面是关键词


    百度pc端搜索中,wd为关键词部分
  • 点击百度搜索到的网页后,官方把wd后面的关键字隐藏,需要通过eqid调用官方接口,获取到关键词


    wd关键词被隐藏了,需要用到eqid
  • 官方接口网址,收费为0.001一次
1.2 百度移动端
  • 百度移动端搜索时,页面的url中,word后面是关键词


    百度移动端搜索中,word后为关键词
  • pc端切换成移动端这种情况,页面的url,也是word后面是关键词


    pc端切换移动端,百度搜索中,word后为关键词
  • 点击百度搜索到的目标页面后,控制台打印来源网址,也是发现官方把wd关键字隐藏了,需要通过eqid调用官方接口,获取关键词
1.3 百度搜索引擎总结
  • 不同点:
    • pc端: wd后为关键词
    • 移动端:word后为关键词
  • 共同点
    • 进入目标页面后,来源网址中的关键词都是wd,都是通过eqid,需要调用官方接口,获取关键词

2. 搜狗

2.1 搜狗pc端
  • 搜狗pc端搜索时,页面的url中,query后面是关键词


    搜狗pc端搜索中,query后为关键词
  • 进入到目标页面后,查看来源网址,发现没有可以截取的关键词


    无可操作空间
  • 之前2020.7月的时候,有测试过的,来源网址中是放在query后面的,可直接获取的
2.2 搜狗移动端
  • 搜狗移动端搜索时,页面的url中,发现有两个字段是跟关键词有关的 htprequerykeyword
    htprequery:上一个搜索的关键词
    keyword:当前搜索的关键词
    搜狗移动端搜索中,keyword后为关键词
  • 在目标页面中,查看来源网址,发现是可以通过keyword来获取的关键词


    控制台打印是省略的,下载下来打开来看,keyword后为关键词
  • 获取来源网址中 关键词的代码
function getQueryString(name,url) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
    var r = url.match(reg);
    if (r != null) {
        return decodeURI(r[2]);
    } else {
        return null;
    }
}
​
var queryUrl = document.referrer
if(queryUrl.split('/')[2] == "m.sogou.com"){
    var keyword = getQueryString("keyword",queryUrl.split('?')[1])
}
  • 注意:在搜狗搜索页面第一次搜索,页面url中是不包含关键词的字段的,搜索两次及以上,才会出现两个字段跟关键词有关的 htprequerykeyword
2.3 搜狗搜索引擎总结
  • pc端: query后为关键词,来源网址中不包含关键词
  • 移动端:keyword后为关键词,来源网址通过keyword获取关键词

3. 360搜索

3.1 360搜索pc端
  • 360搜索pc端搜索时,页面的url中,q后面是关键词


    360搜索pc端,q后为关键词
  • 进入目标网址后,查看来源网站,发现只有m这个字段,无可操作空间


    只有m字段,没有关键词
  • 之前2020.7月的时候,有测试过的,来源网址中是放在q后面的,可直接获取的
3.2 360搜索移动端
  • 360搜索移动端搜索时,页面的url中,q后面是关键词


    360搜索移动端,q后为关键词
  • 进入目标网址后,查看来源网址,q后为关键词


    360搜索移动端,来源网址中,q后为关键词
3.3 360搜索引擎总结
  • pc端: q后为关键词,来源网址中不包含关键词
  • 移动端:q后为关键词,来源网址通过q获取关键词

4. 神马搜索引擎(只有移动端)

  • 搜索时,页面的url中,q后面是关键词


    神马搜索中,q后为关键词
  • 进入目标网址后,查看来源网址,q后面是关键词


    神马搜索中,目标网址中,q后为关键词

5. 谷歌

  • 问题:无法通过document.referrer来获取任何关键词
  • 解决方法:(花钱)
    • 通过Awords关联GA
搜索关键字的获取
谷歌分析实战指南

三、参考文章

搜索关键字的获取
谷歌分析实战指南
Google Analytics访问来源整理

你可能感兴趣的:(js 搜索引擎关键词获取)