宝塔计划任务提取网站地图sitemap链接,进行百度主动推送
发布时间:2021-11-02 01:12:49 所属栏目:经验 来源:互联网
导读:我之前主动推送网站地图(sitemap.xml)都是利用的推送软件来推送的。网站一多了之后,操作起来很麻烦,要复制每一个网站的api链接进行提交,而且有时候会忘记。所以在网上找到了一个方法来进行自动提交。非常好用。 之前写到过,宝塔计划任务执行PHP文件的
我之前主动推送网站地图(sitemap.xml)都是利用的推送软件来推送的。网站一多了之后,操作起来很麻烦,要复制每一个网站的api链接进行提交,而且有时候会忘记。所以在网上找到了一个方法来进行自动提交。非常好用。
之前写到过,宝塔计划任务执行PHP文件的文章。原文:《宝塔Nginx面板 PHP文件计划任务 配置教程》。
接下来我们就利用这个方法来做一个定时自动推送。
首先在网站根目录建设一个PHP文件(可以放在任何目录,只要在计划任务时候填写正确的路径即可)。
我这里将这个PHP文件命名为,Baidu_Push.php
代码:
<?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']."n";
$i++;
}
$urls=explode("n",$url);
$ch = curl_init();
$options = array(
CURLOPT_URL => $token,
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => implode("n", $urls),
CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
echo $result;
?>
建立好这个文件后,就可以在计划任务中添加任务了。 (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |