最近在研究有什么办法可以做到不关闭WordPress 网站备案网站记录一下,以备以后有需要的时候使用,亿破姐的思路是有2个办法,第一个是用JavaScript实现备案不关闭站,早上8点-下午18点工作时间关闭网站,下午18点-第二天早上8点非工作时间正常显示网站。第二个是发个通知让大家添加hosts文件直接指定到服务器地址,然后取消域名解析,这样的话用户还是可以访问,但是这个方法势必让那些没看见通知的用户无法访问,于是想到了2个办法结合来访问,完美解决网站不关闭网站来实现备案。
利用JavaScript实现备案不关站,非工作时间还能正常显示,其中可以根据域名来判断只在首页生效,以及不对搜索蜘蛛抓取做渲染,同时还可以自定义显示的时间周期。
第一种原生 js方式不依赖 jQuery第三方库,两种方法差不多,按需选择
<script> //纯 JavaScript 原生方式 if(window.location.href=='https://www.ypojie.com/'&&!navigator.userAgent.toLowerCase().match(RegExp(/spider|bot/i))){//域名根据自己实际域名修改即可 var Hours = (new Date()).getHours(); if (Hours >= 8 && Hours <= 18){ //早上八点到下午六点显示,其余时间不会显示,可以根据自己需求修改 document.body.insertAdjacentHTML('beforeEnd','<div style="position: fixed;text-align:center;padding-top: 20%;line-height:26px;background: #fff;top: 0;left: 0;right: 0;height: 100%;z-index: 999;font-size:26px;">网站关闭备案中</div>'); } } </script>
第二种就是需要页面有加载 jQuery 的方式,两种方法差不多,按需选择
<script> //jQuery 方式 if(window.location.href=='https://www.ypojie.com/'&&!navigator.userAgent.toLowerCase().match(RegExp(/spider|bot/i))){ var Hours = (new Date()).getHours(); if (Hours >= 8 && Hours <= 18){ //早上八点到下午六点显示,其余时间不会显示,可以根据自己需求修改 $('body').append('<div style="position: fixed;text-align:center;padding-top: 20%;line-height:26px;background: #fff;top: 0;left: 0;right: 0;height: 100%;z-index: 999;font-size:26px;">网站关闭备案中</div>'); } } </script>
使用方法根据自己适合的需求选择一段代码复制到你当前网站首页的底部,或者 WordPress 主题的 footer.php 文件中,以及网站引入的 js 中都可以,但是以上的代码中域名,需要修改成为你的网站的域名即可。
这样我们搞定的早上8点-下午18点工作时间关闭网站,第二天早上8点非工作时间正常显示网站。
那么早上8点-下午18点工作时间我还是需要访问网站怎么办,这时我们就可以利用修改电脑hosts文件来直接指定访问地址,就解决早上8点-下午18点工作时间访问了。
在电脑的C:\Windows\System32\drivers\etc\hosts 里面修改
例如:1.1.1.1 www.ypojie.com