自定义下述代码为任意文件名的php文件,配置好您的api,可实现自动读取网站的sitemap.xml地图文件,并像百度默认推送100条链接。
可配合宝塔计划任务进行定时定量推送,各位自行琢磨!
<?php $token='http://data.zz.baidu.com/urls?site=www.xxx&token=xxxxx';//去百度获取 $xml_string = file_get_contents("http://www.xxx.cn/sitemap.xml");//网站xml地图 $xml_string = trim($xml_string); $xml_object = simplexml_load_string($xml_string); $array=[]; $i=0; foreach ($xml_object->url as $key=>$value){ //默认一次提交100,适合用于泛目录的xml地图(因为刷新一次就随机变),普通的网站的会出现重复提交,慎用,非要用就把$i数值改成2000 百度不允许超过2000 if($i===100){ break; } $array['aa']= get_object_vars($value); $url.=$array['aa']['loc']." "; $i++; } $urls=explode(" ",$url); $ch = curl_init(); $options = array( CURLOPT_URL => $token, CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_POSTFIELDS => implode(" ", $urls), CURLOPT_HTTPHEADER => array('Content-Type: text/plain'), ); curl_setopt_array($ch, $options); $result = curl_exec($ch); echo $result; ?>