【技術ブログ】WordPressではなくHugoを選んだ理由

はじめに
本ブログは Hugo と GitHub Pages を利用して、運営をしています。
技術ブログを始めようと考えたとき、多くの人がまず思い浮かべるのは WordPress ではないでしょうか。実際、私も最初は WordPress を使うことを考えていました。
WordPress は世界中で利用されているCMSであり、情報量も多く、テーマやプラグインも充実しています。そのため、ブログを始めるという観点だけで見れば非常に魅力的な選択肢です。
しかし最終的に私は WordPress ではなく Hugo を選びました。
今回は、その理由について書いてみたいと思います。
学生時代にWordPressを触った経験
実は大学生の頃、一度 WordPress を利用してブログを作ったことがあります。
当時は Web 開発の知識も今ほどなく、とりあえず記事を書ける環境を作りたいという気持ちで構築していました。
WordPress は管理画面から記事を書けるため非常に便利です。
プログラミングの知識が少なくても、
- 記事を書く
- テーマを変更する
- プラグインを導入する
といったことが簡単にできます。
一方で、運用しているうちに気になる点も見えてきました。
固定費をできるだけ抑えたかった
今回ブログを立ち上げる際に最も重視したのは、できるだけお金をかけずに始めることでした。
ブログを始めた時点では、
「何年も続けられるか分からない」
という気持ちがありました。
もちろんレンタルサーバー代はそこまで高額ではありません。
しかし、
- ブログが続くか分からない
- まずは記事を書く習慣を作りたい
- 収益化が目的ではない
という状況で毎月固定費を支払うことには少し抵抗がありました。
そのため、まずは小さく始められる構成を探すことにしました。
Hugoを知った
構成を調べている中で知ったのが Hugo でした。
Hugo は静的サイトジェネレーターと呼ばれるツールです。
WordPress のようにデータベースを持たず、Markdownで書いた記事からHTMLを生成します。
最初は、
「本当にこれだけでブログになるのか?」
と思いました。
しかし実際に触ってみると非常にシンプルでした。
記事を書く。
ビルドする。
生成されたHTMLを公開する。
基本的にはこれだけです。
WordPress に慣れていた自分にとっては新鮮な体験でした。
GitHub Pagesとの相性が良かった
Hugo を選ぶ決め手になったのが GitHub Pages というデプロイサービスです。
GitHub Pages を利用すると、GitHubのリポジトリをそのままWebサイトとして公開できます。
つまり、
Markdownで記事を書く
↓
GitHubへPushする
↓
サイトが公開される
という流れです。
普段から利用している Git や GitHub をそのまま活用できるため、記事自体もコードと同じように管理できます。
Markdownで記事を書きたかった
個人的に大きかったのが Markdown の存在です。
普段から GitHub の README やドキュメントを書く際に Markdown を利用しています。
そのため、
- 装飾のためにマウス操作をする
- 管理画面を開く
- ブラウザ上で編集する
よりも、
エディタで直接記事を書く方が自分には合っていました。
記事そのものを Git 管理できるのも魅力でした。
過去の記事との差分も確認できますし、誤って変更してしまっても簡単に戻せます。
学習にもなる
Hugo を選んだ理由はブログ運営だけではありません。
構築や運用の過程そのものが学習になると考えました。
実際にブログを公開するまでには、
- Git
- GitHub
- DNS
- 独自ドメイン
- GitHub Actions
- Webホスティング
など様々な知識が必要になります。
WordPressでも学べることはありますが、Hugo + GitHub Pages の構成はエンジニアとして学べる要素が多いと感じました。
完璧を目指さず始められる
ブログを始めるときに意識したことがあります。
それは、「まず公開すること」です。デザインにこだわる。プラグインを探す。テーマを比較する。 そのようなことを始めると、いつまでも記事を書き始められません。
Hugo はシンプルだからこそ、
まず公開する
↓
記事を書く
↓
少しずつ改善する
という進め方がしやすいと感じました。
まとめ
最終的に私が Hugo を選んだ理由は以下の通りです。
- 固定費をできるだけ抑えたかった
- GitHub Pages と相性が良かった
- Markdownで記事を書きたかった
- Gitで管理したかった
- ブログ運営自体を学習にしたかった
- まずは小さく始めたかった
WordPress は非常に優れたツールですが、今回の自分の目的には Hugo の方が合っていました。
将来的にブログの規模が大きくなれば、別の構成を検討するかもしれません。
しかし現時点では、「学んだことをアウトプットし、技術資産を積み上げる」という目的において、Hugo と GitHub Pages の組み合わせは非常に満足しています。
私が技術ブログを作るときに判断した基準
| 判断基準 | Hugo | WordPress |
|---|---|---|
| できるだけお金をかけたくない | ◎ | △(サーバー代がかかる) |
| GitHubで記事を管理したい | ◎ | △ |
| Markdownで書きたい | ◎ | ○ |
| AWSやGitの学習にもつなげたい | ◎ | △ |
| とにかく簡単に始めたい | △ | ◎ |
| デザインを簡単に変更したい | ○ | ◎ |
HugoとWordpressのっs比較表
| 項目 | Hugo | WordPress |
|---|---|---|
| 種類 | 静的サイトジェネレーター | CMS(コンテンツ管理システム) |
| 初期構築難易度 | やや高い | 比較的低い |
| 記事作成方法 | Markdown | 管理画面から作成 |
| 学習コスト | やや高い | 低い |
| サーバー | 不要(GitHub Pages利用可) | 基本的に必要 |
| データベース | 不要 | 必要 |
| 運用コスト | ドメイン代のみでも運用可能 | サーバー代+ドメイン代 |
| 表示速度 | 非常に高速 | プラグインや構成に依存 |
| セキュリティ管理 | 比較的容易 | アップデート管理が必要 |
| カスタマイズ性 | 高い(コード編集) | 高い(テーマ・プラグイン) |
| Git管理 | 非常に相性が良い | 工夫が必要 |
| エンジニア向け | ◎ | ○ |
| 非エンジニア向け | △ | ◎ |
| AIとの相性 | Markdownベースで良い | 管理画面への貼り付けが中心 |
| 小規模技術ブログ | ◎ | ○ |
| 企業サイト | ○ | ◎ |