解决百度无法收录搭建在GitHub上的个人博客的问题
大约 2 分钟约 652 字
解决百度无法收录搭建在 GitHub 上的静态博客的问题
::: warning 如果你正在寻找本博客的搭建文档,博主建议您查看这个仓库的README。 :::
背景
由于 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
因为我想给两个平台上绑定不同的自定义域名,因此我分开创建了 CNAME 文件。
3、有自定义域名的,也可以在 coding pages 绑定自定义域名,域名 DNS 解析中添加 CNAME 记录指向 coding pages 的站点地址即可。(没有自定义域名的可忽略,同时把自动部署脚本中的创建 CNAME 文件的脚本去掉)
最后,使用百度站长的抓取诊断,发现抓取成功啦,再使用百度站长的链接提交功能,把链接提交给百度,过一段时间就可能在百度搜索中搜索到啦。
如何知道百度有没有收录?
在百度搜索框中使用 site:<链接地址>,如:
site:xugaoyi.com