Craft CMS のサイトでキャッシュをつかったりCDNと連携しやすそうなプラグイン Blitz を試してみた。

Blitz
https://plugins.craftcms.com/b...

プラグインのインストールと設定

プラグインをプラグインストアからインストールして、キャッシュの出力を有効にする。

どのURLについて出力するか、除外するか?を設定することでファイルが生成された

web/cache/blitz/<サイトURL> にHTMLファイルが生成されてた。

確かにパフォーマンスはかなり良くなった。

キャッシュの1つっていう位置付けなので、アクセスがあったタイミングで生成されている。

debugモードが有効でもHTMLは生成されていた。

動的CMSだけど静的サイトっぽくできるのではないか?

試してみようと思ったのは、このHTMLファイルが生成されているかどうか?を確認したかったのと、それができるのであればこのHTMLファイルを別サーバに配信することで、CMSと公開サーバを分けられるのかな?というのを確認したかったのもあり。

要件的にCMSの動的な処理とかをつかわなくても問題ないのであれば、静的HTMLを別サーバにおくるような設定をCLIとかでやればできそうな気がする。

Craft CMS自体がAssetをAWSとかにアップするとかもできるわけだからそれと合わせてやるとかできたりしないものかな。

Amazon S3
https://plugins.craftcms.com/a...

これはこれで今度試してみよう。

まぁ、そういう話で静的ファイルを出力するのであれば、bit part の場合は Movable Type か PowerCMS になるわけだけど(案件の指名で別のCMSとかはあるけど)、 Craft CMS で似たようなことができるのであればそっちでもいいよなー。


HTMLファイルのソース内では当然CMSのサイトURLが使われるわけなので、配信するところで置換するとか、ルート相対に基本はしておく、とか単純にこのHTMLデータを配信するだけでは使えないけど、何かしらのきっかけにはなりそうな気がする。

Assetとかは webroot の指定したボリュームのところにあるわけだけどこれはキャッシュフォルダの方には入ってきていないので配信処理の方なりで何かしら考えておく必要はありそう。

CSSとかももちろん入っていないので、それらもどこかにおくなり、配信用の設定なりをしておく必要もありそう。

アクセスしたタイミングでHTMLが生成されるので、クロールさせてHTML生成する処理を用意するとかも必要かもしれない。

サーバ分けて静的出力したものを配信するくらいなら、CDNでいいんじゃないの?という気もするけど。

重い処理のページとかを静的出力しておくほうがよさそう、といったこともあるわけだからそういうのに使うっていう使い方にはマッチしてると思う。

もう少し遊んでみよう。