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

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

Emlog · 重庆SEO ℃

发布时间: 作者:冬镜SEO

文章标签:搜索引擎emlogemlog插件

今天冬镜在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"></i> 欢迎来自<?php echo get_referer();?>的朋友'
				,content: '<i class="layui-icon layui-icon-group"></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、后台插件管理,启动插件(如下图)

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

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

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

原创Young杨小杰博客

  • 冬镜SEO

    分享SEO优化技术及网站优化教程,一个权威的SEO博客.

    点击投稿

  • 本文简介

    文章分类: Emlog

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

    文章链接:http://mip.uqseo.com/emlog/166.html

    原文地址:Emlog判断用户来自什么搜索引擎代码插件

         导航