1. 新建 PHP 文件
    • 在站点根目录新建一个 PHP 文件,例如 baidu.php,并复制以下代码:
      <?php
      header('Content-Type:text/html;charset=utf-8');
      /** 只需修改这里面的两个链接 **/
      $xml_url = "https://你的站点/sitemap.xml"; // 这里修改你站点的 XML 地图链接
      $baidu_api = 'http://data.zz.baidu.com/urls?site=https://你的站点&token=你的token'; // 这里修改为你在百度站长获取到的推送接口
      /** 只需修改这里面的两个链接 **/
      
      $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++) {
        $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;
      }
      ?>
  2. 设置宝塔面板计划任务
    • 登录宝塔面板,按照下图进行操作。