前提准备
- PHP
- Shell
- 宝塔 Or crontab
- sitemap
- curl
详细操作
获取百度推送api
登陆百度资源搜索平台
点击直达百度资源搜索平台
找到普通收录,复制完整的接口调用链接。
- 编写PHP脚本
<?php
$urls = array();
$i=0;
$file = fopen("/root/cs.txt", "r") or exit("无法打开文件!");
while(!feof($file))
{
$urls[$i]=fgets($file);
++$i;
}
fclose($file);
$api = 'http://data.zz.baidu.com/urls?site=https://fjwr.xyz&token=*****';
$ch = curl_init();
$options = array(
CURLOPT_URL => $api,
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => implode("\n", $urls),
CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
echo $result;
?>
将上一步获取到的接口调用链接替换代码中的http://data.zz.baidu.com/urls?site=https://fjwr.xyz&token=*****
然后将代码复制并保存到/root目录下命名为baidusubmit.php
- 安装sitemap插件
该插件来自呆小萌的blog
自行下载并启用插件。使用插件生成sitemap
- 配置定时任务
确保已经有上述sitemap之后再进行接下来的操作,如果sitemap结构不一致的可以自行修改定时任务中的shell指令。
在宝塔中找到计划任务并按照图中添加
执行周期可以根据自己需求进行修改。同时脚本内容中的sitemap地址需要替换成自己的真实地址。
curl https://fjwr.xyz/sitemap.xml|grep loc|sed "s|<loc>||g"|sed "s|</loc>||g" > /root/cs.txt &&php /root/cs.php
- 验证是否成功推送
手动执行一次之后查看执行日志。
对比日志中的remian值可以看出是否正确。
remian值是代表当天剩余可提交次数