このブログを作成している世界最速の静的サイトジェネレーターについて解説します。

世界で最も使用されている動的サイトジェネレーター「WordPress」との比較もあります。

静的サイトジェネレーターとは何なのか?

静的サイトジェネレーター。
このブログに来る多くの人は、初めて聞く言葉だと思います。

静的サイトジェネレーターについて理解している人は、この段落を飛ばして構いません。

これが、静的サイトジェネレーターの定義です。

静的サイトジェネレーター(英語名:Static Site Generator、略称:SSG)

静的なウェブサイトを生成するフレームワークです。

WordPressなどの動的サイトジェネレーターとは違い、サーバーがリクエストを受ける毎にウェブサイトを生成しないことが特徴です。

WordPressと同じく、コンテンツマネジメントシステム(CMS)の仲間とも言えます。

静的サイトジェネレーターには執筆時点で約400種類があります。
ここでは、僕が使っている世界最速の静的サイトジェネレーター「Hugo」について解説します。

世界最速の静的サイトジェネレーター

「Hugo(読み:ヒューゴ)」は、僕が使っている世界最速の静的サイトジェネレーターです。
Go言語製のため、他の静的サイトジェネレーターよりも高速で動作することが特徴です。

Hugoの公式サイトに載っているキャッチコピーです。

The World’s fastest framework for building websites.
訳:世界最速のウェブサイトビルドフレームワーク。

Hugoの特徴

Hugoのメリットとデメリットについて説明します。

Hugoは静的サイトジェネレーターのため、静的サイトジェネレーターの特徴と被るところもあります。

メリット1:ビルドが高速

Go言語は並列処理に特化した言語です。
また、中間言語にコンパイルせず、直接マシン語にコンパイルするため、実行時のラグがありません。

Hugoは、この特徴を持つGoで作成されているため、ビルドは高速です。

メリット2:インストールが簡単

Jekyllは、Rubyの実行環境を整えてから、RubyGemでインストールします。
Gatsby.jsやHexoは、Node.jsの実行環境を整えてから、NPMでインストールします。

このように、他の静的サイトジェネレーターは、動作環境を整える必要があります。

しかし、Hugoはこの必要はありません。
ファイル1つをダウンロードするだけですべて終わりです。
なぜなら、ビルド機能もローカルサーバー機能もすべてファイル1つにまとまっているからです。

メリット3:サイトの引っ越しは簡単

静的サイトジェネレーター全般にあてはまることです。

WordPressなどの動的サイトは、データベースを使用します。
そのため、サイトを引っ越すときには、実行環境本体に加えて、データベースの内容も引っ越す作業が必要になります。

一方、静的サイトはデータベースを必要としません。
そのため、サイトの引っ越しは、ファイルをアップロードし直すだけです。

メリット4:セキュリティ性が高い

静的サイトジェネレーター全般にあてはまることです。

静的サイトジェネレーターには、管理画面はありません。
そのため、WordPressなどの動的サイトジェネレーターにありがちな管理画面から不正アクセスされるということはありません。

また、サーバー上にPHPやRubyなどの実行ファイルを置かないため、これらを対象とした攻撃も受けません。

メリット5:サーバーの負荷が低い

静的サイトジェネレーター全般にあてはまることです。

静的サイトは、リクエストを受ける毎に実行ファイルを走らせません。
そのため、リクエストを受けてからレスポンスを返すまでの時間が短いことが特徴です。

また、実行ファイルが存在しないということは、サーバーの負荷になるプログラムが存在しないということでもあります。
そのため、多くのリクエストを受けて低負荷で捌くことができます。

デメリット1:情報が乏しい

静的サイトジェネレーター全般にあてはまることです。
基本的に、静的サイトジェネレーターのユーザー数は少ないです。

ユーザー数が少ない=使っている人が少ない=情報量が少ないということです。
そのため、必要な情報が入手しにくいです。

デメリット2:初心者向けではない

WordPressでは、有名な5分間インストールにより誰もが簡単にセットアップできます。

しかし、Hugoにはその機能がありません。
設定ファイルをメモ帳で開いて、英数字の羅列を相手に設定していく作業が必要になります。

そのため、静的サイトジェネレーターに慣れていない初心者お断り仕様です。

デメリット3:動的な処理はできない

静的サイトジェネレーター全般にあてはまることです。

静的サイトは、サーバーで実行するプログラムが存在しないことが特徴です。

例としては、コメント機能や予約投稿などです。これらはサーバー側で動的な処理が必要になるため、静的サイトでは実現できません。

以上が世界最速の静的サイトジェネレーター「Hugo」の特徴でした。