- Coding Methodology
- 第135回 Headless CMS(Strapi)の特徴と使いどころ
第135回 Headless CMS(Strapi)の特徴と使いどころ
Webサイト作成時に、CMSを導入して制作の効率を上げつつ、運用までを見据えたサイトの制作を行うことがあります。WordPressやMovable Typeなど、色々な種類のCMSがありますが、最近ではHeadless CMS導入の相談や実装も増えてきました。今回はHeadless CMSの特徴と使いどころをご紹介します。
※記事内のHeadless CMSは、Strapiを使用しています。
Headless CMSの特徴
特定のテンプレートやテーマを持たず、データの保存、配信のみを行うCMSです。
一般的なCMS(今回はWordPress)と、Headless CMS「Strapi」の構成は[図1]と[図2]ように表すことができます。
[図1]一般的なCMS(WordPress)の構成
[図2]Headless CMS「Strapi」の構成
いくつかの違いはありますが、WordPressとの大きな違いは、データを表示、管理するテンプレートやテーマを持たない(疎結合)、CMS機能に制限されず、自由度の高いカスタマイズが可能になっていることです。
Headless CMSの使いどころ
[図3]は、すでに運用している複数のサイトに表示するコンテンツを管理するCMSとして導入する場合の構成例になります。
Strapiをデータの保存、配信する為の管理CMSとして使用し、見た目などは、データを取得した各サイトで自由にカスタマイズできます。
既存サイトに投稿型のコンテンツを追加したり、運用改善のための改修を行う際、サイト全体をCMS化してリニューアルするまでもなく、追加コンテンツ用のCMS(Strapi)を部分的に導入することで実現を可能にしています。
[図3]Strapiを使用したCMSの構成例
Headless CMSの所感
データの操作がAPIとして提供されている為、管理画面やサイトからのデータの取得や保存方法が統一されていて、制作の進め方にもよりますが、効率よく開発する事が可能だと思いました。
その反面、Headless CMS自体一般的なCMSに比べて、まだまだ発展途上で開発中の機能もあり、複雑な機能を実装しようとするとスクラッチでの開発が必要になりそうです。
WordPressやMovableTypeにも、データを操作するAPI(WP REST API,Data API)が用意されていて、Headless CMSのような使い方をする事ができますが、そのためだけにWordPressやMovableTypeをインストールするのは、使用しない機能までインストールしてしまうため、高コストになります。実装したい要件に合わせて、Headless CMSを選択の一つとして検討してみてはいかがでしょうか?
- Strapi:https://Strapi.io/
- その他のHeadless CMS:https://jamstack.org/headless-cms/