Rennen

Rennen

新的博客,新的开始

239
2023-10-28

为什么要写博客

  • 知识分享和总结:通过撰写博文提高技术水平,同时也希望和阅读者交流讨论;

  • 提高写作水平和语言表达能力;

  • 互帮互助,信息共享:作为搜索引擎的重度使用者,每天通过其他人在互联网上的分享解决了自己的问题。我希望遇到问题的网友也可以通过搜索引擎找到我的博客,进而解决问题;

  • 带一点点玩票性质:就这样一直更新下去,万一哪一天有篇文章访问量破万了我会很开心的。

为什么要搭建独立博客

在此之前,我一直将 Notion 主页直接作为自己的博客,并使用 Notion 提供的二级域名:rennen.notion.site。这样的好处是无需折腾,使用 Notion 自带的流畅好用的编辑器且内容能够实时同步。缺点也显而易见:提供的功能过于简陋,自定义选项太少。

况且 Notion 的 SEO 能力实在不敢让人恭维。我将 Notion 中的几百个页面同时打开了 “搜索引擎索引” 功能,当我 Google 搜索 “site:rennen.notion.site” 后,发现只收录了三个页面。DuckDuckGo 更是一个页面也没收录。

由此可见,第三方博客写作平台通常使用二级域名托管的形式。其缺点是:站点权重被牢牢掌握在平台手中。而站点权重将意味着搜索引擎是否优先展示自己的网站。

若搭建独立博客,站点的源码、域名、服务器都在自己手中;站点一切所有权归自己所有,不受第三方博客平台或社交平台的规则限制、功能限制。

我是如何纠结博客搭建方式的

主流的博客部署方式无非就以下几种:以 WordPressTypechoHalo 为代表的动态博客(或者也许叫 CMS 更合适),和以 HexoHugoNotionNext 为代表的静态博客。

两者各有优势和缺点:动态博客一般都配有后台管理,同时能够更方便的集成各种插件(如评论、访客统计等);而静态博客往往更轻量——由于大部分静态博客往往都是纯前端实现,所以你甚至可以完全依托于 Github PagesVercel 等 Serverless 服务进行部署,而不需要购买任何服务器。

在决定搭建独立博客后,我主要陷入了 NotionNext 和 Halo 这两种部署方式之间的纠结。

NotionNext 这个项目我早有耳闻,如今也变得越来越成熟。该项目依托于 Notion,能够实现将 Notion 数据库的内容自动同步更新到网站上。这个特点对于像我这样极度依赖 Notion 的人来说是一个不小的诱惑。然而,在试用过程中,我发现项目仍然存在各种问题影响了使用体验,例如视频或图标无法加载,切换主题无效等等。同时,配置博客需要修改各种变量,十分繁琐。官方提供的几套默认主题也很难找到一个我特别喜欢的……

最重要的是,使用 NotionNext 搭建博客无法保证数据的独立性和可控性——所有文章中的图片都是从 Notion 加载的。可以预见的是,如果 Notion 的服务被 GFW 封锁,或者 Notion 对图片启用了防盗链,将会导致难以承受的后果。

因此我更倾向于开箱即用的动态博客。况且想到自己白嫖的 Azure 服务器还没有利用上,用来搭建博客再合适不过了。

WordPress 作为一款十分成熟的 CMS 框架,本身几乎能够满足所有人的使用需求。然而,Halo 吸引我的地方在于以下几点:

  • Halo 使用的是 Spring Boot,更主流,我也更熟悉的技术栈。

  • Halo 目前将代码开源在 Github,整个开源社区氛围还可以,如果之后自身技术水平足够,能够学习 Halo 的开源源码甚至贡献自己的代码也说不定。

  • Halo 的发版频率还是可以的,能够享受到新功能不断更新的快感。

  • 我对 Halo 背后的飞致云这家公司的印象还不错,1Panel、JumpServer 也是这家公司的产品。

基于以上这几条理由,使用 Halo 来搭建博客成为了我顺理成章的选择。

大多数人花在自己博客的大部分时间是部署上线和折腾主题,以及各种迁移横跳。

以上是我在一篇博客搭建教程的评论区里看到的这么一条评论,希望搭建好博客后能少折腾,多专注于内容输出。

第一篇博文——博客搭建教程

不少人的博客里第一篇博文往往是博客搭建教程(然后就没有下一篇了),我也不免俗。下面来分享我使用 Azure 提供的学生专属免费额度来搭建博客的过程。

教程篇幅有点长,为了 SEO 考虑决定单独发一篇文章(所以实际上是第二篇博文了)。