Simonzhangs' blog Simonzhangs' blog
首页
  • 前端文章

    • HTML
    • CSS
    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • JS设计模式总结
  • 《Vue》
  • 《React》
  • 《TypeScript 从零实现 axios》
  • TypeScript
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • apple music
  • extension
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Simonzhangs

前端学习探索者
首页
  • 前端文章

    • HTML
    • CSS
    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • JS设计模式总结
  • 《Vue》
  • 《React》
  • 《TypeScript 从零实现 axios》
  • TypeScript
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • apple music
  • extension
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 技术文档

  • GitHub技巧

  • Nodejs

  • 博客搭建

    • 解决百度无法收录搭建在GitHub上的个人博客的问题
      • 背景
      • 解决方案
        • 1. coding pages
        • 2. vercel 部署
        • 测试是否部署成功
        • 如何知道百度有没有收录?
      • 相关文章
    • 使用Gitalk实现静态博客无后台评论系统
    • GitHub + jsDelivr + TinyPNG+ PicGo 打造稳定快速、高效免费图床
    • vdoing主题效果图
    • freenom免费域名申请及设置域名解析
  • Ajax

  • 计算机网络

  • 计算机编译原理

  • 涨知识

  • 技术
  • 博客搭建
xugaoyi
2019-12-25
目录

解决百度无法收录搭建在GitHub上的个人博客的问题

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

注意

如果你正在寻找本博客的搭建文档,博主建议您查看这个仓库的README (opens new window)。

# 背景

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

# 解决方案

同时将博客同时同步托管到GitHub Pages(国外访问较快)和国内访问较快的站点,coding pages (opens new window)上或者vercel上,解决百度不收录问题。

# 1. coding pages

最后发现在国内使用coding pages打开速度特别快,而且还会被百度收录,可以把coding pages的站点作为主站点,原本在github pages的可以作为分站点。

步骤:

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

git 操作部分和使用github的差不多,不了解git操作的可以看我的另一篇文章:Git使用手册 (opens new window)

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

#!/usr/bin/env sh

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

# 生成静态文件
npm run build

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

# github
echo 'b.songbenblog.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 'songbenblog.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文件的脚本去掉)

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

# 2. vercel 部署

因为有时候Github 和 Coding 无法访问,搭载的服务不稳定,也可以选择vercel作为博客的搭建服务。因为vercel在境内设有服务器,在境内访问速度比Githhub快,同时还有100G的加速服务,会自动申请免费的Let's Encrypt 证书,自动同步Github仓库部署,不需要同时部署两次啦。

步骤:

  1. 登录Vercel官网,选择Github方式登录;
  2. 选择 + New Project后,在Import Git Repository中选择Github pages仓库,FRAMEWORK PRESET 选择 Other,点击 Deploy;
  3. 部署完毕之后,就需要绑定上自己的域名了:在Setting -> Domains,Add 添加自己申请的域名;
  4. 添加后可以看到错误信息Invalid Configuration,因为你光在这里设置域名,还需要在自己申请的域名添加CNAME记录啊,要不然你不是随便填个别人的域名,就把别人的网站内容给改了,这不是太不合理了嘛!!!

所以需要修改直接的域名解析设置,将它指向vercel的服务器:

主机记录 记录类型 记录值
@ A 76.76.21.21
www CNAME cname.vercel-dns.com.

含义分别是:

  1. 直接解析主域名,也就是你申请的域名,指向vercel的IP地址;
  2. 将域名前面加上www.解析,并且将域名指向vercel的域名地址,与其保持相同DNS解析。

这样,通过Github pages部署时添加自定义域名,结合Vercel部署,可以实现国外访问Github pages,国内访问Vercel站点内容,这样百度蜘蛛可以抓取国内站点内容,提高被收录的几率。

提示

部署到Vercel上,Github部署会自动同步到Vercel,此处需要设置关联Github 哪个分支触发Vercel自动部署,在Setting->Git->Production Branch。

# 测试是否部署成功

怎么判断境内访问的是Github page部署的,还是vercel部署的呢?可以通过ping域名来实现:

  1. Window打开Cmd,刷新DNS,ipconfig/flushdns
  2. 分别ping 自己的域名,和github pages域名,如果ping的地址和响应不同,则可以判断部署成功啦!

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

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

site:songbenblog.com
1

# 相关文章

《GitHub Actions 定时运行代码:每天定时百度链接推送》 (opens new window)

编辑 (opens new window)
上次更新: 2022/04/20, 15:57:38
moduleexports和exports区别
使用Gitalk实现静态博客无后台评论系统

← moduleexports和exports区别 使用Gitalk实现静态博客无后台评论系统→

最近更新
01
一些有意思的类比
06-16
02
the-super-tiny-compiler解析
06-06
03
计算机编译原理总概
06-06
更多文章>
Theme by Vdoing | Copyright © 2021-2022
蜀ICP备2021023197号-2
Simonzhans | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
  • 飙升榜
  • 新歌榜
  • 云音乐民谣榜
  • 美国Billboard榜
  • UK排行榜周榜