静的サイト化検討
By 田中(゜p゜)
SiteSpeedのスコアがどうしても上がりません。
プラグインは最小限にしてるし、Luxeritasの機能使っても、これ以上のスピードは望めないようだ。
原因と対策
スコア分析すると、JavaScriptが遅いのはGoogle AnalysticsとAdsenseがあるのでしょうがないとしても、やっぱりLAMP Stackのレスポンスが悪いみたい。
よって、JAM Stack化を検討しとるのです。
JAM Stackとはなにかっつうのはこのアタリが詳しいですが、要するにクライアントサイドで処理するということ。
当然ながら田中のサイトはWordPressなので、MySQLとPHPでゴリゴリにサーバーサイド処理となります。
スピードも当然のこと、サーバーサイド(クラウド)のリソースを使うのでお財布にも優しくない。
今の所GAEの無料枠に収まってるけど、いつバズっちゃうとも限らんし。
JAM Stackを軽くテストしてみる
手元にHugo(Go言語で静的サイトをビルドするしくみ)環境を構築して動かしてみました。
Git対応してるんで、HugoとテーマをCloneしてちょいちょいいじるだけでカンタンにWebサイト上がってきます。
が…・
・・・ちょっとWordPressに比べちゃうとキツイ気がする。
田中はいちおうエンジニアですけど、メリデメ整理してみます。
○Goで書かれてるので、GAEとの相性が大変に良い。
○動きは軽い。ハンパない。
○Gitで管理できる。
ちょっとしんどい点は
×テーマが圧倒的に少ない。
×日本語に対応したテーマもやはり少ない
×マークアップ言語で書く
→技術者以外に更新は難しいんじゃ・・・。
×テーマのフォルダ構造が直感的じゃない。慣れかな?
×デプロイに多少時間がかかる。
×フォーラムとかコメントとか別で実装する必要がある。
→結局DBとかそれに変わるものが必要。
本当に大規模なサイトでスケーラビリティ、コスト、セキュリティを追い込んでかないと必要ないんじゃないかなー。
もう少し詳しい比較はこちらにもあります。(外部サイト)
https://dyno.design/articles/jamstack-cms-pros-cons-comparison/
結局田中(゜p゜)どうするのか
Gitで管理するところ、スピードにはものすごく興味あるのですが、結局トレードオフにするものが大きすぎる。
コレやるんだったら自作じゃなくてStackBits経由でNetlifyとか投稿用インターフェイスついてそうなホスティングサービス使うかなー。
ただ、コレだとレールが敷かれすぎてて何も勉強にならん気がする。
WPの投稿をフックしてNetlifyに出力できるプラグインあるみたいなので、コメント、フォーラム以外はこっちに出力して、静的サイトにホスティングするとか。
ますますサイト構成が複雑になりそう。