加截中...

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 处核心配置,否则无法生效:


  • $xml_url:替换为你站点的sitemap.xml链接(需提前生成站点地图,可通过 PbootCMS 插件或第三方工具生成)。
    示例:https://你的域名/sitemap.xml

  • $baidu_api:替换为百度站长平台的 “链接提交” 接口(需先验证站点并获取token)。
    格式:http://data.zz.baidu.com/urls?site=你的域名&token=你的百度token



3. 宝塔计划任务配置


image.png




在线客服
服务热线

服务热线

13648088499

微信咨询
二维码
返回顶部