百度通过sitemap.xml收录太慢,手动API提交又太麻烦,于是写了一个定时脚本,读取博客文章链接,定时推送。
由于目前只有两个域名www.imyoyo.xyz
和imyoyo.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();
}
Comments