使用该方法,可以实现每天自动推送网址到百度站长平台,下面小辰将用WP来进行教程说明,此方式适合所有建站系统。
第一步: 在站点根目录新建一个PHP文件,例如:tuisong.php,并复制下方代码添加到tuisong.php文件中。
注意:这里有两处代码链接需要修改。博主已经末尾添加了注释,记得修改为自己的,然后保存。
<?php
header('Content-Type:text/html;charset=utf-8');
/** 只需修改这里面的两个链接 **/
$xml_url = "https://你的域名.com/sitemap.xml"; // 这里修改你站点的xml地图链接
$baidu_api = '百度站长获取到的推送接口链接';// 这里修改为你在百度站长获取到的推送接口
/***只需修改这里面的两个链接**/
$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;
}
?>
注意:多个站点只需参考示例的两个数组进行增加,然后保存即可。
<?php
header('Content-Type:text/html;charset=utf-8');
// ini_set('max_execution_time',600);//脚本超时,秒为单位,自己根据需要定义
/** 多个站点只需在这里面新增数组 **/
$data = array(
array(
'url' => 'https://你的域名.com/sitemap.xml',// 这里修改你站点的xml地图链接
'api' => '百度站长获取到的推送接口链接'// 这里修改为你在百度站长获取到的推送接口
),
array(
'url' => 'https://你的域名.com/sitemap2.xml',// 这里修改你站点的xml地图链接
'api' => '百度站长获取到的推送接口链接'// 这里修改为你在百度站长获取到的推送接口
),
);
/** 多个站点只需在这里面新增数组 **/
foreach($data as $value){
echo '================================<br/>';
echo $value['url'].'<br/>';
post_Baidu($value['url'],$value['api']);
}
function post_Baidu($xml_url, $baidu_api) {
$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.'<br/>';
}
}
?>
第二步: 首先登录宝塔面板后台,然后找到计划任务,添加一个访问URL的任务类型。把我们创建好的文件链接目录复制粘贴到URL地址框中然后我们设置一下执行周期,最后添加任务即可。
评论前必须登录!
注册