833 字
4 分钟
宝塔面板实现百度 API 自动推送教程:加速 SEO 收录的两大方案
百度收录的速度直接影响网站的 SEO 表现。虽然百度取消了前端 JS 自动推送代码,但 API 提交(主动推送) 依然是目前最稳定、最高效的加速收录手段。本文将教你如何利用宝塔面板的“计划任务”实现全自动推送。
准备工作:获取推送准入密钥 (Token)
在开始之前,你需要:
- 登录 百度搜索资源平台。
- 进入 资源提交 > 普通收录 > API 提交。
- 复制你的 推送接口地址,它看起来像这样:
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. 在宝塔面板设置计划任务
- 进入 宝塔面板 > 计划任务。
- 任务类型:访问 URL。
- 任务名称:百度自动推送。
- 执行周期:建议设置在每天凌晨(例如 01:30),避开流量高峰。
- URL 地址:
http://你的域名/baidu_push.php?key=my_secure_key_123 - 点击 添加任务 并在任务列表点击 执行 测试,查看日志是否显示
{"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/