«

EMLOG优化百度自动推送JS和防止重复推送的方法

时间:2019-9-15 11:05     作者:博客志     分类: emlog教程


对于百度搜索资源平台提供的主动推送功能,相信很多站长朋友都了解过,现在就来为大家分享一个实现百度自动推送JS优化,从而规避错误、重复推送和判断文章是否被收录方法。

一、操作步骤

1、打开模板文件module.php,在合适的位置添加如下代码

';
 }else{
        echo "";
    }
}
 >
< 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 checkbaidu($id){ $url=Url::log($id); if(baidu($url)==1){ echo "百度已收录"; } else { if (ROLE == 'admin' || ROLE == 'writer') { $urls = array($url,); $api = 'http://data.zz.baidu.com/urls site=********&token=********'; $ch = curl_init(); $options = array( CURLOPT_URL => $api,
     CURLOPT_POST => true,
     CURLOPT_RETURNTRANSFER => true,
     CURLOPT_POSTFIELDS => implode("\n", $urls),
     CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),);
 curl_setopt_array($ch, $options);
 $result = curl_exec($ch);
 echo '已自动提交给度娘';
   }
     echo "坐等收录";
  }
 }
?>

2、打开模板文件footer.php,在前写入如下调用代码

3、打开模板文件echo_log.php,在适当的位置写入如下调用代码

二、原理解析

通过PHP代码判断内容页是否百度收录,如果未收录则在博主和或者理员身份访问博客文章时自动向百度提交未收录的文章,已收录则忽略提交,从而避免重复推送,防止占用推送额度,防止因推送频繁造成的负面影响

三、注意事项

1、本教程同样适用于其他开源的PHP网站程序

2、请务必注意$api = 'http://data.zz.baidu.com/urls site=********&token=********';,必须将api后面的地址更换为自己网站的接口调用地址