站长网 经验 宝塔计划任务提取网站地图sitemap链接,进行百度主动推送

宝塔计划任务提取网站地图sitemap链接,进行百度主动推送

我之前主动推送网站地图(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;

?>

建立好这个文件后,就可以在计划任务中添加任务了。

本文来自网络,不代表站长网立场,转载请注明出处:https://www.tzzz.com.cn/html/chuangye/jingyan/2021/1101/17595.html

作者: dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。
联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部