pbootcms怎么推送发布的文章到百度

时间:2023-04-08
我们在用到pbootcms建站时候,想要把发布的文章推送到百度,这个要怎么操作呢?

推送代码

首先建立一个文件,随便命名,这里我们就命名为push.php,具体代码如下(注意:代码里有两处要修改,一个是sitemap.xml文件地址,另外一个就是百度推送代码,这个是要到百度站长平台申请)
<?php
header('Content-Type:text/html;charset=utf-8');
 
/** 只需修改这里面的两个链接 **/
$xml_url = "https://www.genban.org/sitemap.xml"; // 这里修改你站点的xml地图链接
$baidu_api = 'http://data.zz.baidu.com/urls?site=https://www.genban.org&token=12345';// 这里修改为你在百度站长获取到的推送接口
$xmldata =file_get_contents($xml_url);
$xmlstring = simplexml_load_string($xmldata,'SimpleXMLElement',LIBXML_NOCDATA);
$value_array = json_decode(json_encode($xmlstring),true);
$url = [];
for ($i =0;$i < count($value_array['url']);$i++){
    // echo $value_array['url'][$i]['loc']."<br/>";
    $url[]= $value_array['url'][$i]['loc'];
}
//百度推送接口一次只支持推送2000条数据,所以超过2000条的话需要分组推送
$url_group = array_chunk($url,2000);
$count=count($url_group);
for($i=0;$i<$count;$i++){
    $ch = curl_init();
    $options = array(
       CURLOPT_URL => $baidu_api,
       CURLOPT_POST => true,
       CURLOPT_RETURNTRANSFER => true,
       CURLOPT_POSTFIELDS => implode("
",$url_group[$i]),
       CURLOPT_HTTPHEADER => array('Content-Type:text/plain'),
    );
    curl_setopt_array($ch, $options);
    $result =curl_exec($ch);
    curl_close($ch);
    echo $result;
}
?>

执行推送文件

发布文档后,可以访问:http://网址/push.php 用于提交推送。或宝塔面板添加计划任务,这样的话就可以自动推送了,比如我建立一个每天推送的时间,在晚上23:50推送,如图所示:


上一篇:Pbootcms留言“提交成功”的提示语怎么修改 下一篇:没有了

相关文章