PbootCMS程序如何实现自动推送网址到百度,实现方法如下:
第一步:在站点根目录新建一个PHP文件,例如:baidu.PHP,并复制下方代码添加到baidu.php文件中。
注意:两处需要修改的地方已经在末尾添加了注释,记得修改为自己的,然后保存。
<?php header('Content-Type:text/HTML;charset=utf-8'); /** 只需修改这里面的两个链接 **/ $xml_url = "https://www.www.bdoc.cn/sitemap.xml"; // 这里修改你站点的xml地图链接 $baidu_api = 'http://data.zz.baidu.com/urls?site=https://www.www.bdoc.cn&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、服务器上如果用的是宝塔面板的话比较容易,登录你的宝塔面板,在计划任务菜单,添加一个任务类型为访问url,执行周期可自己设定。访问url地址填写你这个文件的地址,比如:https://www.996wiki.C++om/baidu.php
2、如果是虚拟主机的话,可在模板文件的底部加入如下代码:<script src="https://www.996wiki.com/baidu.php" language="JavaScript"></script>,这个的话需要有人访问网站中的页面才能触发。