前言:
今天无陌然在其他博客看到搜索引擎来路提醒小窗,个人感觉还是很新颖,如果大家需要可以自己去看看效果,这个只能稍微提醒一下大家,seo是不太适合挂这种弹窗的。
正文:
一、搜索引擎来路提醒小窗代码
<?php function get_referer($referers=''){ // 更改为自己的网址 // 避免来路重复 $localhost = 'www.aidezy.com'; /*获取网站来路*/ $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.js和layui.css
3、之后再把<?php if(get_referer()){?>….<?php }?>整段代码放到footer.php即可
4、最后使用搜索引擎或者友情链接进行测试来路测试。
温馨提示:如果技术不够,推荐使用方法二,直接安装插件。
二、emlog搜索引擎来路交互插件
搜索引擎来路插件优势:
1、增加搜索引擎关键词正则(蹩脚正则处理)
2、修改弹窗策略为来访即弹窗
3、添加cookie控制一个用户只弹一次
4、添加layerjs开关及自动退出时间设置
搜索引擎来路插件安装教程:
1、解压文件上传到content/plugins/目录下(也可以后台直接在线安装)
2、后台插件管理,启动插件(如下图)
3、设置判断搜索引擎来路插件(如下图),提示一下大家一般默认就可以。
好了如果大家还有什么不懂的,可以联系无陌然或下方评论区留言交流。
下载地址:
https://www.lanzoui.com/i6d4wte
资源均来自第三方,谨慎下载,前往第三方网站下载 解压密码:www.xkwo.com 解压密码:www.xkwo.com 解压密码:www.xkwo.com 解压密码:www.xkwo.com 解压密码:www.xkwo.com 解压密码:www.xkwo.com 解压密码:www.xkwo.com 解压密码:www.xkwo.com