为了攒点钱让女儿做个富二代(笑),我就没掏钱买服务器,白嫖 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. Proteus 8使用 1新建一个Proteus工程

    新建一个Proteus工程 下一步 创建部分结束,可以看到两部分-->原理图与源代码. 首先按下F7或从“构建”菜单中选择“构建工程” 之后切换到原理图窗口 按下F12或点击窗口最左下角的“运行 ...

  2. ORACLE常用语句:

    ORACLE常用语句: 1.首先,创建(新)用户: create user username identified by password; username:新用户名的用户名 password: 新 ...

  3. 14、Java文件操作stream、File、IO

    1.文件操作涉及到的基本概念 File File类 是文件操作的主要对象中文意义就是 文件 顾名思意 万物皆文件,在计算上看到的所有东西都是文件保存,不管是你的图片.视频.数据库数据等等都是按照基本的 ...

  4. MySQL数据库——数据约束

    1 什么数据约束 对用户操作表的数据进行约束 2 默认值(缺省约束) 作用: 当用户对使用默认值的字段不插入值的时候,就使用默认值. 注意: 1)对默认值字段插入null是可以的 2)对默认值字段可以 ...

  5. C++ 对象的初始化

    目录 默认初始化 默认构造函数(default constructor) 构造函数初始值列表(cosntructor initializer list) 直接初始化和拷贝初始化 拷贝构造函数(copy ...

  6. 2020-06-21:ZK的哪些基础能力构建出了哪些上层应用?

    福哥答案2020-06-21: 福哥口诀法:数负命Ma集配分(使用场景:数据发布订阅.负载均衡.命名服务.Master 选举.集群管理.配置管理.分布式队列和分布式锁) 数据发布订阅:dubbo的rp ...

  7. printf函数和putchar函数

    #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h> #include<stdlib. ...

  8. 高吞吐量消息系统—kafka

    现在基本上大数据的场景中都会有kafka的身影,那么为什么这些场景下要用kafka而不用其他传统的消息队列呢?例如rabbitmq.主要的原因是因为kafka天然的百万级TPS,以及它对接其他大数据组 ...

  9. Python参数解析工具ArgumentParser

    通过命令行运行Python脚本时,可以通过ArgumentParser来高效地接受并解析命令行参数. 流程 新建一个ArgumentParser类对象,然后来添加若干个参数选项,最后通过parse_a ...

  10. JS实例—DOM的增删改

    <!DOCTYPE html><html lang="zh"><head> <meta charset="UTF-8" ...