何故Hugoを選択したのか?

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

 
label_outline  サイト

背景

イソリアはかつて様々なシステムを利用して、当社ウェブサイトを作製し出版してきました。例えば、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

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

Windows、Mac、Linux等複数のOS向けにインストールが容易なアプリケーションとして提供されているだけなく、Hugoクリエーターのスティーブ フランキア 氏 (@spf13) とヒューゴの作成に携わり沢山の苦労を形にしてくれた関係者の皆様が、極めて早いサイトの作製を可能にしたのである。

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

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

Hugoを使うには

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

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

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

イソリアのウェブサイトのどこでHugoを使っているか

多くのSSGをテストをした時、Hugoの簡単さとパーフォーマンスに驚き、当社の全てのサイトの構築に使用することとしました。現状、英語日本語 のサイトや、ブログeSolia.pro でも使用されています。

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

又、あなたのサイトをHugoで立て直したければ、ご縁量なくイソリアにお任せください

comments powered by Disqus