2010年代半ばから、静的サイトジェネレータというものが現れ始め、
2020年4月現在、Hugo、GatsbyJS、Nuxt.js、Next.jsなど、多くのフレームワークが開発されています。
今回は、
- 静的なサイト生成とは何か
- WordPress などの動的なサイト生成と異なる点は何か
- 静的サイトのメリット・デメリット
- 静的サイトはどんな場面に向いているか
についてお話します。
※この記事のマンガ内の文字が読みづらい場合は、端末を横に向けて画面を回転させてからご覧いただくと改善される場合がございます。
静的なサイト生成と動的なサイト生成の違い
飲食店でいえば、動的サイトは注文が入ってから料理を作り始める(オーダーメイド)のですが、
静的サイトは料理をすぐに提供できるように事前に準備しておく(レディメイド)のです。
動的サイトで注文を受けたり料理したり料理を提供したりするのはサーバですが、静的サイトではサイトの作者が自分のローカル PC で料理しておくのです。
作者がシェフで、サーバは注文を受けたり準備された料理を提供するだけのウエイター/ウエイトレスです。
(ちなみに、英語で waiter/waitress を に言うと server になるそうです。)
このイメージを持っておくと、メリット・デメリットについても自然と理解できると思います。
静的サイトのメリット・デメリット
メリット:サーバの役割が小さい
先述のように、動的サイトのサーバはリクエストがあってからページを表示するための処理を行いますが、
静的サイトのサーバはあらかじめ用意されたページを表示するだけです。
ページの表示速度は静的サイトのほうが速いのです。
また、動的サイトのサーバと比べてやることが少ないため、無料の契約でも十分なパフォーマンスを発揮します。
動的サイトの場合のように、安定したパフォーマンスを維持するために月数千円もサーバ代を支払う必要がないのです。
経済的にも静的サイトのほうがお得だといえます。
また、動的サイトのサーバの場合、そこにはサイトの管理画面やデータベースが置かれています。
めったに起こらないでしょうが、もしこのサーバが攻撃されてしまえば、さまざまな重大な被害が生じる可能性があります。
一方、静的サイトのサーバにはコンテンツを配信する機能しかありません。
もし攻撃されてもコンテンツを改ざんされたりデータベースを盗まれたりすることがありません(フェイルセーフ)。
セキュリティ面でも静的サイトのほうが安全だといえます。
デメリット:サーバがページ生成に関われない
調味料をふりかけたりするぐらいならできますが、サーバは料理に多くは手出しできません。
お得意様だからとお出しする料理を変えたくても、すでに出来上がった料理しか提供できません。
そういうことがやりたいなら、シェフに頼むしかありません。
接客するのはシェフではないので、お客様によって料理を変えることは簡単ではないのです。
当然、動的サイトのサーバのように自分で接客して料理するよりは大変になります。
ただ、だいたいは大変になるだけであって不可能になるわけではありません。
静的サイトが向いている場面は?
動的サイトが向いているのは、会員登録やログインを必要とするような、ユーザによって異なる情報を表示する必要があるような場面や、
頻繁(数分に1回以上)に更新する必要がある、あるいはコンテンツが非常に多いような場面です。
逆に言うと、それ以外の場面には静的サイトが向いていると言えるでしょう。
「なんでもかんでも WordPress」ではなくて、適切に使い分けることが必要です。
この記事がお役に立てたならうれしいです。
それでは