如何使用API提交百度收录
·
2 min read
最近需要提升百度搜索对于我博客的收录量,因此决定使用百度收录的API提交方法,这里介绍下具体步骤。
访问百度搜索资源平台
点击对应站点域名,查看普通收录 - 资源提交 - API提交。可以看到token信息。注意该token即该站点提交收录信息所需要的token,不能随意泄露给他人。
提交收录
这里以我的hugo博客为例。下面为nodejs实现代码,任何语言均可。
const SITEMAP_FILE = path.join(__dirname, '../public/sitemap.xml'); // sitemap.xml 文件路径
const BAIDU_API_URL = `http://data.zz.baidu.com/urls?site=1991421.cn&token=${process.env.BAIDU_ZZ_TOKEN}`; // 百度提交 API 地址
const MAX_URLS = 5; // 提交的最大 URL 数量
async function submitToBaidu(urls) {
try {
console.log('正在提交URL', urls);
const response = await fetch(BAIDU_API_URL, {
method: 'POST',
headers: {
'Content-Type': 'text/plain'
},
body: urls.join('\n') // 将 URL 列表用换行符拼接
});
if (!response.ok) {
throw new Error(`HTTP 错误: ${response.status}`);
}
const data = await response.json();
console.log('提交成功:', data);
} catch (error) {
console.error('提交失败:', error.message);
}
}
我的用法
目前我是将提交百度收录的代码放在github action,每天repo构建后会生成sitemap.xml文件,脚本提取sitemap中前N条最新的URL提交到百度收录。
常见问题
API提交URL额度
- 额度是每天10条
- 如果单次提交超过额度,直接报错,返回400
400报错
API提交常会遇到400报错,常见原因如下
- 额度不足
- token错误
- site错误,注意site不要携带协议,比如我博客是
site=1991421.cn
写在最后
虽说百度恶心,但为了考虑国内的用户,还是需要提交下的。希望能有点效果吧。 如果你有其他更好的方法,欢迎在评论区留言讨论。