833 字
4 分钟
宝塔面板实现百度 API 自动推送教程:加速 SEO 收录的两大方案

百度收录的速度直接影响网站的 SEO 表现。虽然百度取消了前端 JS 自动推送代码,但 API 提交(主动推送) 依然是目前最稳定、最高效的加速收录手段。本文将教你如何利用宝塔面板的“计划任务”实现全自动推送。


准备工作:获取推送准入密钥 (Token)#

在开始之前,你需要:

  1. 登录 百度搜索资源平台
  2. 进入 资源提交 > 普通收录 > API 提交
  3. 复制你的 推送接口地址,它看起来像这样: http://data.zz.baidu.com/urls?site=https://yourdomain.com&token=YOUR_TOKEN

方法一:Sitemap 全自动推送(推荐)#

该方法会自动读取网站的 sitemap.xml,提取所有链接并推送到百度。适合文章量大、更新频繁的网站。

1. 编写推送脚本#

在网站根目录新建 baidu_push.php,填入以下代码。注意:为防止恶意访问,我增加了一个 ?key= 参数校验。

<?php
/**
* 百度 API 自动推送脚本 (Sitemap 版)
*/
header('Content-Type:text/html;charset=utf-8');
// --- 安全校验:请修改下方密钥 ---
$secret_key = "my_secure_key_123";
if ($_GET['key'] !== $secret_key) {
die("未授权访问");
}
// 1. 设置 Sitemap 地址和百度 API 地址
$sitemap_url = "https://你的域名/sitemap.xml";
$api_url = "你的百度推送接口地址";
// 2. 获取并解析 Sitemap
$xml_data = file_get_contents($sitemap_url);
if (!$xml_data) die("无法获取 Sitemap 内容");
$xml = simplexml_load_string($xml_data);
$urls = [];
foreach ($xml->url as $item) {
$urls[] = (string)$item->loc;
}
// 3. 执行 cURL 推送
$ch = curl_init();
$options = array(
CURLOPT_URL => $api_url,
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => implode("\n", $urls),
CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
CURLOPT_TIMEOUT => 30
);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
curl_close($ch);
echo "推送结果:" . $result;
?>

2. 在宝塔面板设置计划任务#

  1. 进入 宝塔面板 > 计划任务
  2. 任务类型:访问 URL。
  3. 任务名称:百度自动推送。
  4. 执行周期:建议设置在每天凌晨(例如 01:30),避开流量高峰。
  5. URL 地址http://你的域名/baidu_push.php?key=my_secure_key_123
  6. 点击 添加任务 并在任务列表点击 执行 测试,查看日志是否显示 {"remain":... , "success":1}

方法二:指定 URL 手动/精确推送#

如果你只想推送特定的新文章链接,可以使用这个精简版方案。

1. 编写推送脚本#

新建 push_specific.php

<?php
$api_url = "你的百度推送接口地址";
// 在此处填写你需要推送的链接,每行一个
$urls = array(
'https://yourdomain.com/article/1.html',
'https://yourdomain.com/article/2.html',
);
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => $api_url,
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => implode("\n", $urls),
CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
));
$result = curl_exec($ch);
echo "提交反馈:" . $result;
?>

2. 使用场景#

此方法适合配合宝塔的计划任务,或者在发布重要大稿后手动在浏览器访问一次该脚本。


常见问题与优化建议#

1. 推送频率建议#

  • 普通站点:每天推送一次 Sitemap 即可。
  • 新闻/高频更新站:可设置每 6 小时推送一次。
  • 注意:百度每天有推送额度限制,请参考站长平台的“今日剩余”数值。

2. 报错处理#

  • Success 为 0:检查接口地址是否正确。
  • Not Same Site:确保推送的域名与在百度站长平台验证的域名完全一致(带不带 www 有区别)。

总结#

通过宝塔面板的计划任务配合 PHP 脚本,我们可以实现完全自动化的百度收录申请。方法一 胜在省心,方法二 胜在精准。

宝塔面板实现百度 API 自动推送教程:加速 SEO 收录的两大方案
https://sw.rscclub.website/posts/baidusitepost/
作者
杨月昌
发布于
2018-09-19
许可协议
CC BY-NC-SA 4.0