静的サイトジェネレータがブームだと聞いて。
公開日 : 2014-03-18 12:24:48
一発目に引用されている記事(静的サイト生成という「古くて新しい手法」の復活 - モジログ)にて、
静的サイト生成という手法そのものは、CMSの初期から存在していた。ブログツールの走りだった初期「Movable Type」も、静的サイト生成型だった。しかしこの頃は、レンタルサーバが主体で、自前でCMSのサーバを常時起動できない、といった制約が大きかった。マシンパワーも非力で、動的サイトでは一定以上のアクセスをさばけない、といった理由もあったと思う。つまり、この頃の静的サイト生成というのは、主に「制約」から導かれた手法だった面が大きい。
(強調は筆者) 「静的サイト生成型だった」 ... え、だったって、おい。
まとめページの冒頭でも、
一方、静的サイト生成ジェネレータは、記事を書いたあと、さらにHTML生成用のコマンドを実行し、さらにHTMLがすべて生成されるまで待つ必要があります。やや面倒ですが、
再構築(ry ... Teitterでも
なるほどね。Movable Typeで吐き出すHTMLをS3に保存すればmicroインスタンスでも頑張れるかもしれない
— (@egoblock) 2014, 3月 15
なんか、静的サイトジェネレータが普及するのを見てると、たまには Movable Type のことも思い出してやてください という気分になる。
— どぅーあき (@do_aki) 2014, 3月 14
さて、ここまで書いて、自分も過去によく書いていた再構築がどうとかWordPressがどうとかMovable Typeがどうとかいう話しを再燃させるつもりはなくて、静的生成、静的サイト生成ツールについて感じている最近のこと、主にメリットについてちょっと思うところがあって。
ここから本題です。
静的生成は既存システム(動的)との親和性が高い
もう、これにつきる。数年前に大きな投資をして構築した巨大なECシステム、例えばJSPで書かれているとか、そういうシステムの中にコンテンツを投入するための静的サイトジェネレータ。というかファイル生成ツール。ファイルをJSPとして吐き出すとかだけではなくて(もちろん吐き出すこともできる。JSPやPHPじゃなくてもJSONでもCSVでもXMLでもなんでもいいのだ)、JSPから読み込むパーツ生成ツールとしてのシステム。もちろんJSPじゃなくてもPHPでもなんでもいいけど。
そういうツールと組み合わせて使うCMSというお話になったときに、私が顧客先で検討状況等聞いているとPHP製の動的なもの、オープンソースに限らないけれども WeodPress的なるものとの競合って殆どないので。
生成したサイトやデータの寿命が長い
細かい理由はいろいろあるのですが、僕がデータベースをあまり信頼してない、という点が大きいと思います。 プロフィールにも書いてありますが、僕は20代の頃にデータベースのテクニカルサポートエンジニアをしていました。毎日いろんなお客様からデータベースのトラブルの連絡があり、状況や設定などを報告してもらって原因をさぐる、という仕事です。 データベースが遅い、止まる、ロールフォワードが終わらない、エラーが出るが原因が分からない、結果が違う、サーバと接続できなくなった、などなど、さまざまなトラブルがあり、その原因には、プログラミングミス、設定ミス、ハードウェアの障害、通信エラー、OSのバグ、運用ミス、勘違いなどさまざまです。
(強調は筆者)
上記の記述は「寿命」の話しとは違うわけですが、サイトを少なくとも5年運用することを考えた時、MySQLのバージョンがどう、PHPのバージョンがどう(まさに今、年度末で官公庁のCMSシステムリプレースとか)、って本当によくあるわけです。これからもどんどん出てくると思う。PowerCMSですら7年になる。PowerCMSはまだ初期のバージョンも保守しているけど、そもそものデータベースやPHPのバージョン問題とかはどうしようもないし。
止まったら一巻の終わり
なので、リプレースの相談ってのが本当に良くくるのですね。
クラウドストレージとの相性
途中引用した
Movable Typeで吐き出すHTMLをS3に保存すればmicroインスタンスでも頑張れるかもしれない
ってのもまさにそうだけど、AWS(S3)でもAzureのBlobでも、要するにファイル置き場についてはPHPのバージョンもOSもWebサーバーもへったくれもなく、ただファイルが置いてあってHTTPでGETできれば良いのですね。バックアップも考えなくていいってことです。
御社のCMSはSEOに強いですか?
最後にちょっと脱線しますけど、御社のCMSはSEOに強いですか? とか聞かれることがままあるのですが、スタティックなファイル生成をDreamweaverで行おうがテキストエディタで行おうがMovable Typeで行おうがPowerCMSで行おうが結果は変わらんわけです。なので、「ウチのCMSはSEOに強いでっせ」って売り込みをかけるベンダーがいたとしたら、そいつは信用ならないと思いますよ。それでも敢えて言うのなら、SEOに強いCMSってのは、
- SEOに強いサイトを作りやすく、メンテナンスしやすい
ということになると思います。もちろん、Movable Typeが持っている、様々なアーカイブを吐けて内部リンクの調整がしやすいとかそういう話しはともかく、例えばPowerCMSのCSVエクスポート/インポート機能がSEOに役に立つという人もいるし、トラッキングタグの管理機能が役に立つという話しもあるし、運営側が考える通りにサイトの内容を調整したりコンテンツを適切に投入できるCMSが長い目で見て(そもそもSEO自体が長い目でみるべきものですよね?)SEOに強いってことになるのではないかと。
ただ、一つだけ(聞かれた時に)はっきり言うことがあるのですけども。
- スタティックに吐けるので、速い(表示速度)=強い
その程度ですね。