😊

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