こんにちは!Webサイトやアプリのコンテンツを管理するためのCMS、大きく分けると「従来型(モノリシック型)」、「ヘッドレス型」という2つのタイプがあります。この記事では、従来型CMSとヘッドレスCMSの違いについて、それぞれの特徴を比較しながら、それぞれのCMSタイプを導入する際に必要な環境の違いについて紹介したいと思います。
1. 従来型(モノリシック/カップルド)CMS
従来型CMSは、WordPressやDrupal、Concrete CMSなどが該当する、コンテンツ管理(バックエンド)とWebページの見た目(フロントエンド)が1つにまとまっている仕組みのCMSです。
このタイプの場合、Webサイトを公開するサーバーにPHPやPerlといった言語の実行環境、そしてMySQLやPostgreSQLなどのデータベース環境を用意する必要があります。一見複雑そうですが、高いシェアを獲得しているWordPressなどでは、多くのレンタルサーバーサービスで簡単に導入できる仕組みが提供されているため、既存のWordPressテーマと合わせて活用することでサーバーの契約後すぐにWebサイトを公開できることも可能です。
従来型CMSではバックエンドとフロントエンドが1つのシステムで完結しているため、Webサイト開発時の学習コストは比較的低く、Webサイトの運用も比較的理解しやすくなっています。また、1つのシステムとして提供されていることで、フロントエンド側の機能もCMSのプラグインで対応することが出来る場合もあり、要件によってはプラグインを使用することで工数を抑えることが出来る場合もあるといったメリットがあります。
一方、1つのシステムになっていることで、Webサイトのコンテンツを制作する際もCMSの開発環境に合わせて開発言語を選定することになり開発の自由度はやや低めとなります。また、CMS自体のアップデート対応など、Webサイト表示に影響する可能性がある作業も定期的に必要になり、対策をしていないとWebサイトからCMS管理画面を推測しやすいといったセキュリティ上の課題もあります。
2. ヘッドレスCMS
ヘッドレスCMSはmicroCMSやContentfulが該当する、コンテンツの管理(バックエンド)と、実際のページデザイン(フロントエンド)が完全に切り離されていることが特徴のCMSです。
このタイプでのCMS側はクラウドサービスとして提供される場合が多く、そのためCMS用のサーバーやデータベースを自分で用意する必要がありません。そのためフロントエンド用で最低限のWebページを表示できるサーバーのみ用意すれば環境を整えることができます。
バックエンドとフロントエンドが分離しているため、CMS自体が開発環境に影響することは無く、フロントエンドの開発言語やフレームワーク、Webサイトを公開する環境を自由に選ぶことができます。またコンテンツはWeb APIを通じて配信されるため、同一のコンテンツをWebサイトだけでなくスマートフォンアプリや別のサービスへの配信するのも比較的容易に行うことができます。さらにCMSがクラウドサービスとして提供されていることで、CMS自体のアップデートやセキュリティ対策などもサービス提供元が行ってくれるため、運用面でもコストを抑えることができます。
ただ、APIを使用するため、従来型CMSよりも学習コストが高くなる傾向があり、また料金が従量課金になっていることが多く、APIの利用回数によっては想定以上の料金が発生する場合もあるため、サイト規模や利用状況に合わせてサービスやプランを選択する必要があります。また、CMS自体が提供する機能が限られているため、管理画面から行うプレビュー機能に対応するためフロントエンド側で処理を追加する必要があるなど初期の制作工数が多めにかかる傾向があります。
3. まとめ
従来型CMSとヘッドレスCMSの違いを表にまとめてみます。
従来型CMS | ヘッドレスCMS | |
---|---|---|
必要なサーバー環境 | Webサーバー | Webサーバー |
開発言語 | CMSに合わせる | 開発者が自由に選択可能 |
学習コスト | 低 | 高 |
初期制作コスト | 低 | 高 |
運用コスト | 高 | 低 |
従来型CMS(WordPressなど)は、バックエンドとフロントエンドを1つのシステムとして構築されるため、学習コストが低く、導入や機能実装がしやすいというメリットがあります。しかし、サイトと管理画面が同一システム上にある事でセキュリティ面の課題があったりCMS自体の開発環境に制限されることが発生する場合があります。
一方、ヘッドレスCMS(microCMSなど)は、コンテンツ管理と見た目の部分が分かれているため、サイト制作の開発環境を自由に選択できたり、サイトの一部のみCMS管理にする、別のサイトやアプリへもコンテンツを配信しやすいなど柔軟に作り込めるという強みがあります。ただし、フロントエンドの開発にはAPIを利用する知識が必要で、利用料金の仕組みにも注意する必要があります。
以上の違いを踏まえて、制作するWebサイトに合ったCMSタイプを選択してみてください!