为了攒点钱让女儿做个富二代(笑),我就没掏钱买服务器,白嫖 GitHub Pages 搭了一个博客平台。不过遗憾的是,GitHub Pages 只能被谷歌收录,无法被百度收录,这就白白损失了一大波流量!


从 2 月份到 9 月份,基本上保持了日更的节奏,接近 200 篇的原创文章,但总的浏览量只有 10 万+(宝宝心里苦)。


谷歌搜索带来的访问量占比 8.47%,百度搜索的贡献可以忽略不计。对于我们国内用户来说,会用谷歌搜索的还是少啊!一想到自己辛辛苦苦写的那么多原创文章无法被百度搜索加持,内心就在滴血。。。。。。

小伙伴们应该知道了,上周,工信部官宣把开源中国的码云 Gitee 作为 GitHub 的备胎。我就想着,为什么不利用码云 Pages 再搭一个博客平台的镜像呢?仍然可以白嫖啊!

码云 Pages 是一个免费的静态网页托管服务,可以用来托管博客、官网等静态网页,关键是还支持 Jekyll、Hugo、Hexo 等优秀的开源博客系统来编译静态资源。

创建码云 Pages 有两种方式,一种是没有 GitHub Pages,另外一种是有 GitHub Pages。(我这种写作手法是参照鲁迅先生的:在我的后园,可以看见墙外有两株树,一株是枣树,还有一株也是枣树)

我本身就已经有 GitHub Pages 了,所以就直接以这个为例。没有 GitHub Pages 的小伙伴可以参考下面这个链接:

https://gitee.com/help/articles/4136#article-header2

我的 GitHub Pages 地址如下所示:

https://github.com/itwanger/itwanger.github.io

感兴趣的小伙伴们可以去 star 一下,里面收录了我所有的文章,以及我精心准备的大厂面试题,还有宝藏版的电子书哦。

第一步,把 GitHub Pages 仓库复制到码云。

登录码云,点击右上角的 + 号,选择「新建仓库」,如下图所示:


出现以下界面后:


点击「导入已有仓库」,在输入框中填写 GitHub Pages 地址:


码云会自动将 GitHub Pages 的一些信息复制过来,比如说仓库名称、路径等,见下图:


点击「创建」,会跳转到以下界面,静静地等待即可(也可以跑出去抽根烟,一根回来后发现还在后台处理,就可以去忙别的事情了)。


随后(或者随后的随后),仓库就复制成功了。


第二步,启用码云 Pages。

在菜单栏找到服务,选择「Gitee Pages」,见下图:


点击「启动」,见下图:


稍等片刻。


这个过程可能会出现一些错误,我就遇到下面这个。


sidebar-popular-repo.html 文件的第 55 行内容如下所示:

{% assign sorted_repos = (site.github.public_repositories | sort: 'stargazers_count') | reverse %}

这行代码的作用是从 GitHub 上获取公开的仓库,并按照标星倒序。


我的 GitHub Pages 是通过 Jekyll 加载的静态资源,里面用到了 Liquid 语法,在 GitHub Pages 环境下是可以正常使用的。但经过三番五次的尝试后发现,码云 Pages 是不支持的,site.github.public_repositories 的值为 null,就报错了。

研究了一会 Liquid 语法后,我对 site.github.public_repositories 进行了判空:

{% if site.github.public_repositories != null %}
{% assign sorted_repos = (site.github.public_repositories | sort: 'stargazers_count') | reverse  %}
{% endif %}

重新提交了 GitHub 仓库后,我在码云的仓库上点了同步按钮。


强制更新完成后,码云会重新部署,继续等待。如果没有其他错误的话,就会出现以下提示。


码云 Pages 服务启用成功了!(好激动,好开心)

可以直接点击码云 Page 生成的网站地址:

http://itwanger.gitee.io/itwanger.github.io

进行访问,可以确认 GitHub Pages 已经成功同步到码云 Pages 了。


第三步,让码云 Pages 的访问地址不带二级目录。

通过上面两个步骤,码云 Pages 就设置成功了,但有一点让人觉得不那么舒服,就是访问地址有些长:

http://itwanger.gitee.io/itwanger.github.io

假如能把 itwanger.github.io 去掉就好了,对不对?能做到吗?

重复第一步中的动作,只不过需要把仓库名称和路径改成你的码云账号。比如说我的码云账号是 itwanger,那仓库名称和路径就填写 itwanger,见下图。


其余操作不变,当码云 Pages 启动成功后,提示信息如下所示:


访问该地址,可以确认码云 Pages 已经 OK 了(默认已经启用了 HTTPS)。


这样的话,自定义域名也不需要了,本身码云 Pages 也不支持自定义域名(苦笑)。码云 Pages 的升级版码云 Pages Pro 是支持自定义域名的:


但因为“业务调整”已经关闭了个人用户购买的入口,看来码云作为 GitHub 的官方备用方案还需要一段时间优化啊!

第四步,让百度收录更快一些。

百度提供了一个提交链接的入口,地址如下:

https://ziyuan.baidu.com/linksubmit/url

填写码云 Pages 的链接:https://itwanger.gitee.io/,并「提交」,见下图:


这样做的好处是,网站可以主动向百度搜索推送数据,缩短爬虫发现网站链接的时间。

另外,进入到百度的站点管理,地址如下:

https://ziyuan.baidu.com/site/index#/

按照对应步骤将 https://itwanger.gitee.io/ 添加进来。


当然了,百度收录需要一段时间,现在去搜“沉默王二”的话,应该是没有码云 Pages 的。不过,让我们拭目以待吧!希望这篇手摸手的教程能够对小伙伴们白嫖码云 Pages 有所帮助,我们下期见。

白嫖码云Pages,两分钟的事,就能搭个百度能搜到的个人博客平台的更多相关文章

  1. 鸿蒙内核源码分析(ELF解析篇) | 你要忘了她姐俩你就不是银 | 百篇博客分析OpenHarmony源码 | v53.02

    百篇博客系列篇.本篇为: v53.xx 鸿蒙内核源码分析(ELF解析篇) | 你要忘了她姐俩你就不是银 | 51.c.h.o 加载运行相关篇为: v51.xx 鸿蒙内核源码分析(ELF格式篇) | 应 ...

  2. Gitee 码云 pages 搭建vue项目记录

    首先要在.gitignore文件去掉/dist,这个文件默认是不上传的,但是执行打包bulid的时候会生成dist文件,而线上访问的是打包之后的dist文件: vue.config.js文件,如下图箭 ...

  3. 【码云周刊第 22 期】GO :互联网时代的 C 语言!

    技术干货 标签:独家译文 1.Go 很好,为什么我们不使用它? 在这篇文章中,我将分享一下为什么我认为它很棒,使用它的一些缺点,以及为什么它还不是我们 Zapier 堆栈中的一部分. 2.从 Scal ...

  4. 使用Hexo搭建个人博客并部署到GitHub或码云上全过程

    一.前言 如上图所示:GitHub有Github Pages,而码云也有码云 Pages 1.Github Pages或Gitee Pages是什么呢? Github Pages或者Gitee Pag ...

  5. 30分钟使用Docsify+Github Pages搭建个人博客

    前言 现如今网上有许多完善的博客平台,如博客园.掘金.思否.知乎等.有人会说为什么现在网上有这么多成熟的博客平台,你还要浪费时间搭建一个自己的博客平台呢?首先我相信每一个程序员都会想要拥有一个属于自己 ...

  6. 2017 码云最火爆开源项目 TOP 50,你都用过哪些

    本文转自:https://share.html5.qq.com/fx/u?r=JdjvzwC 2017 年度码云热门项目排行榜 TOP 50 出炉啦!我们根据所有开源项目在码云的用户关注度.活跃度.访 ...

  7. git,github,gitlab,码云的区别

    git 是版本控制工具. github https://github.com/和gitlab https://about.gitlab.com/都是基于git仓库的web开发流程代码托管平台.两者的区 ...

  8. 使用Github Pages建独立博客

    http://beiyuu.com/github-pages/ Github很好的将代码和社区联系在了一起,于是发生了很多有趣的事情,世界也因为他美好了一点点.Github作为现在最流行的代码仓库,已 ...

  9. 使用Github Pages和Hexo构建博客

    Github Pages可以创建免费的静态站点,支持自带主题.支持自制页面等,并且可以使用Jekyll或者Hexo等静态博客框架进行管理. 独立博客是博客园等博客平台之外的一个良好补充,相比使用虚拟主 ...

随机推荐

  1. java进阶(2)--抽象类

    一.抽象类集刺虎: 1.概念 类与类之前有共同特征,将这些共同特征提取出来,行为抽象类   2.抽象类的数据类型: 引用数据类型   3.语法 [修饰符列表]abstract Class 类型{类体} ...

  2. Linux学习笔记之ubuntu如何在vi中写入中文注释

    点击左边设置system settings,再点击Language Suppotr 点击Remind Me Later 选择ibus 然后关闭,在终端写入ibus-setup,弹出设置框,选择INPU ...

  3. jQuery 发布微博案例

    .box { width: 500px; height: 500px; border: 1px solid #efefef; margin: 0 auto; text-align: center; } ...

  4. 19、Java 序列化

    1.序列化的概念,意义以及使用场景 序列化: 将对象写入到IO流中,也就是把Java对象转换为字节序列的过程 反序列化: 从IO流中恢复对象*,也就是把字节序列恢复为Java对象的过程 意义: 序列化 ...

  5. NodeJs path.resolve的使用

    __dirname __dirname 指向运行代码的文件夹 console.info('__dirname', __dirname) // C:\Leslie\Web_learning\Daily- ...

  6. 洛谷P1036.选数(DFS)

    题目描述 已知 n个整数 x1,x2,-,xn,以及11个整数k(k<n).从n个整数中任选k个整数相加,可分别得到一系列的和.例如当n=4,k=3,4个整数分别为3,7,12,19时,可得全部 ...

  7. Jdk1.6 HTTPS访问问题解决办法

    真是艹蛋的一次经历,jdk6上面去访问别人的https,还好有百度搞定了问题.现在写下随笔,记录下; 首先要自己重写SSLSocketFactory这个类, 下面是自己重写的这个类:TLSSocket ...

  8. kafka-clients 1.0 高阶API消费消息(未完)

    消费消息的请求(按序) org/apache/kafka/common/requests/RequestHeader org/apache/kafka/common/requests/ApiVersi ...

  9. SpringBoot---关于 WebMvcConfigurerAdapter 过时问题及解决方法

    SpringBoot---关于 WebMvcConfigurerAdapter 过时问题及解决方法 环境: IDEA :2020.1 Maven:3.5.6 SpringBoot: 2.3.2 在Sp ...

  10. C#分布式登录——jwt

    一.传统的session登录 在服务器存储一份用户登录的信息,这份登录信息会在响应时传递给浏览器,告诉其保存为cookie,以便下次请求时发送给我们的应用,这样我们的应用就能识别请求来自哪个用户了,这 ...