ZblogPHP百度自动推送JS优化,规避重复推送问题
781 人阅读 | 时间:2020年03月22日 21:38
经常光临百度站长平台的站长们都知道,百度推出了一款自动推送 JS 功能,只要将此 JS 放在网站的 header 或者 footer 处,就能够实现自动推送,相比主动推送,使用更方便简单。但是,有没有用户考虑过,如果已经收录的页面又用自动推送代码推送一遍,效果是不是不好呢?下面本站就提供解决方案,避免更多的用户“中坑”!
1、将“测验百度有无收录的函数”和“引入测验百度是否收录并加载代码的函数” 添加到主题 include.php 的 <?Php 内:
PHP
//测验百度有无收录的函数functiON baidu_check_recond($pageurl){ $s = ''; $url='http://www.baidu.com/s?wd='.$pageurl; $curl=curl_init(); curl_setopt($curl,CURLOPT_URL,$url); curl_setopt($curl,CURLOPT_RETURNTRANSFER,1); $rs=curl_exec($curl); curl_close($curl); if(strpos($rs,'提交网址') && strpos($rs,'相关结果')){ return false; //如果存在提交网址和相关结果字眼,则表明百度未收录,返回false } else { return true; //否则返回true }}//引入测验百度是否收录并加载代码的函数function baidu_get_push($url){ $check = baidu_check_recond($url); if($check==false){ echo "<script>(function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(bp, s); })(); (function(){ var src = (document.location.protocol == 'http:') ? 'http://js.passport.qihucdn.com/11.0.1.js?af9e600e6a4ba6d33cd7f1b088210cf7':'https://jspassport.ssl.qhimg.com/11.0.1.js?af9e600e6a4ba6d33cd7f1b088210cf7'; document.write('<script src=\"' + src + '\" id=\"sozz\"><\/script>'); })();</script>"; }}
2、在 footer.php 模板中载入函数(添加到网站模板的 footer.php 的 </body> 前):
PHP
{php}$url=substr($zbp->host,0,-1) . $zbp->currenturl; //获取当前页urlbaidu_get_push($url);{/php}
好了,已完成,赶紧试试吧,希望能够成功。当然,如果发现代码有错误支持,请及时给予反馈,谢谢!
评论专区