06.百度收录


前言

如何知道是否百度收录
在百度搜索框中使用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自动推送

  1. 创建文件 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);
    }
  })
}
  1. 编写推送脚本放入根目录命名为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 # 删除文件

  1. 修改文件package.json,在scripts中新加一个命令
"baiduPush": "node utils/baiduPush.js https://wggz.top && bash baiduPush.sh",

运行npm run baiduPush就可以生产一个包含博客所有链接的urls.txt文件,并且会推送到百度站长
但是需要手动去不停的敲命令

  1. ⭐️在GitHub中添加 Actions

看这里


个人博客:wggz.top
个人微信公众号:程序员WeiG
个人语雀主页:weig
欢迎关注👏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值