😊

CMSの基礎知識

2022/03/02に公開

概要

CMSとはどのようなものであるか、また、導入を検討したり、これから開発に取り組む場合、どのような点を考慮する必要があるか、その基礎知識について説明します。

想定読者

  • CMSとはどのようなものであるかを知りたい方
  • CMSの導入を検討している方
  • CMSを使った制作や開発をこれから始めようとしている方

CMS導入のメリット

CMSを導入するとどのようなメリットがあるのでしょうか。

【メリット1】HTMLの専門知識が無くてもサイトを更新できる

Webサイトを運用することを考えた場合、最終的にはHTMLという形でサーバにアップして公開する必要があります。
CMSがない場合、コンテンツを掲載したい業務担当者は、技術を持った制作担当者に作業を依頼することになります。
その場合、人件費のコストの問題や、制作担当者の作業調整などで時間がかかってしまったり、内容の柔軟な変更が難しいといった問題が発生します。

CMSを導入することで、HTMLの専門知識を持たない業務担当者であっても、直接コンテンツを作成したり公開できるようになり、コストの削減情報発信のスピードアップが可能になります。

【メリット2】権限管理やワークフローができる

複数の担当者や部署に跨ってコンテンツを管理する場合、ユーザの役割(ロール)によって、更新可能な範囲を制限したり、承認や差し戻しといったワークフローを組む必要が出てきます。
CMSを用いることで、権限管理やワークフローをシステム化して運用することが可能になります。


【メリット3】コンテンツのだし分けや機能追加ができる

Webサイトで、ユーザの属性等によるだし分けを行う場合や、動的な機能の追加(例えば外部システムから情報を取得してきて表示するなど)を行う場合、CMSで用意されているだし分け機能や、プラグインを用いることで、比較的容易に機能を実現できる可能性があります。

【メリット4】Webサイト以外へのコンテンツ配信に活用できる

WebサイトをHTMLとして作成してしまうと、その中のコンテンツは、そのWebサイトでしか使用することができません。
CMSでコンテンツを定型的なデータ(データベース)として作成しておくことで、アプリや他のサイト、他のシステムなどに連携しやすくなるなど、コンテンツの活用がしやすくなります

CMSの種類

一言でCMSといっても、その実現方式によって、いくつかの種類があります。
大きくは次の種類に分類できます。

  1. 静的CMS
  2. 動的CMS
  3. ヘッドレスCMS

その内容について説明していきます。

1. 静的CMS

古くからある実現方式で、事前にCMSの機能でHTMLまで作成してしまい、Webサーバにアップロードします。Webサーバは生成済みのHTMLをレスポンスするのみなので、Webサーバにかかる負荷が小さく、サイトは高速になります。ただし、だし分けを行ったり、動的にサイトを変化させるのは得意ではありません。

  • メリット
    • WebサーバはHTMLを返すだけなのでレスポンスが高速
    • 低スペックのWebサーバでも動作する
  • デメリット
    • 動的な機能を持ったページが作りづらい
    • 登録後の反映までやや時間がかかる

2. 動的CMS

事前にHTMLを生成するのではなく、ページにアクセスがある都度、データベースを参照してHTMLを組み立てます。HTMLを都度生成する分レスポンス速度面では静的CMSに劣りますが、動的に内容を出しわけたり、即時にコンテンツを反映するのが得意になります。

  • メリット
    • アクセスの都度ページを生成しているので、動的なページを作りやすい
    • 登録後すぐに更新内容を反映することができる
    • 追加機能の作り込みなどが行いやすい
  • デメリット
    • サイトのレスポンスは静的CMSと比べるとやや遅い
    • Webサーバやデータベースに負荷がかかるため、スペックの良いサーバが必要
    • Webサイト側のつくりは、使用するCMSに合わせた作りとする必要がある

3. ヘッドレスCMS

ヘッドレスCMSは、CMSとしてはWebサイトを表示する機能(HTML画面を表示する機能)自体を持っておらず、管理画面とAPIのみが提供されます。
この場合、ヘッドレスCMS上ではコンテンツのデータのみ(例:ニュースやブログ記事など)を管理し、Webサイト自体は別で作る必要があります。
Webサーバ側は、アクセスがある都度HTMLを生成するのではなく、コンテンツの更新があったタイミングや、ページごとに一定時間経過した場合に、ヘッドレスCMSのAPIを呼び出してHTMLを再生成(ビルド)します。この構成のことを、Jamstackと呼びます。

  • メリット
    • ページを事前に生成しているので、レスポンスが高速
    • Webサイト側のつくりは、自由に選択できる(最新技術を取り込みやすい)
    • コンテンツがAPI化されているので、様々なチャネルから呼び出せる
  • デメリット
    • Webサイト側はCMSとは別で用意する必要がある
    • 更新したタイミング(又は一定時間経過)でビルドするので反映まで少し時間がかかる(ページ数が増えてくると比例してビルドの時間が長くなる)

前提知識の補足:CDNについて

CMSの種類や方式について考えるにあたっては、CMSという仕組みそのものとは直接関係しませんが、CDN(Content Delivery Network)について知っておく必要があります。
CDNはWebサーバよりも手前で、利用者からのアクセスを受け付け、一定時間キャッシュをしてくれます。
利用者からのアクセスをキャッシュで返却するため、毎回ページを生成しないので、高速にレスポンスできるようになります。
だし分けがあるような動的に変化するページでは使用できませんが、ページごとにキャッシュの有無を設定できるので、Webサイトの一部でキャッシュを使用するといったことも可能になります。
CDNはすべてのCMS種類(方式)で使用することができます。

  • メリット
    • CMSの種類にかかわらず、内容が随時変化しないページであれば高速化できる
    • Webサーバ側の負荷が下がる
  • デメリット
    • キャッシュ化しているため、コンテンツを更新した場合反映に少し時間がかかる

CMSの主な機能

CMSでは一般的にどのような機能が提供されるのか、また、どのような点を考慮する必要があるのかを説明します。

コンテンツ管理

CMSでは、Webサイトなどを構成するために必要な、様々なデータやファイルを管理します。これらのデータやファイルを、コンテンツと呼びます。例えば、ニュースリリースに掲載する記事や、画像ファイルなどがコンテンツと想定してください。(もちろん、Webサイトを構成する様々な要素も管理できます)

コンテンツには次のような種類が存在し、CMSによって扱えるものが変わってきます。

  • データの種類
    • 1行テキスト
    • 複数行テキスト
    • HTML形式
    • 数値
    • 日付/時刻
    • 区分値
    • マークダウン形式 など
  • ファイルの種類
    • 画像ファイル
    • PDFなどのファイル
    • 動画ファイル など

また、CMSで管理するデータやファイルには、属性情報を付与できるようになっており、検索条件や権限管理などに使用します。

テンプレート

CMSでは、例えばサイトのヘッダーやフッターなど、各ページで共通的に使用したい部品を、一元管理してページを構成するための機能などが一般的に提供されています。
部品コンテンツを作ってそれをページ(枠組み)に埋め込んでおくことで、更新したい場合はそのコンテンツを1つ更新すると、すべてのページに反映されます。
テンプレートの組み方や考え方は、CMSによって若干異なります。

テンプレートを適切に設計することで、効率的にサイトを管理・運用できるようになります。

スケジュール公開

コンテンツ(例えばニュースリリース)を決まった時間(0時00分など)に公開しようとする場合、公開時間まで待機してちょうどの時間に操作することは困難な場合があります。
そのような場合のために、スケジュール公開機能が一般的に提供されています。
あらかじめ公開予定時刻(および非公開時刻)を設定しておくことで、その時刻に自動的に公開/非公開を行います。
公開時にどの程度のタイムラグが発生するかは、CMSや方式によって異なってきます。

プレビュー

コンテンツを作成したら、公開する前にどのように表示されるのかを確認します。作成者自身でプレビュー確認する場合もあれば、承認者にプレビュー確認してもらうといった場合もあるかと思います。
CMSでは一般的に、公開バージョンだけでなく、編集バージョンのコンテンツを表示確認する機能が提供されます。ただし、どの範囲まで確認できるかなどは、CMSや方式などによって変わってきます。

権限管理

Webサイトを複数の担当者や部署で管理している場合、更新可能な範囲を限定する必要が出てきます。ユーザやコンテンツをグループ化/カテゴリ化して、権限を設定するといったことを行います。
どのような設定ができるかは、CMSによって異なります。

ワークフロー

コンテンツを作成する担当者と、公開を承認する担当者が異なるといった場合、ワークフローを組む必要が出てきます。
通常権限管理の機能と組み合わせて、フローを設計/設定していきます。
どのようなワークフローを組めるか(多段フローや並列ができるか、および通知の仕組みなど)は、CMSによって異なります。

拡張関数

CMSが提供している標準機能だけで必要な機能を満たせない場合、プラグイン機能(アドオン機能)を組み込むための仕組み(拡張関数など)が用意されている場合があります。
それらの機能を用いることで、個別に開発した機能や外部システムとの連携機能を、埋め込むことが可能になります。

CMS選定のポイント

CMSを選定したり、検討するうえで考慮が必要な事項について説明します。

提供形態

一言でCMSといっても様々な提供形態があり、それぞれにメリットデメリットがあります。
主に次のような提供形態のパターンとなっています。

  1. オープンソース型
  2. 商用ライセンス型
  3. サービス提供型

1.オープンソース型

ソースコードが公開されている、オープンソース型で無償で入手可能なCMSです。
代表的なものとしてはWordPressがあります。
無償で入手でき、またさまざまなプラグインが提供されていますが、半面、構築や保守/運用は自身で責任をもって行っていく必要があります。

  • メリット
    • 無償で利用できる
    • 豊富なプラグインなどを活用できる
    • 情報量が多くナレッジを入手しやすい
    • カスタマイズが可能
  • デメリット
    • 全て自己責任で使用する必要がある
    • トラブル時に対処できなくなる可能性がある
    • ソースに脆弱性が見つかった場合、多くのサイトを狙って大規模な攻撃が行われる場合がある

2.商用ライセンス型

特定のCMSメーカーが提供している有償のライセンス型CMSです。
有名なところとしては、HeartCoreSiteCoreAdobe Experience Manager等があります。
ライセンスを入手するためにコストがかかりますが、メーカのサポートを受けられるといったメリットがあります。

  • メリット
    • メーカーのサポートを受けられる
    • トラブル時に問い合わせや対応を行いやすい
    • 製品によってはカスタマイズが可能
  • デメリット
    • ライセンスコストがかかる
    • オープンソースに比べて情報量が少ない可能性がある

3.サービス利用型

ライセンスの提供を受けるのではなく、月額などのサービス型で利用するCMSです。
ヘッドレスCMSでは、このサービス提供型のモデルがとられているものが多いです。
有名なところとしては、ContentfulmicroCMS等があります。

  • メリット
    • 初期コスト無し(あるいは少なく)利用を開始できる
    • 即時に利用を開始できる
  • デメリット
    • 一定以上利用すると定常的にコストがかかる
    • サービス提供型のため基本的にカスタマイズはできない

Webサイトに必要な機能

選定しようとしているCMSが、Webサイト自体を実現するために必要な機能を満たしているか(どの程度カバーできているか)及び、カスタマイズやアドオンをすれば実現が可能なのかを評価します。

例えば、以下のような観点があります。

  • 会員制ページなどユーザによって動的な表示を行う必要があるか
  • 一般ユーザであってもユーザ行動によるコンテンツのだし分けなどを行う必要があるか
  • ECなどの機能が必要になるか
  • どの程度のページ数を管理・掲載する必要があるか
  • SNSなどの外部サービスとの連携の必要があるか

小規模でページ数も少ないのであれば、廉価なものや構築スピードが速いものを選択し、大規模であったり、サポートを受けられるようなことがビジネス上重要であれば、商用ライセンスを選択するという手もあります。

コンテンツ管理に必要な機能

次に、選定しようとしているCMSが、コンテンツを管理・運用していく上で必要な管理機能を満たしているか(どの程度カバーできているか)及び、カスタマイズやアドオンをすれば実現が可能なのかを評価します。

例えば、以下のような観点があります。

  • 自社で想定しているワークフローを実現可能か
  • 想定している利用者のリテラシーを踏まえた時に使いこなせるか
  • どの程度のページ数を管理する必要があるか
  • コンテンツ公開にはどの程度の即時性が求められるか
  • コンテンツ管理(ファイルなどの管理)にどの程度の秘匿性(アクセス管理)が求められるか
  • テンプレートやひな形などを管理していく必要があるか

自社のビジネス上ワークフロー条件が必須であれば、そのようなものを選定する必要がありますし、いくら高機能でも、自社で使いこなせいないものであれば、意味はありません。

これらの要件を整理していく必要があります。

拡張性

CMSは導入して終わりではなく、コンテンツを運用していく上で、様々な拡張を行う必要が出てくる場合があります。それらの見通しに応じて、どの程度の拡張性を持たせておく必要があるかを検討します。

例えば、以下のような観点があります。

  • ページ数は今後どの程度まで増える見込みか
  • サイトに機能追加が必要になる可能性があるか
  • 管理しているコンテンツを他システムに連携する必要性が出てくる可能性があるか
  • 管理者の人数や種類が増加する可能性はあるか

性能

Webサイトに対して、どの程度のアクセスが見込まれるかを検討します。
その見込みによって、必要となるCMSや環境・コストについても大きく変わってきます。

次のようなポイントについて検討します。

  • 現行サイトがある場合、どの程度実際にアクセスが来ているか
  • 今後、平常時でどの程度のアクセス量(アクセス数)が見込まれるか
  • 今後、アクセスが集中することが見込まれるか、また、アクセス集中した場合秒間にどの程度の量のアクセスが想定されるか
  • 大容量のコンテンツなどを扱う必要があるか、また、その場合どの程度の量やアクセス数を見込んでいるか

セキュリティ

Webサイトや管理機能に対して、どの程度のセキュリティが求められるかを検討します。
その内容によって、CMSの選定や用意する環境が変わってきます。

次のようなポイントについて検討します。

  • 個人情報など機微な情報を取り扱う必要があるか
  • お金に関する取扱いがあるか(決済機能などの有無)
  • 情報を抜き取られた時のリスクがどの程度あるか
  • CMS管理者に対してどの程度統制が可能か
  • 自社セキュリティ規定など準拠すべき規定
  • システムの一時的な停止(計画的なメンテナンス)は許容されるか
  • システムの一時的な停止(臨時メンテナンス)は許容されるか

移行性

既存のサイトが存在する場合、そのサイトから円滑に移行することができるかを検討する必要があります。また、選定したCMSからさらに別のCMSに移る場合の移行性についても必要に応じて検討します。

次のようなポイントについて検討します。

  • 既存サイトではどのようなコンテンツを管理しているか(あるいはしていないか)
  • 既存サイトからデータを取得可能であるか、またその形式はどのようなものであるか
  • 既存サイトがデータベースを使用している場合、データベースから抽出可能であるか
  • 既存サイト側及び新CMS側で提供されている移行ツールが存在するか、また、それは利用可能なものであるか

コスト

対象のCMSが目的に合致する機能性や要素を備えていることが分かった場合、コストについて比較検討していく必要があります。
CMSのサービス形態や内容はさまざまであるため、総合的に判断する必要があります。

  • 初期構築費用(ライセンス、構築作業費用、インフラ費用)はどの程度かかるか
  • 経常費用(サービス利用料、保守費用、インフラ費用)はどの程度かかるか
  • 運用していく上で有償サポートを受ける必要があるか
  • 運用していく上での自社人件費はどのように変化するか

安易に初期コストの多寡のみで判断すると、要件に合わず、結局早期に再構築が必要となるといった場合もありますので、十分に注意して検討していく必要があります。

まとめ

近年、ユーザとWebサイトのかかわり方も変化してきており、情報発信の在り方も変化してきています。また、技術についても速い速度で変化しています。
それに伴いCMSに必要とされる要素や利用する技術についても変化しています。

Webサイトの目的だけでなく、総合的に今後の情報発信・コンテンツ管理のあり方を十分に検討したうえで、CMSの選定や導入・構築プロジェクトを進めていくことが重要になってきます。

今後の検討や学習の参考になりましたら幸いです。
最後までお読みいただきありがとうございます。

Discussion