Amaze UI Logo

徐建新的网络营销学习博客




用javascript来判断搜索引擎(百度,谷歌等)是否为某个关键词

为了进一步的强化用户体验,跟网民搞好关系,本屌丝想实现一个功能,想通过判断用户是用哪个搜索词进入我的网站的,通过这样判断可以直接让用户直接了解想看到的东西。最后一不小心成功了,在这里写一写得瑟一下。

怎么实现呢? 思路如下:

第一步,需要知道从哪个地址来的,这可一用document对象的referrer属性来解决。

用法如下:

1
2
3
<script type="text/javascript">
alert(document.referrer);
</script>

第二步,知道从哪来的了,需要查找这个网址里面是否含有某个关键词,这时候需要用到javascript种的indexOf()方法

javascript的indexOf()方法

1
stringObject.indexOf(searchvalue,fromindex)

参数 描述
searchvalue 必需。需要查找的关键字。
fromindex 可选的整数参数。从哪个位置开始查找。

详细内容可暂时移步:http://www.w3school.com.cn/js/jsref_indexOf.asp
这样的话,就可以达到目的了,先知道从哪个网址来的,然后就判断这个网址有没有这个关键词就行了。
需要注意的是url已经编码了,例如如果从百度搜索“网络营销学习网”进入我的网站的话,我获取到的是这个网址:

http://www.baidu.com/s?wd=%E9%83%91%E5%B7%9Eseo&rsv_bp=0&rsv_spt=3&ie=utf-8&rsv_n=2&rsv_sug3=1&rsv_sug1=1&rsv_sug4=81&inputT=410

注意红字的部分是郑州但是因为不认识中文所以给编码了,那么我们查找的时候也需要编码一下。
例如如果我们想判断是否从网络营销学习网这个关键词来的,我们先把”网络营销学习网”给编码了(编码方法可以百度搜索“url编码”),得到这串东西“%E9%83%91%E5%B7%9Eseo”,然后我们就来判断,是否从郑州seo这个关键词来的,js代码如下:

1
2
3
<script language="javascript">
alert(document.referrer.indexOf("%E9%83%91%E5%B7%9Eseo"))
</script>

运行结果:如果不是从网络营销学习网来的,会弹出“-1”,如果是就返回“网络营销学习网”这个关键词所在的位置。

这样是不是就ok了?

NO。。。。。

假如你先搜索过“网络营销学习网”,再从这个结果上搜索“网络营销学习网”,你看看变态的百度地址成啥样了:

http://www.baidu.com/s?ie=utf-8&bs=%E9%83%91%E5%B7%9Eseo&f=8&rsv_bp=1&rsv_spt=3&wd=%E9%83%91%E5%B7%9E%E7%BD%91%E
7%AB%99%E5%BB%BA%E8%AE%BE&rsv_sug3=7&rsv_sug=0&rsv_sug1=1&rsv_sug4=370&inputT=1737
 

作者  :  xujianxin

一名网络营销专业的讲师,从事网络营销行业7年,有多个行业的网络营销经验,曾做过法兰、鲜花、婚庆、晶体管设备、幼儿园等多个行业的推广以及策划。




About ME

about me

徐建新

我是一名网络营销专业的讲师,从事网络营销行业7年,有多个行业的网络营销经验,曾做过法兰、鲜花、婚庆、晶体管设备、幼儿园等多个行业的推广以及策划。

Contact ME

Article List