zblogPHP百度自动推送JS优化,规避重复推送问题

投稿   捷闪站长网  2017-08-09 07:29:18  186 人阅读  13 条评论

投放广告联系   诚邀合作伙伴   赞助我们   公告栏   赞助光荣榜

摘要:

本文技术源自张戈博客(https://zhangge.net/5100.html),但他博客使用的是WordPress版,Z-BlogPHP 部分代码有所不同,本站将其转换为 Z-BlogPHP 版。本文适合使用 Z-BlogPHP 的用户和动手能力强的站长们!

zblogPHP百度自动推送JS优化,规避重复推送问题 ZBlog 第1张

提出问题

经常光临百度站长平台的站长们都知道,百度推出了一款自动推送 JS 功能,只要将此 JS 放在网站的 header 或者 footer 处,就能够实现自动推送,相比主动推送,使用更方便简单。但是,有没有用户考虑过,如果已经收录的页面又用自动推送代码推送一遍,效果是不是不好呢?下面本站就提供解决方案,避免更多的用户“中坑”!

解决方案

本人针对 Z-BlogPHP 此问题的分析

  • 定义测验百度是否收录的函数,返回值为 true 和 false(如收录则返回 true,否则返回 false);
  • 引入测验百度是否收录的函数,如返回 true 则不添加推送代码,否则安装推送代码;
  • 在footer.php模板中载入函数。

具体实现步骤

1、将“测验百度有无收录的函数”和“引入测验百度是否收录并加载代码的函数” 添加到主题 include.php 的 <?Php 内:

  1. //测验百度有无收录的函数
  2. function baidu_check_recond($pageurl){
  3.     $s = '';
  4.     $url='http://www.baidu.com/s?wd='.$pageurl;
  5.     $curl=curl_init();
  6.     curl_setopt($curl,CURLOPT_URL,$url);
  7.     curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
  8.     $rs=curl_exec($curl);
  9.     curl_close($curl);
  10.     if(strpos($rs,'提交网址') && strpos($rs,'相关结果')){
  11.         return false; //如果存在提交网址和相关结果字眼,则表明百度未收录,返回false
  12.     } else {
  13.         return true; //否则返回true
  14.     }
  15. }
  16. //引入测验百度是否收录并加载代码的函数
  17. function baidu_get_push($url){
  18.     $check = baidu_check_recond($url);
  19.     if($check==false){
  20.         echo "<script>(function(){
  21.             var bp = document.createElement('script');
  22.             var curProtocol = window.location.protocol.split(':')[0];
  23.             if (curProtocol === 'https') {
  24.                 bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';        
  25.             } else {
  26.                 bp.src = 'http://push.zhanzhang.baidu.com/push.js';
  27.             }
  28.             var s = document.getElementsByTagName('script')[0];
  29.             s.parentNode.insertBefore(bp, s);
  30.             })();
  31.             (function(){
  32.                 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';
  33.                 document.write('<script src=\"' + src + '\" id=\"sozz\"><\/script>');
  34.             })();</script>";
  35.     }
  36. }

2、在 footer.php 模板中载入函数(添加到网站模板的 footer.php 的 </body> 前):

  1. {php}
  2. $url=substr($zbp->host,0,-1) . $zbp->currenturl; //获取当前页url
  3. baidu_get_push($url);
  4. {/php}

好了,已完成,赶紧试试吧,希望能够成功。当然,如果发现代码有错误支持,请及时给予反馈,谢谢!

拓展阅读

文章标签: ,   ,  
原文地址:http://www.z18zs.com/read/240.html
温馨提示:文章内容仅代表作者个人观点,不代表boke112导航赞同其观点和对其真实性负责!
版权声明:本文为投稿文章,感谢 捷闪站长网 的投稿,版权归原作者所有,欢迎分享本文,转载请保留出处!
WordPress/zblogPHP免费响应式博客主题Blogs

 发表评论


  1. 明月登楼
    明月登楼 【王爷】 @回复

    哎,对百度已经基本放弃任何希望了!

  2. 小白蜀黍网赚
    小白蜀黍网赚 【小白】 @回复

    终于看到zblog了,然而说的我并不懂……

    • 懿古今
      懿古今【村长】2017-08-09 22:53  回复

      @小白蜀黍网赚[偷笑] zblog的用户确实比WordPress少,而且zblog很多技术都没有写成教程分享,期待更多人分享zblog技术

  3. 金选网赚博客
    金选网赚博客 【小白】 @回复

    zblog越来越完善了

  4. 宝宝计划客户端
    宝宝计划客户端 【小白】 @回复

    非常实用,避免了重复推送

  5. Koolight
    Koolight 【尚书】 @回复

    厉害!受教了!

  6. 李明
    李明 【状元】 @回复

    我的博客经常重复提交,不知这样是否不利SEO

    • 懿古今
      懿古今【村长】2017-08-09 22:58  回复

      @李明根据张戈博主的经验,就说重复提交会很不好,具体就不懂了

  7. 别彧
    别彧 【书童】 @回复

    如果没有判断推送会怎么样呢?

    • 懿古今
      懿古今【村长】2017-08-09 09:24  回复

      @别彧没有判断就会一直推送,造成重复推送的话,据说百度会有所厌恶,甚至惩罚,具体只有百度知道了

  8. 爱时尚
    爱时尚 【尚书】 @回复

    还会有重复推动的问题?重复推送有什么后果

    • 懿古今
      懿古今【村长】2017-08-09 09:25  回复

      @爱时尚根据张戈博主的经验,同一篇文章,如果重复推送,可能会让百度蜘蛛认为你这文章更新频繁,不稳定从而进入收录沙盒短期内不会展示!