09月13, 2022

百度收录主动推送

百度通过sitemap.xml收录太慢,手动API提交又太麻烦,于是写了一个定时脚本,读取博客文章链接,定时推送。

由于目前只有两个域名www.imyoyo.xyzimyoyo.xyz,于是便在代码中写死了,没有进行配置。

百度API提交需要传入token,也是固定不变的。这里使用了nunjucks进行链接模板生成。

 /**
     * sync baidu record
     * @return {[type]} [description]
     */
    async baiduAction() {
        if (env === 'development') {
            this.success();
        }
        const site_urls = ['https://www.imyoyo.xyz', 'https://imyoyo.xyz'];
        let postModel = this.model('post');
        let postList = await postModel.getPostSitemapList();
        for (let site_url of site_urls) {
            this.assign('postList', postList);
            this.assign('origin', site_url);
            const urls = await this.render(path.join(this.HOME_VIEW_PATH, 'url.txt'));
            await fetch(`http://data.zz.baidu.com/urls?site=${site_url}&token=xxxxx`, {
                method: 'POST',
                body: urls,
            })
                .then((data) => {
                    return data.json();
                })
                .then((data) => {
                    return data;
                });
        }
        this.success();
    }

本文链接:https://imyoyo.xyz/post/baidu-record-active-push.html

-- EOF --

Comments