用語辞典・サーバー・Web運営

CMS

CMSとは

CMSは、記事や画像などのWebコンテンツを管理し、専門的なコードを減らして更新できる仕組みです。正式名称はContent Management System(コンテンツ・マネジメント・システム)です。

本文を入力する画面だけでなく、コンテンツの構造、メディア、権限、公開作業手順、改訂、テンプレート、URLなどをまとめて扱います。

CMSは「サイトの見た目」そのものではありません。内容を管理する層と、内容をWebページへ表現する層を分けて考えます。

構造化した原稿を役割ごとに編集・確認し、テンプレートへ流して公開するコンテンツ、設定、メディア、改訂を別々に管理する
執筆者、編集者、公開担当者が構造化された記事と画像を作業手順で確認し、改訂を残して複数の画面へ公開するCMSのピクトグラム図解
図1同じコンテンツを複数のテンプレートや配信先で使うには、見た目ではなく意味ごとのフィールドへ分けて保存します。

記事をフィールドの集まりとして設計する

title、summary、本文、作成者、公開日時、分類、主要画像、代替テキストなどをフィールドとして定義します。これをcontent model(コンテンツ・モデル)と呼びます。

本文欄へ見出し、日付、著者名を全部書き込むと、一覧表示や並べ替え、別設計への変更が難しくなります。意味ごとにフィールドを分け、必須、文字数、選択肢、参照関係を定めます。

コンテンツと設定を区別する

記事、固定ページ、画像はコンテンツです。コンテンツタイプのフィールド定義、表示順、権限、menu、表示などは設定です。両方をデータベースに保存するCMSでも、変更の責任と移送方法は分けます。

本番で記事を編集する一方、構造やテーマの変更は開発・検証環境で試験してから反映します。設定を本番から無計画に上書きすると、公開済みコンテンツとの対応が壊れます。

公開作業手順で責任を渡す

  1. Draft執筆者が原稿とメディアを作り、未確定の内容を保存する。
  2. Review編集者が事実、用語、権利、リンク、代替テキスト、表記を確認する。
  3. Revision修正履歴を残し、誰が何を変えたか比較できるようにする。
  4. Publish承認されたバージョンだけを公開し、公開日時や予約を管理する。
  5. Archive不要になった内容を非公開化し、URLの転送や保存方針を決める。

役割は作業範囲に合わせる

作成者、エディター、発行者、管理者を分け、記事作成、他人の原稿編集、公開、アカウント管理、モジュール導入などを必要な役割だけに許可します。全員を管理者にしません。

退職・異動時のアカウント停止、二要素認証、監査ログ、共有アカウント禁止も運用に含まれます。公開内容を変えられる権限は、サーバーへ接続できる権限と同じく重要です。

テンプレートが保存データをページへ変える

テンプレートやテーマは、フィールドをHTMLのどこへ置き、どのクラスと構成要素で表現するかを決めます。コンテンツを見た目から分離すると、全記事の見出し設計やカードをまとめて変更できます。

ただし自由入力欄へ直接スタイルを埋め込むと統一が崩れます。見出し段階、callout、表、引用など、編集者が使える部品を決めます。

メディアはファイルだけでなく説明も管理する

画像の元ファイル、表示用大きさ、crop位置、権利情報、caption、代替テキストを一組として持ちます。CMSが複数大きさを生成しても、不要に巨大な元画像を毎回配信しないよう出力を確認します。

同じ画像を複数記事で共有する場合、差し替えの影響範囲を把握します。削除前に参照中のページを調べます。

モジュール・プラグイン・テーマもプログラムである

拡張機能は便利ですが、サーバー上で動くコードを増やします。更新停止、脆弱性、互換性、不要な権限、第三者サービスへのデータ送信を確認し、使わないものは無効化だけでなく削除します。

コア、モジュール、テーマ、実行時、データベースのサポートバージョンを記録し、バックアップを取って検証環境で更新試験を行います。管理画面をインターネットへ無制限にさらしません。

headlessと静的出力は別の選択肢

headless CMS(ヘッドレスCMS)は、CMSがコンテンツ管理とAPI提供を担い、表示は別のWebアプリケーションやモバイルアプリが行う構成です。一つのコンテンツを複数媒体へ出しやすい一方、プレビュー、URL、認証、キャッシュを別途設計します。

CMSで編集した内容を公開時にHTMLへビルドすれば、公開面は静的サイトにもできます。CMSを使うことと、閲覧時にCMSが毎回ページを生成することは同義ではありません。

バックアップは復元単位をそろえる

データベースだけ戻しても、同時期のアップロード画像がなければ記事は完成しません。データベース、メディアファイル、設定、秘密情報、バージョン情報を対応する時点で保存し、別環境へ復元します。

CMSの価値は入力欄を増やすことではなく、コンテンツの意味、編集責任、公開状態、履歴を一貫して管理できることです。

content構造と編集workflowの確認資料:Drupal User Guide「Planning your Content Structure」Drupal「Content Moderation overview」

関連用語