何故Hugoを選択したのか?

パフォーマンスを重視した静的サイトジェネレータ

著者: Rick Cogley
日付: 1-May-2018

背景

イソリアはかつて様々なシステムを利用して、当社ウェブサイトを作製し出版してきました。例えば、Microsoft FrontPage、IBM ホームページビルダー、Macromedia DreamWeaverやRealmac Software RapidWeaver等、PCのローカルハードディスクにインストールする「ビルダー」タイプのアプリケーション。また、WordPress、Drupal、Typo3などサーバ側で動作するCMSタイプのシステムも多く利用してきました。

しかし、データベースを必要としないサイトであれば、「静的」サイトゲネレーターで十分なはずです。静的ウェブサイトは、HTML、CSS、Javascript ファイルで構成されています。開発者はこれらのサイトを手動で作成し、FTPやSSHでウェブサーバーにアップし公開します。

静的サイトジェネレータの利点

イソリアでは様々なウェブページを管理してますが、特にCMSを必要としていません。データベースを用いてサイトを自動的に発行する必要がなければ、CMSへの投資をする必要がありません。我々は、セキュリティとパーフォマンスが充実した静的サイトを採用しました。

簡単ですが、動的CMSでホストされているものと静的ウェブサイトに関して考慮されるべき事項を次の表に示します。

項目静的動的CMS
パフォーマンス良い中〜高
セキュリティ非常に良い中〜低
インフラストラクチャ単純より複雑
バックアップ容易より難しい
データ駆動化いいえはい
コンテンツ更新ファイル単位ダッシュボード
視覚スタイルどの様なものもテーマによる
アップグレード任意継続的かつ脆弱

一般の静的サイトジェネレータの難しいところ

昨今のオープンソース「静的サイトジェネレータ」(SSG)は、何らかのアプリケーションをMacやPCにインストールして、HTMLテンプレート、CSS、Javascript、メディア ファイルと、マークダウン形式コンテンツを合体させサイトを構成するだけです。SSGの難しいところは、Perl、RubyやPythonのようなプログラミング言語の環境が必要となります。

従ってSSGは、必要な開発環境とその環境に必要なサポートプログラムを管理し続けるオーバーヘッドも負担しなければなりません。面倒なことにOSのアップデートをするだけで環境が破壊される可能性も多いにある。つまり、OSも開発環境も常に最新の状態を保っていなければ、サイトのコンテンツ更新ができない。

もう一つの問題は、サイトの作成にかかる時間です。SSGは一つ一つファイルを見て再構成しなければならないため、時間が必要です。

どうすれば良い? Hugoの登場!

Hugo Logo 画像
Hugo Logo 画像

当社ではとにかく、「簡単に使える」、「シンプルな開発環境」、「早く構築できる」と言う条件を満たすSSGをじっくり探しました。その条件に合う、モダンなGo言語で開発されたHugoと言う優れた静的サイトジェネレータを発見し、選定しました。その上に、簡単にWindows, MacやLinuxにインストールができます。

Hugoクリエーターのスティーブ フランキア 氏 (@spf13) 、リード開発者のビョーン エリック ペーデルセン や、ヒューゴの作成に携わり沢山の苦労を形にしてくれた関係者の皆様が、極めて早いサイトの作製を可能にしたのである。

結果的に、Hugoサイトはミリセカンド単位のファイルから作製される。一般的にはファイル作製の時間よりも、出来上がったファイルをウェブサーバーにアップロードする時間がとても長い!

Hugoは一つの実行可能ファイルで提供されているため、簡単にWindows, MacやLinuxにインストールができます。またその一つのファイルに、必要な物全てが含まれています。

現在、Hugoのオーペンソース コミュニティー がとても良く、開発 もアクティブに進んでいます。是非ご参考ください。

Hugoを使うには

Hugoを使うにはウェブデザイナーが、cssとjavascriptやHugoが特別に理解できるコード(ページのタイトル、キーワードなど)を参照するhtmlの「テンプレート」ファイルを作製します。 コンテンツは、マークダウン形式のテキストファイルで作ります。

サイトをジェネレーションするには、Hugoを実行することによって数ミリセカンド後、Hugoがコンテンツとテンプレートを統合させて、ファイルがサイトフォルダーに出力されて完成します。最後にそのフォルダーをウェブサーバーに転送します。

Hugoという静的コンテンツゲネレーションの、ワークフロー図。
Hugoのフロー図

弊社やお客様サイトにはHugoを使っているか

多くのSSGをテストをした時、Hugoの簡単さとパーフォーマンスに驚き、当社の全てのサイト又はお客様のサイトの構築に使用することとしました。 現状、イソリアの英語日本語 のサイト(二回ずつ)、お客様のサイト (その1, その2)、又はイソリア社長 Rick Cogleyのメインライブサイト。

静的サイトにどうしてもデータが必要な場合にはどうする?

静的ウェブサイトのページに、データの一覧(人、件、組織、住所、注文など)が必要な場合、イソリアのクラウド型データベースPROdbはおすすめです。セキュリティが強くて、且つ、PROdbにて簡単にご自分自信で管理もできます。

eSoliaにお任せを!

お持ちのサイトを立て直しご検討中であれば、弊社のウェブサイトデザインページをご参照にし、ご遠慮なくイソリアにお任せください

イソリア ツール