前言
如何知道是否百度收录
在百度搜索框中使用site:<链接地址>
,如:site:wggz.top
资源平台录入网站
☞ 资源平台
添加网站 ➠ 选择协议头并输入域名 ➠ 选择三个站点属性 ➠ 验证网站 ➠ 添加成功
验证网站有三种验证方式【文件验证,HTML标签验证,CNAME验证】
这里我是vuepress,选择HTML标签验证
在 docs/.vuepress/config.js 中的 head (或者如果有head.js的话)添加如下内容
['meta', {name: 'baidu-site-verification', content: '百度标签中的code'}],
如果是普通博客的话,将百度提供的代码写入到你的网站标签中
<html>
<head>
<meta name="baidu-site-verification" content="百度标签中的code" />
<title>My title</title>
</head>
<body>
page contents
</body>
</html>
验证成功的话,现在应该可以在站点列表看到自己的网站域名了
还没有验证成功的不要着急,如果你的设置正确的话,那么不妨过10分钟再试试
使用脚本向百度推送链接
因为百度的爬虫爬取是很随机的,未必会真正爬取到你的网站的每个页面
因此我们需要手动向百度推送你的网站的url
API主动推送
具体使用方法就是创建一个文件urls.txt,文件内每行一条链接的格式写入提交的多个链接,如图
运行命令
curl -H 'Content-Type:text/plain' --data-binary @urls.txt "http://data.zz.baidu.com/urls?site=https://wggz.top&token=LfBV*********"
这句运行命令由百度站长提供
运行完命令会返回推送结果,不出意外的话就会把urls.txt内的所有链接一次性推送给百度。
这个方法虽然比嵌入网站头部的自动推送更高效,但是也有它的麻烦之处,就是得自己填入链接到urls.txt文件,然后手动运行命令
⭐️ API自动推送
- 创建文件
baiduPush.js
:用于把所有的博客页面链接生成到urls.txt
// baiduPush.js
/**
* 生成百度链接推送文件
*/
const fs = require('fs');
const path = require('path');
const chalk = require('chalk')
const matter = require('gray-matter'); // FrontMatter解析器 https://github.com/jonschlinkert/gray-matter
const readFileList = require('./modules/readFileList');
const urlsRoot = path.join(__dirname, '..', 'urls.txt'); // 百度链接推送文件
const DOMAIN = process.argv.splice(2)[0]; // 获取命令行传入的参数
if (!DOMAIN) {
console.log(chalk.red('请在运行此文件时指定一个你要进行百度推送的域名参数,例:node utils/baiduPush.js https://xugaoyi.com'))
return
}
main();
/**
* 主体函数
*/
function main() {
fs.writeFileSync(urlsRoot, DOMAIN)
const files = readFileList(); // 读取所有md文件数据
files.forEach( file => {
const { data } = matter(fs.readFileSync(file.filePath, 'utf8'));
if (data.permalink) {
const link = `\r\n${DOMAIN}${data.permalink}`;
console.log(link)
fs.appendFileSync(urlsRoot, link);
}
})
}
- 编写推送脚本放入根目录命名为
baiduPush.sh
#!/usr/bin/env sh
# 确保脚本抛出遇到的错误
set -e
# 百度链接推送
curl -H 'Content-Type:text/plain' --data-binary @urls.txt "http://data.zz.baidu.com/urls?site=https://wggz.top&token=LfBVS3r5******"
rm -rf urls.txt # 删除文件
- 修改文件
package.json
,在scripts中新加一个命令
"baiduPush": "node utils/baiduPush.js https://wggz.top && bash baiduPush.sh",
运行npm run baiduPush
就可以生产一个包含博客所有链接的urls.txt文件,并且会推送到百度站长
但是需要手动去不停的敲命令
- ⭐️在GitHub中添加 Actions