首页 > 网站建设 > Z-BlogPHP百度自动推送JS优化,规避错误、重复推送问题

Z-BlogPHP百度自动推送JS优化,规避错误、重复推送问题

本文技术源自张戈博客(https://zhangge.net/5100.html),但他博客使用的是WordPress版,Z-BlogPHP部分代码有所不同,本站将其转换为Z-BlogPHP版。

本文适合使用Z-BlogPHP的用户和动手能力强的站长们!

Z-BlogPHP百度自动推送JS优化,规避错误、重复推送问题 网站建设

提出问题

百度近些年推出过多种收录推送工具,比如结构化数据插件、主动推送、自动推送js等等。张戈每一次都会对这些东西进行优化处理,主要是因为这些工具都会出现重复推送的弊病!虽然百度并没有申明重复推送会带来什么副作用。但根据我个人的经验,同一篇文章,如果重复推送,可能会让百度蜘蛛认为你这文章更新频繁,不稳定从而进入收录沙盒短期内不会展示!(来自张戈博客)

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

解决方案

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

1.定义测验百度是否收录的函数,返回值为true和false(如收录则返回true,否则返回false)

2.引入测验百度是否收录的函数,如返回true则不添加推送代码,否则安装推送代码

3.在footer.php模板中载入函数

首先,将“测验百度有无收录的函数”和“引入测验百度是否收录并加载代码的函数” 添加到主题include.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>";
    }
}

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

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

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

评论列表

英文论文写作
英文论文写作  4个月前 回复该评论
这个非常,感谢。
朋友
朋友  5个月前 回复该评论
朋友 交换链接吗
小萝博客
小萝博客  5个月前 回复该评论
这个非常不错
七牛优惠码
七牛优惠码  6个月前 回复该评论
朋友 交换链接吗
李明
李明  6个月前 回复该评论
我的博客经常重复提交,不知这样是否不利SEO
捷闪站长网
捷闪站长网  6个月前 回复该评论
百度可能会认为更新频繁

发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

官方微信公众号
关注捷闪站长网微博
269355849
09:00 - 18:00
客服邮箱: zc@z19zs.com