您现在的位置是:首页 > 建站建站

利用宝塔面板计划任务执行自动推送网址到百度

查看 cc博主 的更多文章cc博主2023-04-15【建站】2576人已围观

  使用该方法,可以实现每天自动推送网址到百度站长平台。

  第一步:

  在站点根目录新建一个PHP文件,例如:baidu.php,并复制下方代码添加到baidu.php文件中。

  注意:两处需要修改的博主都已经在末尾添加了注释,记得修改为自己的,然后保存。

  

<?php
header('Content-Type:text/html;charset=utf-8');
/** 只需修改这里面的两个链接 **/
$xml_url = "http://cc120.top/sitemap.xml"; // 这里修改你站点的xml地图链接
$baidu_api = 'http://data.zz.baidu.com/urls?site=https://www.htmlbk.com&token=123456789';// 这里修改为你在百度站长获取到的推送接口
/***只需修改这里面的两个链接**/
$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("\n",$url_group[$i]),
       CURLOPT_HTTPHEADER => array('Content-Type:text/plain'),
    );
    curl_setopt_array($ch, $options);
    $result =curl_exec($ch);
    curl_close($ch);
    echo $result;
}
?>

  第二步:

  登陆你们的宝塔面板,按照下图进行操作就完事。

利用宝塔面板计划任务执行自动推送网址到百度 第1张

  问:虚拟主机没有面板怎么办?

  答:可以参考本博客PBCMS栏目的自动清理缓存和自动清理日志的思路,稍加判断使用前端来进行每天触发一次,不过似乎如果没人访问触发不了...

  2022年12月7日补充:

  有小伙伴留言或私信说他按教程来了但是报错:file_get_contents(): SSL operation failed with code 1

  出现这种情况可以尝试关闭证书验证,既将上方第9行代码:$xmldata =file_get_contents($xml_url);替换为下方代码即可解决:

// 忽略SSL验证
$stream_opts = [
    "ssl" => [
        "verify_peer"=>false,
        "verify_peer_name"=>false,
    ]
];
$xmldata =file_get_contents($xml_url, false, stream_context_create($stream_opts));


Tags:

文章评论

加入组织
广告

   有免费节点资源,我们会通知你!  加入纸飞机订阅群  

×
天气预报查看日历分享网页电报扫码留言评论Telegram