【首页】传奇国际娱乐.城_注册传奇国际线上平台官方网登录就送l67!

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

本文技术源自张戈博客(),但他博客使用的是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}

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

未经允许不得转载: 传奇国际.传奇娱乐 » Z-BlogPHP百度自动推送JS优化,规避错误、重复推送问题

为您推荐

评论列表

李明 评论于

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

小萝博客 评论于

这个非常不错

发表评论

访客的头像
Top