您的足迹:首页 > 网站技巧 >百度链接自动推送又升级了

百度链接自动推送又升级了

不知道大家有没有注意,百度站长平台这几天又发了公告:百度链接自动推送又升级了,值得注意的是此处升级不再限制站长每天提交的链接数量啦!


现在百度及360站长平台都推出了自己的自动推送JS工具,但就像大家说的这完全还是个半成品,不能判断重复提交,百度官方自己也说了恶意提交垃圾页面或者重复页面的站点将会被惩罚限制提交,直至关闭提交权限,这样我们该怎么做才能避免重复提交呢?

boke112导航分享了wordpress程序解决方法:

只需要将以下代码添加到functions.php文件最后一个?>即可。(这个方法适用于WordPress站点)

/**
* 优化解决百度自动推送和360自动收录JS重复推送问题 By 懿古今
* 文章地址:http://yigujin.wang/843.html
* 百度自动推送的JS代码优化 By 张戈博客
* 文章地址:http://zhangge.net/5100.html
* 转载请保留出处,谢谢合作!
**/
add_action( 'wp_footer', 'bdPushData', 999);
//检查百度是否已收录最新改进版本
if(!function_exists('baidu_check_record')){
  function baidu_check_record($url){
    global $wpdb;
    $post_id = ( null === $post_id ) ? get_the_ID() : $post_id;
    $baidu_record  = get_post_meta($post_id,'baidu_record',true);
    if( $baidu_record != 1){
        $url='http://www.baidu.com/s?wd='.$url;
        $curl=curl_init();
        curl_setopt($curl,CURLOPT_URL,$url);
        curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
        $rs=curl_exec($curl);
        curl_close($curl);
        //如果抓取到的百度结果中不存在【提交网址】这个关键词,则认为该页面已被百度收录
        if(!preg_match_all('/提交网址/u',$rs,$matches) && preg_match_all('/百度为您找到相关结果/u',$rs, $matches)){
            update_post_meta($post_id, 'baidu_record', 1) || add_post_meta($post_id, 'baidu_record', 1, true);
            return 1;
        } else {
            return 0;
        }
    } else {
       return 1;
    }
  }
}
//检查360是否已收录最新改进版本
if(!function_exists('sll_check_record')){
  function sll_check_record($sslurl){
    global $wpdb;
    $post_id = ( null === $post_id ) ? get_the_ID() : $post_id;
    $sll_record  = get_post_meta($post_id,'sll_record',true);
    if( $sll_record != 1){
        $sslurl='http://www.so.com/s?q='.$sslurl;
        $csslurl=curl_init();
        curl_setopt($csslurl,CURLOPT_URL,$sslurl);
        curl_setopt($csslurl,CURLOPT_RETURNTRANSFER,1);
        $rs=curl_exec($csslurl);
        curl_close($csslurl);
        //如果抓取到的360结果中不存在【提交网址】这个关键词,则认为该页面已被360收录
        if(!preg_match_all('/提交网址/u',$rs,$matches)){
            update_post_meta($post_id, 'sll_record', 1) || add_post_meta($post_id, 'sll_record', 1, true);
            return 1;
        } else {
            return 0;
        }
    } else {
       return 1;
    }
  }
}
//输出百度自动推送和360自动收录的js代码
if(!function_exists('bdPushData')){
  function bdPushData() {
    if ($_SERVER['HTTPS'] != "on") {
        $currentUrl = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER["REQUEST_URI"];
    } else {
        $currentUrl = 'https://'.$_SERVER['HTTP_HOST'].$_SERVER["REQUEST_URI"];
    }
    //判断是否是百度未收录页面,并且当前页面是否等于正规url地址(get_premalink)
    if(baidu_check_record(get_permalink()) == 0 && $currentUrl == get_permalink()) {
        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);
            })();</script>";
      }
    //判断是否是360未收录页面,并且当前页面是否等于正规url地址(get_premalink)
    if(sll_check_record(get_permalink()) == 0 && $currentUrl == get_permalink()) {
        echo "<script>
(function(){
   var src = (document.location.protocol == 'http:') ? 'http://js.passport.qihucdn.com/11.0.1.js?9d1e70eca6a305e9ff409dcab8478888':'https://jspassport.ssl.qhimg.com/11.0.1.js?9d1e70eca6a305e9ff409dcab8478888';
   document.write('<script src='' + src + '' id='sozz'><\/script>');
})();
</script>";
      }
   }
}

其中,一定要记得修改代码中的360自动收录的那个秘钥,每个站点都有属于自己的秘钥,具体秘钥可在360站长平台中获取。

emlog程序如何解决链接重复提交呢?

1.找到主题的module.php文件,在文件最底部添加如下代码

<?php //判断内容页是否百度收录及百度自动推送代码
function baidu($url){
$url='http://www.baidu.com/s?wd='.$url;
$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,'没有找到')){return 1;}else{return 0;}}
function logurl($id){$url=Url::log($id);
if(baidu($url)==1){echo "<a rel=\"external nofollow\" title=\"本文已被百度收录\" target=\"_blank\" href=\"http://www.baidu.com/s?wd=$url\">本文已被百度收录!</a>";
}else{echo "<a>本文已提交百度!</a><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);
})();
</script>";}}
?>
2.找到文章页面文件echo_log.php,在合适的位置添加以下代码:
<?php echo logurl($logid);?>

原理都差不多,更多其他程序站点请自行研究解决。

本文作者:王商   文章标题:百度链接自动推送又升级了
本文地址:http://ws234.com/post-369.html     本文已被百度收录!
版权说明:若无注明,本文皆为“王商博客”原创,转载请保留文章出处。

相关推荐

发表评论

路人甲 表情

网友评论(6)

额,又要升级了
Web前端开发 6个月前 (2016-07-27) 回复
说的是百度站长平台提供的那个插件吗?
龙凯的博客 6个月前 (2016-07-21) 回复
不错  刚好需要
大胡子 6个月前 (2016-07-21) 回复
我说呢为什么我的又失效啦
网赚博客 6个月前 (2016-07-21) 回复
做站真的好累。许多功能还要不断升级。
真我风采 6个月前 (2016-07-20) 回复
这样真不错的。
李明 6个月前 (2016-07-20) 回复