为了在站点根目录新建一个PHP文件并实现百度站点地图的自动推送功能,你可以按照以下步骤操作:

第一步:创建并编辑 baidu.php 文件

  1. 创建 baidu.php 文件: 在站点根目录新建一个名为 baidu.php 的文件。

  2. 编辑 baidu.php 文件: 复制以下代码并粘贴到 baidu.php 文件中,并根据提示修改相关链接。

<?php
header('Content-Type: text/html; charset=utf-8');

/** 只需修改这里面的两个链接 **/
$xml_url = "域名/Sitemap.xml"; // 这里修改你站点的xml地图链接
$baidu_api = 'http://data.zz.baidu.com/urls?site=https://域名&token=123456789'; // 这里修改为你在百度站长获取到的推送接口

// 读取XML数据
$xmldata = file_get_contents($xml_url);
$xmlstring = simplexml_load_string($xmldata, 'SimpleXMLElement', LIBXML_NOCDATA);

// 解析XML数据
$value_array = json_decode(json_encode($xmlstring), true);

// 提取URL列表
$url = [];
foreach ($value_array['url'] as $item) {
    if (isset($item['loc'])) {
        $url[] = $item['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>";
}
?>

修改说明

  1. 修改站点的XML地图链接

    • 将 $xml_url 修改为你的站点地图链接,例如:
      php
       
      $xml_url = "https://yourdomain.com/sitemap.xml";
  2. 修改百度推送接口

    • 将 $baidu_api 修改为你在百度站长平台获取到的推送接口,例如:
      php
       
      $baidu_api = 'http://data.zz.baidu.com/urls?site=https://yourdomain.com&token=your_token';

第二步:上传文件到服务器

  1. 登录宝塔面板

    • 登录你的宝塔面板。
  2. 上传文件

    • 导航到站点的根目录,通常为 /www/wwwroot/yourdomain.com
    • 新建一个名为 baidu.php 的文件,并将上述代码粘贴进去。
    • 保存文件。

宝塔面板操作步骤

  1. 登录宝塔面板

    • 打开浏览器,输入宝塔面板的IP地址和端口号(通常是 http://ip:8888)。
  2. 进入文件管理器

    • 登录后,在左侧菜单栏选择“文件”选项。
  3. 上传文件

    • 导航到站点的根目录,例如 /www/wwwroot/yourdomain.com
    • 点击右键,选择“新建文件”,命名为 baidu.php
    • 右键点击 baidu.php 文件,选择“编辑”,将上述代码粘贴进去。
    • 保存文件。

通过以上步骤,你可以在站点根目录创建并配置好 baidu.php 文件,实现站点地图的自动推送功能。