数年間、実際に Craft CMS を使っていて「ここがいい!」というおすすめポイントをご紹介します。
この記事は「Craft CMS Advent Calendar 2024」の6日目の記事です。
まだまだ日本ではマイナーなCMSですが、その使い易さや柔軟性、拡張性は本当に素晴らしいものがあります。
ということで、今年もこのCraft CMSの特徴や魅力を思いつくがままに紹介していきたいと思います。
管理画面もフロントも速いです。バージョンが上がるごとに速くなっていきます。
キャッシュの仕組みもしっかりしてるので、普通のサイト(?)だったら、カラフルボックス や mixhost などのレンタルサーバーでもストレスなく運用できます。
実際に今日時点で35,000件近いエントリが登録されているサイトでもストレスなく閲覧・運用できています。
アップデートが頻繁にリリースされます。新機能の追加、機能の向上・改善などが頻繁に行われます。開発元の Pixel & Tonic の熱さが伝わってきます。
また、バグレポートをリポジトリの Issue で報告すると、すぐさま修正版がリリースされることも多々あります。バグのない製品なんてこの世に存在しません。見つかっていかに素早く直すかがポイントなので、Craftのアップデートの速さは安心材料の一つです。
管理画面からワンクリックでアップデートできるのも魅力です。逆に、運用の安全を担保するために、管理画面のアップデートを停止して、コマンドラインでしかアップデートできないようにすることも可能です(僕は基本的にCLIです)。
Craft CMS の CLI も充実してますし、Composer プロジェクトですので色々扱いやすいのもポイントです。
管理画面が非常に使いやすいです。カスタマイズしたいなーとも思いません。
ニュージーランドのお客様も、WordPressから乗り換えてすごく管理しやすくなった!と喜んでおられました(ちなみにWordPressが劣っているなどというつもりは全くありませんよ。ブログをやるならCraftよりWordPressの方が楽でしょうし)。
下図のようにエントリの編集画面の右側にプレビューを開いて編集することができます(下図はCraft 4の画面です)。
変更内容はリアルタイムで更新されますし、PC、タブレット、スマホといったビューモードも用意されていて大変便利です。
現在公開中のエントリに対して、次の版をドラフトとして作ることができます。内容を変更する必要はあるが今すぐ公開する必要はない場合などに重宝します。
この昨日を使い出したら最後、二度と使わずにはいられません。
Craft CMS のコンテンツは「エントリ」として扱われます。そして、それを束ねるものを「セクション」、エントリが持つフィールドなどを定義するものを「エントリタイプ」といいます。これらをゼロベースから自由に設計できるため、ブログ、ニュース、不動産サイトなど、どんな種類のウェブサイトにも対応可能です。例えば、「ブログ」というセクションを作ったり「一般ページ」というセクションを作ったり、不動産関連だったら「戸建」「マンション」などのセクションを作ったりしていく感じですね。
WordPressは投稿や固定ページが軸となり、それにカスタムフィールドを加えたり、カスタム投稿タイプを定義したりしていきますが、Craft CMSはそういう前提条件はありません。まさにあなた次第。あなたの色に染めることができます。
ちなみに、Movable Typeは、MT7から「コンテンツタイプ」というのが加わり、自由にフィールドを設計できるようになりました。Craft CMSはそれに近く、もっと自由度が高いものだとイメージしていただければ良いかと思います。
Craft 4 までは、エントリの他に「グローバル」「カテゴリ」といったものも存在しました。Craft 5 から、これらも「エントリ」として扱われるようになりました。
そして Matrix という強力なフィールド(日本語では「行列フィールド」)がエントリとは別に存在したのですが、これもエントリとして扱われるようになりました。
つまりエントリと同様にエントリタイプを関連づけることができます。この変更はCraft 5の目玉といっても過言ではないでしょう。
例えばAというフィールドの値が〜ならこのフィールドを表示するとか、Xユーザーグループに属するユーザーだけこのフィールドを表示するとか、その他様々な条件によって管理画面のフィールドの表示をコントロールすることができます。
昨今のウェブサイトは多言語対応が増えてきましたね。日本語と英語という2言語はかなり増えてきました。
Craft CMS の場合、例えば日本語サイト用に設計したものを、そのまま英語サイトに利用することもできるし、このセクションは日本語でしか使わない、と使い分けたりすることも、設定ひとつで簡単にできます。
また、Twigテンプレートの中に直書きする文言も、例えば {{ 'ホーム'|t }}
としておいて、翻訳ファイルに 'ホーム' => 'Home'
と定義すれば多言語化され、とても簡単です。
「多言語サイトを作りたい」と言われたらCraft一択と思っても良いくらいです。
テンプレートエンジンには Twig が採用されています。デフォルトのままでも非常に便利で強力ですし、プラグインで拡張することもできます。
設定一つでテンプレートを書かない Headless モードで利用することも可能です。モダンなフロントエンドフレームワークとの連携が簡単です。
GraphQL を標準でサポートしています。
Craft CMS は PHP 制のCMSで、Composer プロジェクトなので、プラグイン開発が非常に楽です。
Composer を利用してパッケージ管理できるので、とても手軽にエコシステムの恩恵に授かることができます。
しかも現在、「Craft Generator」というCLIツールもあり、CLIで簡単にプラグイン等の雛形が作れます。
このCLIの機能については、プラグイン機構を持つ世の中のすべてのCMSが実装してほしいと思っています。
DDEV を使って開発環境をサクッと作れます。詳しくは「DDEV を使って Craft CMS のローカル開発環境を構築する」をご覧ください。
自分で作成しなくても、「Craft Plugin Store」には有料・無料のプラグインが大量に公開されています。
有料のプラグインでも、開発環境であれば無料でお試しができます。
上記でも触れた通り、有料のプラグインもたくさん存在します。そしてこの有料プラグインの決済の仕組みが、Craft CMS には組み込まれています。
したがって、プラグイン作者は、いくつかの設定を事前に済ませておいて、あとはプラグインを有料でプラグインストアに公開するだけで、プラグインが売れると自動でお金が入金されるようになっています。
初回はいくら、次年度以降の更新はいくら、といったサブスクリプションにも対応しているので、人気のプラグインを作れれば、継続的に自動で利用され、自動でお金が入ってくるので、プラグイン作者は開発に集中できる上にモチベーションも上がるという、プラグイン作者にとってはとても良い環境が整備されています。
開発元が公開しているドキュメントがとても丁寧でしっかりしています。最新のものは英語のみですが、最近は翻訳ツールが充実しているので困ることはないでしょう。
CraftQuestというサイトでは動画で Craft CMS に関する色々なことが学べます。また、最新版(ベータを含む)がリリースされたときや、注目のプラグインがリリースされたときなど、いち早く取り上げてくれるのは嬉しい限りです。
また、nystudio107 では一つのトピックを非常に丁寧に深く掘り下げてくれている記事が多く、とても勉強になります。
Craft CMS は日本ではまだ有名ではありませんが、世界を見れば人気上昇中の CMS です。Developer もたくさんいますので、困ったことがあったら英語でググれば大抵の答えは見つかります。
「英語でググる」と言われても構える必要はありません。例えば「How to save entry custom plugin」のように英文が正しい必要はありませんし、「how to」に単語を並べれば大抵は解決できます。
自分でがんばってみてもダメな時はBUNさんに聞くとだいたい解決できます。本当に心強いです。それでもダメなら Craft CMS のサポートに問い合わせたり、Craft CMS の「Discord」もありますので、そこで質問するのも良いです。
この記事は「Craft CMS Advent Calendar 2023」の記事を2024年12月版としてアップデートしたものです。思いつくままにダラダラと書いてしまって恐縮ですが、まだまだ考えれば他にもたくさん良いところが出てくる Craft CMS です。これからも使い続けて行きたいと思います!