使用该方法,可以实现每天自动推送网址到百度站长平台,下面博主将用PbootCMS来进行教程说明。
第一步:
在站点根目录新建一个PHP文件,例如:baidu.php,并复制下方代码添加到baidu.php文件中。
注意:两处需要修改的博主都已经在末尾添加了注释,记得修改为自己的,然后保存。
<?php header('Content-Type:text/html;charset=utf-8'); /** 只需修改这里面的两个链接 **/ $xml_url = "https://www.htmlbk.com/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; } ?>
第二步:
登陆你们的宝塔面板,按照下图进行操作就完事。
问:虚拟主机没有面板怎么办?
答:可以参考本博客PBCMS栏目的自动清理缓存和自动清理日志的思路,稍加判断使用前端来进行每天触发一次,不过似乎如果没人访问触发不了...
利用宝塔面板计划任务执行自动推送网址到百度(多站点版)传送门:https://www.htmlbk.com/php/1094.html
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));
本站部分文章搜集整理于互联网或者网友提供,如有侵权请联系站长
如若转载,请注明出处:https://www.htmlbk.com/php/989.html
温馨提示:该文档最后一次修改时间为2024-07-08 11:13:39,请注意相关的内容是否还可用!