笔者只会点最简单的html标签,无论是编程还是比较复杂的js语言一律看不懂。相信大神们看到“api”这三个字母时候就已经有一万种解决方法了,但对我来说没这么简单,都是从零逐渐试出来的,所以才有了这篇文章,希望大佬们勿喷。
    我的网站程序采用的是迅睿CMS,在此感谢迅睿CMS提供的商业免费可用、并且非常强大的网站程序。网站有一个官方出的免费sitemap插件,这个插件最大的好处是可以实时更新sitemap文件,也就是说当你网站更新了、产生新链接之后,无需再去手动更新sitemap,一切都是自动的,这个功能也是自动提交sitemap的一个大的前提。
    下面直接说步骤吧:
    一、配置好网站的sitemap插件,其中涉及到伪静态的部分直接照做就可以了,直到测试sitemap可以实时生成就好了。
    二、去百度资源搜索平台获取api,步骤:登录-顶部搜索服务-普通收录-右侧的API提交,下面有个“推送接口”,栏目下的URL就是我们要的API地址。
    三、去宝塔创建任务:登录宝塔-左侧“计划任务”-具体内容及说明如下:
    任务类型:shell脚本
    任务名称:自己添
    执行周期:根据自己的更新周期,我是每天晚上自动提交
    脚本内容(示例,token部分已隐藏,大家复制自己的就好):

    1. wget -N https://www.668dai.com/sitemap.txt
    2. sleep 5
    3. curl -H 'Content-Type:text/plain' --data-binary @sitemap.txt "http://data.zz.baidu.com/urls?site=https://www.668dai.com&token=MiaoMiWangWangWang"

    内容详解:
    (1)我的网站地址是 https://www.668dai.com/,那么sitemap地址就是 https://www.668dai.com/sitemap.txt。需要注意的是,迅睿CMS的sitemap插件并不是真的在根目录下生成一个“sitemap.txt”的文件,但是访问目录之后的确能下载。
    这一步是把sitemap文件下载至目录下,方便提交。因为每天都要下载提交一次,所以我用“-N”参数来自动覆盖旧文件。

    1. wget -N https://www.668dai.com/sitemap.txt

    (2)间隔5秒,单独拿出来说,是为了防止网络不稳定或者文件过大,导致下载困难的情况,一旦以后文件太大,没等下载完就自动提交上去,那很尴尬,具体时间大家可以根据情况修改。

    1. sleep 5

    (3)直接把百度给出的curl提交实例复制进去(token部分已隐藏,大家复制自己的就好)

    1. curl -H 'Content-Type:text/plain' --data-binary @urls.txt "http://data.zz.baidu.com/urls?site=https://www.668dai.com&token=MiaoMiWangWangW"

    设置好脚本内容之后在“任务列表”右侧点击“执行”跑一下看看,大概6-10秒之后打开日志,如果出现类似于

    1. {"remain":2916,"success":84}----------------------------------------------------------------------------
    2. ★[2022-09-02 23:30:07] Successful

    的字样,就说明成功了,只等sitemap按时自动提交就好;
    如果失败了,比如success数量不对或者直接报错,那么有错误提示就按错误提示检查,没有就按照上面的详解逐步排查。
    最后附一张我自己的设置图便于大家参考:
    image.png