はじめに

CMSでは、管理画面に入力した文章や画像の情報が、いったんサーバー内のデータベースに保存されます。そして、読者がブラウザでURLを開いたときに、その保存されたデータが呼び出され、1つのWebページとして組み立てられて表示されます。
「入力した内容はどこに保存されているの?」「ページはいつ作られているの?」と感じている方もいるかもしれません。この記事では、そうした疑問に答えるために、ページができあがるまでの流れを順番に確認していきます。
上の図では、管理画面で保存されるまでの流れと、閲覧者がアクセスしてから表示されるまでの流れを分けて整理しています。まずはこの2つの動きを意識しながら、CMSの仕組みを一緒に見ていきましょう。
CMSではWebページ(ブラウザで見るページ)がどのように作られるの?

上の図を見ながら、実際にどの順番でページが表示されるのかを確認します。
まず、管理画面で入力した文章や画像の情報がデータベースに保存されます。そのあと、読者がURLを開いたときに、保存されているデータが読み出され、ページとして組み立てられて表示されます。
このように、CMSの処理は「入力して保存する段階」と「アクセス時に表示する段階」に分かれています。
① 管理画面で入力した内容がデータベースに保存される(保存フロー)
編集者が管理画面にタイトルや本文を入力し、「公開」ボタンを押すと、その内容はサーバー内のデータベースに記録されます。保存されるのは、文章そのもの、画像の保存先URL、公開日、カテゴリーといった項目です。
この段階では、ブラウザで見る完成済みのWebページ(HTMLファイル)がそのまま保存されるわけではありません。あくまで「ページの材料となる情報」が項目ごとに分けて保管されます。
② 閲覧時にデータが読み出されテンプレートと組み合わさる(表示フロー)
読者がブラウザでURLを開くと、CMSはデータベースからそのページに対応する記事データを取り出します。取り出されるのは、保存されていた本文や画像のURL、公開情報などです。
そのデータがテンプレートに差し込まれ、見出しの位置や本文の幅、画像の表示場所が決まります。あわせて、ヘッダーやフッター、サイドバーなどの共通パーツもここで組み合わされ、1つのページとして形が整います。
③ ページとして生成されたHTMLがブラウザに表示される
テンプレートに本文や画像の情報が差し込まれると、ブラウザで表示できる形式のHTMLが作られます。このHTMLには、見出しの位置や段落の区切り、画像の表示場所などがすべて含まれています。
作成されたHTMLはサーバーから読者のブラウザに送られ、画面上にページとして表示されます。読者が見ているWebページは、この段階で生成されたHTMLの結果です。
動的CMSと静的CMSではWebページを作るタイミングが違う
| 動的CMS | 静的CMS | ヘッドレスCMS | |
|---|---|---|---|
| 生成タイミング | アクセスごと | 公開時 | 表示側で取得 |
| 更新反映 | 即時 | 再ビルド時 | 即時 |
| 表示速度 | 状況次第 | 安定しやすい | 設計次第 |
| 向いているサイト | 更新多い | 更新少ない | 複数媒体 |
前のセクションでは、CMSが「保存」と「表示」に分かれていることを確認しました。ここでは、表示フローの中でいつページを生成するかという違いを整理します。
CMSには大きく3つの生成タイミングがあり、この違いによってサーバの動きや向いているサイトの種類が変わります。
更新頻度が高いかどうか、表示速度を重視するかどうか、複数の媒体に配信するかどうかによって、選ぶ構造は変わります。
① アクセスのたびにWebページを生成する(動的CMS)

読者がブラウザでURLを開くたびに、CMSはデータベースから記事データを取り出し、その都度HTMLを組み立てます。アクセスの回数だけ、この生成処理が行われます。
毎日記事を追加するブログや、検索機能、会員ログイン、コメント欄を備えたサイトでは、この仕組みが使われることが多いです。閲覧者が増えるほど、データの読み出しやページ生成の回数も増えるため、サーバー側の処理もその分多くなります。
② 公開時にまとめてWebページを生成する(静的CMS)

記事を公開するタイミングで、あらかじめHTMLファイルを作成しておきます。この段階でページは完成しており、サーバー内に保存されます。
読者がURLを開いたときは、その完成済みのHTMLをそのままブラウザに送ります。アクセスのたびにデータベースを読み出して組み立てる処理は行いません。
月に数回しか更新しない企業サイトや、固定ページが中心のサイトではこの仕組みが使われます。閲覧時の処理が少ないため、表示は安定しやすく、サーバーへの負荷も抑えられます。
③ 管理画面と表示画面を分けて生成する(ヘッドレスCMS)

コンテンツを管理する画面と、実際に表示する画面を分ける方法です。記事の本文や画像はCMS側で管理し、表示側はAPIを通じてそのデータを取得します。
Webサイトだけでなく、スマートフォンアプリや別のサービスにも同じ記事データを配信できます。表示側のデザインや構成は自由に作れますが、その分、表示画面の開発作業が必要になります。
CMSの構造は更新頻度・表示速度・配信先の数で決まる
CMSの構造は更新頻度・表示速度・配信先の数で決まる
CMSを選ぶときは、まず「どれくらいの頻度で更新するか」「表示の速さをどこまで重視するか」「Web以外にも配信するか」を確認します。この3つの条件によって、向いている構造が変わります。
たとえば、毎日記事を追加するサイトと、月に数回しか更新しない企業サイトでは、サーバーの使い方もページの作り方も違います。また、Webサイトだけで完結するのか、アプリにも同じ記事を表示するのかによっても選択肢は変わります。
ここでは、この3つの条件をもとに、どの構造を選ぶかを具体的に整理していきます。
更新が多いか少ないかで選ぶ

まず確認するのは、どれくらいの頻度で記事を更新するかです。
毎日のように新しい記事を追加し、公開後もタイトルや本文を修正する場合は、アクセスのたびにページを生成する動的CMSが向いています。管理画面で修正すると、次にページが表示されたときに内容が反映されます。
一方で、月に一度文章を差し替える程度であれば、公開時にまとめてHTMLを作成する静的CMSでも運用できます。更新の回数が少なければ、閲覧時に生成処理を行わなくても問題は出にくいです。
目安としては、更新が週5回以上なら動的CMS、月1回以下なら静的CMSを検討します。
表示速度を優先するかどうかで選ぶ

次に確認するのは、ページの表示速度をどこまで重視するかです。
たとえば、キャンペーン中に同時に100人以上がアクセスする時間帯がある場合は、閲覧のたびに生成処理を行わない静的CMSの方が安定しやすくなります。あらかじめ作成されたHTMLをそのまま返すため、処理回数を抑えられます。
一方で、1日のアクセスが数十人程度であれば、アクセスごとにページを生成する動的CMSでも大きな問題は出にくいです。
常に表示速度を最優先にしたい場合は、静的CMSを選ぶ方が安心です。
Web以外にも配信するかどうかで選ぶ

最後に確認するのは、記事をWebサイト以外にも表示する予定があるかどうかです。
コーポレートサイトやブログのように、Webブラウザでの表示だけで完結する場合は、動的CMSまたは静的CMSの単一構造で運用できます。
一方で、スマートフォンアプリや別のサービス、社内システムなどにも同じ記事データを表示したい場合は、APIを通じてデータを取得できるヘッドレスCMSが向いています。表示側ごとにデザインを作り分けられるため、複数の画面に同じ内容を配信できます。
配信先が2つ以上になるなら、ヘッドレスCMSを前提に構造を考えます。
実際のサイト例で考えるとどうなるか
ここまで整理した「更新頻度」「表示速度」「配信先」の3つの条件を、よくあるサイトの形に当てはめて確認します。自分のサイトがどれに近いかを思い浮かべながら読み進めてください。
① 個人ブログやニュースメディアの場合

毎日のように記事を追加し、公開後もタイトルや本文を直すことがあるなら、動的CMSが向いています。管理画面で修正した内容が、次にページが表示されたときに反映されるためです。
サイト内検索やコメント欄、会員機能などを使う場合も、アクセスのたびにページを生成する方式のほうが扱いやすくなります。更新が週に数回以上あるなら、まずは動的CMSを前提に考えると迷いにくいです。
② 企業のコーポレートサイトの場合

会社概要や事業内容、サービス紹介ページなどを中心に、月に数回程度しか更新しない場合は、静的CMSでも十分に運用できます。
記事を公開するタイミングであらかじめHTMLを作成しておけば、読者がアクセスしたときはその完成済みのページをそのまま表示します。閲覧時にデータベースを読み出す処理がないため、表示は安定しやすくなります。
更新頻度が低く、アクセスも急増しにくいサイトでは、この構造が効率的です。
③ Webサイトに加えてアプリも運用する場合

同じ記事をWebサイトとスマートフォンアプリの両方に表示したい場合は、ヘッドレスCMSが向いています。
記事の本文や画像、公開日などのデータをAPI経由で取得できるため、Webページとアプリの画面それぞれに同じ内容を表示できます。管理画面で1回修正すれば、Webとアプリの両方に反映されます。
配信先が2つ以上ある場合は、最初からこの構造で設計しておくと、後から作り直す手間を減らせます。
CMSの仕組みを理解すると更新作業の違いが分かる
ここまで説明してきたとおり、CMSでは「保存する流れ」と「表示する流れ」が分かれています。
この動きを理解すると、記事を修正するときに触る場所と、触らなくてよい場所がはっきりします。どの画面で文章を書き直せばよいのか、どこは変更しなくてよいのかが具体的に見えてきます。
仕組みを知っているかどうかで、更新作業のやり方は大きく変わります。
ページごとにHTMLを修正する作業が不要になる

CMSでは、記事の本文や画像はデータベースに保存されます。見出しや本文の表示位置はテンプレートであらかじめ決められており、保存された内容がその枠に自動で差し込まれます。
管理画面で文章を修正して「更新」を押せば、次にそのページが表示されたときに新しい内容が反映されます。1ページずつHTMLファイルを開いて書き換える作業は発生しません。
同じテンプレートを使っているため、複数ページの見た目も自動でそろいます。
デザイン変更はテンプレートを1か所直すだけで済む

CMSでは、ヘッダーやフッター、文字サイズ、余白などの見た目はテンプレートでまとめて管理されています。
たとえばロゴの位置を変えたい場合や、文字の大きさを調整したい場合も、テンプレートの該当部分を修正すれば、その変更がすべてのページに反映されます。各ページを一つずつ開いて直す必要はありません。
共通部分を1か所で管理しているため、デザインの変更もまとめて対応できます。
まとめ
CMSの仕組みは、「保存」と「表示」に分かれていることが基本です。そのうえで、Webページをいつ生成するかによって構造が変わります。
まず確認するのは更新頻度です。毎日のように更新するなら動的CMS、月に数回程度なら静的CMSが目安になります。
次に考えるのは表示速度の優先度です。同時アクセスが多い場合や安定表示を重視するなら、事前生成型が向きます。
最後に、配信先がWebだけかどうかを確認します。アプリや別媒体にも配信するなら、ヘッドレスCMSを前提に考えます。
この3つを順番に整理すれば、自分に合う構造は自然に決まります。











