PbootCMS 结合宝塔面板计划任务自动推送网址到百度
一、功能需求
在运营 PbootCMS 站点时,需自动向百度推送新页面以加快收录。通过宝塔面板计划任务定时执行 PHP 脚本,可实现 “站点更新→自动读取 sitemap.xml→推送新链接到百度” 的自动化流程,无需手动操作。
二、实现步骤
1. 创建自动推送 PHP 文件
在站点根目录(如wwwroot/你的域名/)新建文件baidu.php,并添加以下代码:
<?php
header('Content-Type:text/html;charset=utf-8');
/** 只需修改这里的两个链接 */
$xml_url = "https://www.adminbuy.cn/sitemap.xml"; // 替换为你站点的sitemap.xml链接
$baidu_api = "http://data.zz.baidu.com/urls?site=https://www.adminbuy.cn&token=123456780"; // 替换为百度站长平台的推送接口
// 读取XML地图内容
$xmldata = file_get_contents($xml_url);
$xmlstring = simplexml_load_string($xmldata, 'SimpleXMLElement', LIBXML_NOCDATA);
$value_array = json_decode(json_encode($xmlstring), true);
$url = [];
// 提取XML中的所有链接
for ($i = 0; $i < count($value_array['url']); $i++) {
$url[] = $value_array['url'][$i]['loc'];
}
// 百度推送限制:单次最多推2000条,需分组处理
$url_group = array_chunk($url, 2000);
$count = count($url_group);
for ($i = 0; $i < $count; $i++) {
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => $baidu_api,
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => implode("\n", $url_group[$i]),
CURLOPT_HTTPHEADER => ['Content-Type:text/plain'],
]);
$result = curl_exec($ch);
curl_close($ch);
echo $result; // 输出推送结果(可用于调试)
}
?>2. 替换关键参数(必做)
代码中需修改 2 处核心配置,否则无法生效:
3. 宝塔计划任务配置





