Emlog判断用户来自什么搜索引擎代码插件

发布日期:2018-07-03 21:56:11 作者:冬镜SEO

  • 正文内容
  • 相关推荐
原创

今天冬镜在Young杨小杰博客看到搜索引擎来路提醒小窗,个人感觉还是很新颖,如果大家需要可以自己去看看效果,这个只能稍微提醒一下大家,seo是不太适合挂这种弹窗的。

一、搜索引擎来路提醒小窗代码

<?php
/**
 * 获取网站来路并分析
 * @author Youngxj <blog@youngxj.cn>
 * @time   2018年6月27日
 * @param  string $referers 自定义ua
 * @return strting/bool     输出获取到的来路
 */
function get_referer($referers=''){
	// 更改为自己的网址
	// 避免来路重复
	$localhost = 'www.youngxj.cn';
	/*获取网站来路*/
	$referer = $referers ? $referers : $_SERVER['HTTP_REFERER'];
	if(!$referer){
		return false;
	}

	/*获取网站host*/
	$str = parse_url($referer);
	if (!$str['host']||$str['host']==$localhost) {
		return false;
	}
	$url = $str['host'];

	/*关键词判断类型*/
	if(strpos($url,'baidu') !== false){
		$url_str = '百度搜索';
	}elseif (strpos($url,'sogou') !== false) {
		$url_str = '搜狗搜索';
	}elseif (strpos($url,'sm') !== false) {
		$url_str = '神马搜索';
	}elseif (strpos($url,'bing') !== false) {
		$url_str = '必应搜索';
	}elseif (strpos($url,'google') !== false) {
		$url_str = '谷歌搜索';
	}elseif (strpos($url,'so') !== false) {
		$url_str = '360搜索';
	}elseif (strpos($url,'easou') !== false) {
		$url_str = '宜搜搜索';
	}elseif (strpos($url,'yahoo') !== false) {
		$url_str = '雅虎搜索';
	}else{
		/*如果以上都找不到则使用来路域名并截取字数*/
		if (strlen($url)>5) $url_str=substr($url,0,10) . '...';
	}
	return $url_str;
}
?>
<script src="layui/layui.js"></script>
<link rel="stylesheet" type="text/css" href="layui/css/layui.css">
<?php if(get_referer()){?>
<script>
	var popNotice = function() {
		//获取用户授权状态
		if (Notification.permission == "granted") {  
			var notification = new Notification("欢迎来自<?php echo get_referer();?>的朋友", {  
                //很明显这是正文
                body: '若当前文章未能解决您的问题,您可以先尝试站内搜索,当然也可以给我留言喔(^_^)!',
                //很明显这是图标  
                icon: 'https://ww2.sinaimg.cn/large/005BYqpgly1fsnpxsctd7j305k05kwec.jpg'  
            });  
            //消息被点击事件
            notification.onclick = function() {  
            	/*window.open("<?php echo $_SERVER['HTTP_REFERER'];?>");*/  
            };  
			//消息被关闭事件
			notification.onclose  = function() {
				notification.close();      
			};
			//消息出现错误事件
			notification.onerror  = function() {  
				alert('上帝也不知道发生了什么');  
				notification.close();      
			};
		}      
	};  

	if (window.Notification) {
		if (Notification.permission == "granted") {
			popNotice();  

		}else if( Notification.permission != "denied"){
			Notification.requestPermission(function (permission) {  
				popNotice();  
			});  
		}  
	} else {
		echo_layer();
	}  
	function echo_layer(){
		layui.define(['layer', 'form'], function(exports){
			var layer = layui.layer
			,form = layui.form;

			layer.open({
				title: '<i class="layui-icon layui-icon-face-smile" style="color: #1E9FFF;"></i> 欢迎来自<?php echo get_referer();?>的朋友'
				,content: '<i class="layui-icon layui-icon-group" style="color: green;"></i>若当前文章未能解决您的问题,您可以先尝试站内搜索,当然也可以给冬镜留言喔(^_^)!'
				,offset: 'rb'
				,time:5000
				,anim:2
				,moveOut: true
				,maxmin: true
				,shade: 0
				,btn: ['确认', '关闭']
				,yes: function(index, layero){
					/*window.open("<?php echo $_SERVER['HTTP_REFERER'];?>");*/  
				}
				,btn2: function(index, layero){
				}
				,cancel: function(){ 
				}
			}); 

			exports('index', {}); 
		});    
		
	}
	Notification.requestPermission().then(function(result) {
		if (result === 'denied') {
			echo_layer();
			console.log('许可不获批准。允许重试');
			return;
		}
		if (result === 'default') {
			echo_layer();
			console.log('许可请求被驳回。');
			return;
		}
	});
</script>
<?php }?>

注意:如果桌面浏览器不允许Notification通知权限或者不支持Notification就会使用layerui,当桌面浏览器允许Notification通知权限后就会使用Notification。

代码里面用到的layui.js和layui.css请自行官网下载引入。

Emlog引入这个搜索引擎来路提醒小窗代码步骤如下:

1、先把<?php function get_referer($referers=''){.....}?>整段函数复制到module.php

2、然后去header.php引入layui.jslayui.css

3、之后再把<?php if(get_referer()){?>....<?php }?>整段代码放到footer.php即可

4、最后使用搜索引擎或者友情链接进行测试来路测试。

温馨提示:如果技术不够,推荐使用方法二,直接安装插件。


二、emlog搜索引擎来路交互插件

搜索引擎来路插件优势

1、增加搜索引擎关键词正则(蹩脚正则处理)

2、修改弹窗策略为来访即弹窗

3、添加cookie控制一个用户只弹一次

4、添加layerjs开关及自动退出时间设置

搜索引擎来路插件安装教程

1、解压文件上传到content/plugins/目录下(也可以后台直接在线安装)

2、后台插件管理,启动插件(如下图)

emlog搜索引擎来路插件

3、设置判断搜索引擎来路插件(如下图),提示一下大家一般默认就可以。

Emlog搜索引擎代码插件

4、大家测试用的百度搜索引擎搜索进入到我的网站,右下角自动提示弹窗(如下图)

emlog搜索引擎

好了如果大家还有什么不懂的,可以联系冬镜或下方评论区留言交流。

原创:Young杨小杰博客

管理员设置回复可下载

标签:

标题:Emlog判断用户来自什么搜索引擎代码插件

链接:http://uqseo.com/emlog/166.html

版权:若无特殊标注皆为 冬镜SEO 原创版权,转载请以链接形式注明作者及原始出处

发表评论

电子邮件地址不会被公开。 必填项已用*标注

评论

12条评论
  1. avatar

    杨小杰博客 Lv.1 Chrome 55.0.2883.87 Chrome 55.0.2883.87 Windows 7 x64 Edition Windows 7 x64 Edition 回复

    还是大佬你优秀

    四川省成都市 电信

    1. avatar

      拒绝 Lv.1 Chrome 57.0.2987.133 Chrome 57.0.2987.133 Windows 7 x64 Edition Windows 7 x64 Edition 回复

      必填项已用*标注

      重庆市 电信

      1. avatar

        End°过去式~ Lv.3 Chrome 63.0.3239.26 Chrome 63.0.3239.26 Windows Windows 回复

        防守对方

        湖南省 电信

        1. avatar

          爱上你的霸气 Lv.1 Sogou Explorer Sogou Explorer Windows 8.1 x64 Edition Windows 8.1 x64 Edition 回复

          保持不变成本

          中国 移动

          1. avatar

            ^_^ Lv.1 uBrowser 8.7 uBrowser 8.7 Windows 7 Windows 7 回复

            看下

            广东省东莞市 电信