今再び注目が集まっている静的サイトジェネレーターという技術について

screenshot-jekyllrb.com 2015-12-10 20-38-24
WEBの知識がない人でもWEBサイトが作れる仕組みのことをCMSといいますが、現在主流となっているWordPressはじめとした多くのCMSは、サイト訪問者がサイトを訪れるたびにページを生成する「動的生成」と呼ばれる手法でページを生成しています。
しかし、今そういったCMSから、あらかじめHTMLでページを事前に生成してそれを表示する、「静的サイト生成」という仕組みを使ったCMSへ移行する流れが海外の開発者を中心に盛んになっています。
その理由などは、こちらの記事が詳しいのですが、私たちでも静的サイト生成という手法について考えてみました。

動的サイト生成CMSの問題点

  • ページをアクセス毎に生成するため、それ相応のサーバーが必要
  • データベースサーバーを使用しなければいけないのが、拡張性という意味でも、データの分散バージョン管理ができないという意味でも色々問題が起きる。
    WordPressで書いた記事がサーバートラブルで消えちゃった、他人に上書きされちゃったみたいな経験をお持ちの方は多いのではないでしょうか。
  • サーバー上で常にCMSを動かさなければいけないので、セキュリティリスクが高い。
    先日もWordPressを対象とした攻撃がありましたね。

要約すると、大抵のサイトは毎回毎回ページを動的に生成する必要なんてないし、そのためにサーバーメンテナンスコストやセキュリティリスクが上がってるのってなんか違うよね、ということでしょうか。

静的サイト生成の利点

  • ページ作成を事前に行うので、サーバーコストが低くなる。
    その気になればDropboxやGoogle Driveなど無料のサービスでホスティング可能。
  • データベースを使わないので、Gitなどで分散バージョン管理が可能。
    記事が先祖帰りしたり誰かに上書きされるリスクがなくなります。
  • ページを生成するプログラムをインターネットからアクセス出来る部分から隔離できるので、セキュリティ的に安全

静的サイト生成の問題点

  • 現状ではWEBサイト制作者以外の人が使えるレベルにない
  • 大規模で更新頻度が高いサイトに向かない

次の記事では、実際に静的サイト生成ツールを使ってサイト作る方法について解説したいと思います。

記事カテゴリー