# 解决百度无法收录搭建在GitHub上的静态博客的问题

# 背景

由于GitHub禁止百度爬虫访问,造成托管在GitHub Pages上的博客无法被百度收录。相关问题可以通过百度站长平台的抓取诊断再现,每次都是403 Forbidden的错误。

# 解决方案

同时将博客同时同步托管到GitHub Pages和coding pages上,解决百度不收录问题。最后发现在国内使用coding pages打开速度特别快,而且还会被百度收录,因此我把coding pages的站点作为主站点,原本在github pages的作为分站点。

步骤:

1、注册coding账号,创建仓库,把代码推送到coding仓库,并开启pages服务。

git 操作部分和使用github的差不多,不了解git操作的可以看我的另一篇文章:Git使用文档

2、我的博客项目使用vuepress搭建的,使用的是如下自动部署脚本,同时将代码推送到github和conding。

#!/usr/bin/env sh

# 确保脚本抛出遇到的错误
set -e

# 生成静态文件
npm run build

# 进入生成的文件夹
cd docs/.vuepress/dist

# github
echo 'b.xugaoyi.com' > CNAME
git init
git add -A
git commit -m 'deploy'
git push -f git@github.com:xugaoyi/blog.git master:gh-pages # 发布到github

# coding
echo 'xugaoyi.com' > CNAME
git add -A
git commit -m 'deploy'
git push -f git@git.dev.tencent.com:xugaoyi/xugaoyi.git master # 发布到coding

cd - # 退回开始所在目录
rm -rf docs/.vuepress/dist
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

因为我想给两个平台上绑定不同的自定义域名,因此我分开创建了CNAME文件。

3、有自定义域名的,也可以在coding pages绑定自定义域名,域名DNS解析中添加CNAME记录指向coding pages的站点地址即可。(没有自定义域名的可忽略,同时把自动部署脚本中的创建CNAME文件的脚本去掉)

最后,使用百度站长的抓取诊断,发现抓取成功啦,再使用百度站长的链接提交功能,把链接提交给百度,过一段时间就可能在百度搜索中搜索到啦。

# 如何知道百度有没有收录?

在百度搜索框中使用site:<链接地址>,如:

site:xugaoyi.com
1
更新于: 12/29/2019, 12:04:38 PM