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 原创版权,转载请以链接形式注明作者及原始出处

发表评论

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

评论

13条评论
  1. avatar

    Lv.1 Chrome 70.0.3538.102 Chrome 70.0.3538.102 Windows 7 Windows 7 回复

    來看看唷

    台湾省 中华电信(HiNet)数据中心

    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 回复

            保持不变成本

            中国 移动