Cloudflare Pages是一个替换 GitHub Pages 的方案,下面我将简单描述我把博客从 Github Pages 迁移到 Cloudflare Pages 的过程。
缘起
在浏览本 Hexo 主题的作者的博客——糖菓·部落 时,发现他的博客没有托管在 Github Pages 上,而是使用了Cloudflare Pages。虽然我有了解,现在国内外有很多静态网页托管平台,但 GitHub Pages 在各方面应该算是一个首选。(尤其对于我这种新手)
与此同时,我之前在 百度站长平台 上提交的博客网址至今一个索引量也没有。虽然我的网站刚刚开始不久,但没有一个索引量,使我开始怀疑是不是哪里出了问题。
于是,我开始在网上搜索“博客的搜索引擎收录”,偶然间发现了这么一篇文章 解决百度爬虫无法爬取 Github Pages 个人博客的问题。
百度爬虫被拒绝访问
然而,2015 年,因为一些不能细说的原因,Github 开始拒绝百度爬虫的访问,直接返回 403。官方给出原因是,百度爬虫爬得太狠,影响了 Github Page 服务的正常使用。这就导致了,但凡在 Github Pages 搭建的个人博客,都无法被百度收录。
文中给出的解决方案有:
- CDN 解决最后一公里的资源分发,但无法完美解决问题,尤其对小流量的个人博客。
- Coding Pages 做镜像站,但访问时会先出现跳转页面,导致百度爬虫无法正常收录。
- 使用 zeit.co 提供的静态资源 hosting 服务,本质上他们提供了 Storage+CDN+DNS 这一套完整服务。
解决问题
受文章 解决百度爬虫无法爬取 Github Pages 个人博客的问题 的启发,我想 Cloudflare Pages 是不是也能解决相同的问题呢。
于是在网上继续搜索,找到以下博文:
我了解到,Cloudflare Pages 项目 现在处于公测阶段 (Public Beta),只需要注册一个 CloudFlare 账户。免费套餐单月可部署 500 次,无限流量,足够了。Cloudflare Pages 依托于成立于 2009 年 7 月的网络服务提供商Cloudflare, Inc.,因此可以提供稳定的静态网页托管服务。
“ Cloudflare 家大业大,并且是专门做网络服务的,做网页托管应该不会太菜吧。 ”
说实话,转移到 Cloudflare Pages 能不能解决百度收录的问题,我也不知道。但单这项服务来说,它也不差呀~
转移部署
不行,我要给我的博客最好的环境,折腾开始!
当然,如果像我一样,已有 GitHub Pages 搭建好的博客,单纯想要把把托管转移到 Cloudflare Pages,这个过程是不难的。无需改动 GitHub 相关的设置,相当于一个锦上添花的过程,这样也方便我们随时回退 GitHub Pages。
下面我们只需在 Pages 注册好账号,点击那个大大的黄色的 Get Started 按钮,按照指引授权 GitHub 权限,选择构建使用的仓库(就是 GitHub Pages 的仓库地址)。其他设置构建的命令,都没有改动按照默认就好,最终就部署完成了。
【 部署完成 】>> https://gone1724-github-io.pages.dev
我实测从上传 Github 完成,到 Cloudflare 部署完成用时在 50s~3min,并且站点 IP 支持 IPV6!
域名解析
我的域名 huanz.top 之前托管在DNSPod。由于 Cloudflare 也提供了 DNS 解析服务,就顺便也试用了一下它的免费的解析套餐。
最近发现如果使用自己的域名,就必须使用 Cloudflare 提供的 DNS 解析服务欸,用就用吧。
部署原理
以下是我的理解:
- 电脑本地
Hexo g -d
后,把生成好的静态文件上传到 GitHub 远程仓库里。 - Cloudflare Pages 服务会自动访问 GitHub 仓库,拉取网页文件。
- Cloudflare 在自己的主机上生成一个网站,最后完成部署。
- 此时,我的博客网站已完全脱离 GitHub/GitHub Pages,在访客访问 huanz.top 时就会解析到 Cloudflare 的主机。
更多细节
更多细节上的疑问,欢迎留言交流~