時々WordPressを使った方がいいのか質問されます。 実際「WordPressは誰にでも簡単にWEBサイトを製作できる」と言いきれそうなくらいに導入の難易度は低く、僕もWordPressからWEBの世界に入ったクチなので、WordPressは良いツールだと今でも思っています。
ただ、どんなものにもメリットがあればデメリットもあります。 このブログはGatsbyJSという静的サイトジェネレーターを使用して作られていますが、利用ツールを新しくしたことにはいくつか理由がありました。
動的サイトと静的サイト
ユーザーからのリクエスト(アクセス)の都度、必要なページがデータベースを通して生成される仕組みのサイトを動的サイトと言います。 WordPresがそうです。
逆に静的サイトとは、事前に生成されたHTMLにアクセスするタイプのサイトになります。 したがって、何度アクセスをしようとも表示される内容は変わりません。 初期のWEBページの多くはほとんどが静的なサイトでした。
そして今回の静的サイトジェネレータですが、これまではモダンなWEBページというとWordPressのようなCMS(コンテンツ管理システム)ツールを利用するのが一般的だったんですが、ここに来て静的サイトジェネレータという選択肢が登場し、人気が出てきています。
このページは静的サイトそのものについて説明するページではないので、とりあえず静的サイトジェネレータとはモダンなページを静的なサイトとして作ることができるもの程度に捉えてもらえたらいいと思います。
静的サイトジェネレータにはデータベースが存在しない
WordPressではすべてのデータ(画像や記事など)がWEBサーバー上のデータベースによって管理されています。 そしてアクセスの都度、必要なページを生成しています。 (厳密にはキャッシュによってある程度抑えらています。)
これはサイトが常にプログラムを実行できる環境で動作していることを表しているため、しばしばハッカーに狙われてしまうんですね。 この中には、データベースの改ざんによるページの書き換えもあれば、特殊なプログラムを埋め込むといった悪質なものまであります。
しかし、これが静的サイトジェネレータによって作られたサイトになると、データベースが存在せず、その手のプログラムも実行不可能な環境になっていることから、そういったセキュリティリスクから解放されるのです。
僕も以前まではWordPress用のセキュリティソフトにお金を出していましたが、そういった余計な費用や心配が必要なくなる訳です。 ある程度WordPressを使ってきた人にとっては、これはとても大きなメリットに映るはずです。
静的サイトジェネレータは運用が楽チン!
セキュリティリスクがない静的サイトジェネレータにおいては、静的サイトジェネレータ側の最新の機能を使いたい場合を除けば、アップデートを実行する必要性は特にありません。 したがって、実質的にはノーメンテで稼働させることも可能です。
WordPressはプラグインによるデメリットが多い
WordPressの良いところはプラグインによる自由さだと思うんですが、実はこのプラグインが厄介の種だったりします。
プラグイン自体がWordPressの度重なるアップデートについていけずバグってしまっていたり、その結果セキュリティ上の欠陥を内包してしまったりして、知らないうちにサイトのリスクを高めてしまうことがあります。 そのため定期的なプラグインの見直しがどうしても避けられず、これが地味に面倒くさいんですよ。
その上、プラグインによる拡張のしすぎはサイトの低速化を招くなどという構造的なデメリットもあるので、最近ではプラグイン離れみたいなものまで起きてたりしますよね。
プラグイン交換はなぜ面倒なのか?
プラグイン自体の導入は簡単なんですが、全く似た機能をもったプラグインが欲しいときってありますよね。 凝った機能のプラグインであるほど、代替プラグインを探すのが難しくなってくるので、調査に時間がかかってしまいます。
当然ですが、「全く同じ機能性をもったプラグインを用意できない」というケースもあるので、その場合はその機能を諦めたり、結果としてサイトのレイアウト変更にまで発展することもあります。
僕はこうしたことを何回か繰り返した結果、次第にシンプルな設計を好むようになってしまって、あまり特徴のないサイトばかり作るようになってしまいました(汗)
静的サイトジェネレータは爆速で動く!
一般的に「データベースからのページ生成がない」ということは、アクセス速度の高速化につながります。
WordPress自体の動作が重い
使用しているサーバーによっても若干変わるかもしれないんですが、それでもWordPress自体の動作ってのは重いですよね。 管理画面の移動ですら遅く感じるほどです。
というのも、基本的にレンタルサーバーのスペックってそれほど高くないんですよね。 その上で、PHPという処理速度の速いとは言えないプログラミング言語で作られたWordPressを動かしているんで、まぁ当然といえば当然なんです。
つまりWordPress自体が遅いのだから、WordPressで高速なサイトを作ろうとすれば、当然骨の折れる作業になりがちです。 そんなんだから高速化のプラグインが数多く存在しているのも納得ですよね?
静的サイトジェネレータの欠点
サイト構築の難易度がどうしても高くなってしまいます。
この静的サイトジェネレータというのは最新の技術なので仕様変更が激しいです。 それにまだベストプラクティスみたいなものはないような気がします。 日本語の情報が少ないというのもネックです。
他にも、基本的はWordPressのように管理画面があるわけではなく、全てテキストエディタ上でコーディングをしないと始まらないので、プログラミング未経験の人にはかなり敷居が高く感じられると思います。
まとめ
- セキュリティリスク
- 費用
- 保守性
- 動作速度
WordPressのこうした部分に嫌気がさしている人には静的サイトジェネレータへの乗り換えは考える余地は十分あると思います。
僕自身、このサイトを作るまではJavascriptはほとんど触れたことがなく、ちゃんと作りきれるか不安だったんですが、それでも2週間程でとりあえず公開できる程度までは作り上げることができました。 そして実際に納得できる設計になったのは、初めてGatsbyに触れてから約5ヶ月後です。