利用するユーザーにとってのメリット
Craft CMS を利用するユーザーにとってのメリットをまとめます。
柔軟なコンテンツ管理

CMS の主目的であるコンテンツの管理が柔軟にできます。 当たり前のように聞こえるかもしれませんが、当たり前のことがちゃんとできます。
管理するデータによってコンテンツをまとめておきたいと考えることはよくあるでしょう。 Craft CMS ではコンテンツを管理する単位として、セクションがあります。
コンテンツをエントリとしてセクションに登録していくことで、コンテンツを管理することができます。 管理するコンテンツの関係性にあわせてセクションには3種類のパターンがあります。
- チャンネル : 並列なデータを登録していく(ブログ記事)
- ストラクチャ : 階層構造をもったコンテンツを管理していく(固定ページ)
- シングル : 単一のデータ(ページ)を管理する
チャンネル
並列なデータを登録していくタイプのコンテンツを管理するのに向いているセクションです。 お知らせやニュースなどのブログ記事的なコンテンツを管理する場合や、製品情報といったデータなどを管理するのに向いています。
ストラクチャ
階層構造をもったコンテンツを管理するのに向いているセクションです。 Webサイトをイメージした場合は、Aboutページや会社概要ページといったある程度の体裁は共通のページを作っていく際に向いています。
シングル
単一のデータ(ページ)を管理するのに向いているセクションです。
多数のカスタムフィールド
コンテンツを管理するためには、コンテンツを登録するためのフィールドが必要になります。 デフォルトで用意されているフィールドは18種類あります。
- アセット
- カテゴリ
- チェックボックス
- 色
- 日/時
- セレクトボックス
- メール
- エントリ
- Lightswitch(トグルボタン)
- 行列
- マルチセレクトボックス
- 数字
- プレーンテキスト
- ラジオボタン
- テーブル
- タグ
- URL
- ユーザー
これだけでも十分な種類がありますが、プラグインでフィールドの種類を増やすこともできます。
マトリックスフィールド

Craft CMS がコンテンツ管理のしやすさを際立たせているのは、マトリックスフィールドがあってこそのところがあります。
マトリックスフィールドでは複数のフィールドをまとめて1つのブロックとして定義します。 ブロックは何種類でも登録できるので管理するコンテンツにあわせて作成ができます。
データを登録するユーザーは1つのデータのなかでも種類に応じてブロックを自由に追加してコンテンツを登録することができます。 作成したブロックは自由に並び替えることができ、有効無効も設定できます。
最近では多くのCMSでブロックエディタが採用されていて、管理するコンテンツにあわせる形の入力画面を用意することができます。 リッチエディタですべてのデータを登録していたり、HTML/CSSを書いて管理していたような事をしなくても良くなります。
リレーション・エントリの関連付け
フィールドの種類の中に、エントリフィールドというものがあります。
このフィールドを使うことでエントリ同士の関連付けを行うことができます。 関連する製品を紐付けたり、関連する記事を紐付けたり、そういった使い方ができます。
関連付けたエントリは関連付けを行うところで、関連付けたコンテンツのデータを確認でき、そこで編集することも可能です。
カテゴリ、タグによる分類
CMS をつかってWebサイトを作成してきた方には、カテゴリやタグを使って分類を追加していく事になじみがある方もいるかと思います。 Craft CMS でもカテゴリやタグは設定することができます。

カテゴリはカテゴリグループとしていくつでも追加でき、セクションに指定したカテゴリグループのカテゴリを選択するフィールドを追加することでカテゴライズが可能になります。 カテゴリ的なものを複数パターン用意して、それらを選択するフィールドをそれぞれ用意することでいろいろな視点でコンテンツを分類することができます。
タグについてもカテゴリ同様に、タググループがまずあり、そこにタグを追加していく形になります。 タグを追加・選択できるフィールドをセクションに設定することで、タグによる分類が可能になります。
タグとカテゴリは似た機能をもっていますが、カテゴリは階層構造を持つことができますが、タグは並列な構成のみという違いがあります。
現時点の Craft CMS デフォルトの機能ではタグの一覧は表示することができないので、プラグインを利用することになります。
コンテンツの複製
作成したコンテンツを複製することはよくあるかと思います。
Craft CMS ではエントリとしてコンテンツを管理しますが、そのコンテンツを新たなエントリとして保存する、という標準の機能で複製することが可能です。
アセットの管理・編集
コンテンツの管理のメインはテキストデータが多いかと思いますが、画像やPDFファイルといったアセットを管理することもできます。

アセットも管理する分類にあわせてアセット用の箱を定義することができます。 これによりアップロード先をそれぞれで指定したり、アップロードする際にはその中で更にサブディレクトリを作ってアップロードしたりといったことができます。
画像編集・加工
アセットとして管理する画像については、トリミングや回転、サムネイルを生成する際の中心点(焦点)を設定したりすることができます。

画像を出力する際に画像の種類を変更して出力することもできます。 最近だと WebP に変換したいといった場合もあるかと思いますが、そういったことも可能です。
画像は出力する際にリサイズして出力する設定を定義することができます。 指定したサイズに対して、画像をどのようにリサイズするのかを定義したり、指定したサイズにどのようにフィットさせるかといったことが指定できます。
アセットの編集制御
アセットはものによってはアップロードしたユーザーのみが触れるようにするといった制御をかけることもできます。
使いやすい管理画面
入力しやすいデータ編集画面

ユーザーが操作する編集画面・データの登録画面については、管理するコンテンツの種類にあわせて柔軟に設計することができる点は前述の通りです。
タブで切り替えできるようにしたり、同じセクションでありながらちがう入力画面を用意すると言ったことができます。
編集したコンテンツのプレビュー
編集しながら確認できるライブプレビュー
入力した内容を実際の表示と同じ見た目でプレビューすることができます。

このライブプレビューでは入力した内容が即座にプレビュー側に反映され修正を確認することができます。
CMSにログインせずに確認できる外部プレビュー
ライブプレビューは管理画面にアクセスして編集する場合に有用ですが、プレビューの方法として、実際にURLを表示させてプレビューをすることができます。
これをつかうことで、外部の方に公開前のページを確認してもらうといったことが可能になります。
プレビューするページを設定できる
ライブプレビューもプレビューも編集しているコンテンツ単体のプレビューだけではなく、一覧ページなどでの表示をプレビュー対象とすることができます。
これによりデータを編集した際に関係するページが想定通りに変わっているか?といったことも確認することができます。
管理しているコンテンツが1つの使われ方だけでは無く、いろいろな使い方がされるからこそ、プレビューについても必要なところでプレビューすることができるようになります。
複数サイト・多言語サイトの管理が可能
マルチサイト
Craft CMS ではインストール直後は1つのサイトしかありませんが、管理するサイトを増やすことができます。 セクション、カテゴリ、エントリなどを包含する大きな枠がサイトになります。
サイトはサブディレクトリ想定のサイトを設定したり、サブドメインや別ドメイン想定のサイトを設定したりといったことが可能です。 (サブドメインの場合はサーバー等の設定を調整することも必要になります) 各セクションや各カテゴリセットはサイトごとに利用するかどうかを設定することができます。
セクションに登録するデータを各サイトで共通利用するか、サイトごとに独自に登録するか、エントリごとに指定したサイトにコピーする、など細かく設定することができます。 このあたりは後述する多言語向けの設定とも組み合わせることができます。
多言語サイト
マルチサイトでサイトを追加する際に、サイトの言語を設定することができます。 これにより多言語サイトを管理することができます。

言語ごとのサイトを作りつつ、コンテンツは共通に利用する場合、言語にあわせて翻訳をしておきたい場合、といった設定が可能です。
共通に利用する例としては例えば言語がちがってもコンテンツを分類するカテゴリは共通といった場合などがイメージしやすいかと思います。
多言語サイトを作る場合、サイトごとに言語に応じてコンテンツを翻訳する必要がある場合もあるでしょう。 Craft CMS 作成したフィールドごとに翻訳できるようにするかどうかを設定することができます。
翻訳ができるフィールドは言語ごとにそれぞれの内容を登録できますが、翻訳できないフィールドは共通で管理されているので、サイトAで変更すればサイトBも同じ状態になります。
ユーザーグループ・ユーザー管理機能
会員制サイト
Craft CMS はユーザーを管理することができ、ユーザーグループを作成することで、グループに属するユーザーごとの権限を細かく指定することができます。 この権限設定はもちろんユーザーごとに設定することもできます。
ユーザー・ユーザーグループの権限の設定をすることで、管理画面にアクセスできるかどうか、といった基本的な権限を設定することもできますし、会員制サイトのようなサイトを構築した際には、ログインしたユーザのユーザーグループをみて挙動を変えるといったことが可能になります。
サイトを訪問したユーザーがユーザー登録するようなフォームも簡単に作ることができます。
マルチユーザー
会員制サイトのところで解説しましたが、ユーザー向けの権限定義をグループ単位で設定することができます。
このグループにユーザーを分類することでユーザーが増えても権限周りを柔軟に定義、調整することができるようになります。
アクセシビリティ重視
Craft CMS は管理画面のアクセシビリティ改善に非常に力を入れています。
W3C のサイトのCMSとして選定されたのもアクセシビリティを重視しているのが一因かもしれません。
セキュリティ対応
Craft CMS も他の CMS 同様にセキュリティには十分に配慮されています。 Craft CMS の開発チームは、定期的にコードをチェックし、さらにサードパーティのソフトウェアを使用して脆弱性をテストしているそうです。
例えば、Craft は 2012 年のリリース以来、小さなセキュリティ問題が10件くらいあったとのこと。
機能追加・機能改善などのアップデートも頻繁にありますが、時々セキュリティ面の修正が含まれています。