1 はじめに
CMSとは?
コンテンツ管理システム(Content Management System)の略称です。
基本はDBを元にコンテンツを生成するのですが、動的にページを作る物と静的に作る物に分ける事ができます。 また、OSSやベンダーによるサポートがある物などを含めると数多くのCMSが存在します。 さらにCMS自体がどんな言語で作られているかによって、動作するサーバも変わってきます。
無償利用が可能の物(商用の場合有料も含む) - wordpress - MovableType - Drupal - Baser CMS - concrete5 - soy cms - Baked - OpenPNE
完全有料の物 - PowerCMS - vibit CMS - NOREN - RCMS
2 ビギナー向け・ドキュメント
CMSを知るためにはCMSを実際に利用するのが一番
-
wordpessのホスティングサービス、あらかじめインストールされたwordpressを利用でき、決められた範囲内であれば無料で登録利用できる。
-
MTは個人利用や開発利用は一部無償の為、開発環境などで動作を確認するのが良い。
3 会話集
- フルスクラッチでCMSのシステムを構築するよりは、パッケージがはるかに安く済むよね。ベンダーサポートもあるし。
- CMSには動的CMSと静的HTMLを吐き出すCMSの2つの種類があるよね。
- ベンダーがついている有償のCMSを選ぶか、OSSの無料のCMSを選ぶのか
- 有償のCMSのライセンス形態はサーバー単位だったりマルチドメインだったり色々あるので細かく調べた方がいいね。
Scene 1: WordPressか、スクラッチ開発か
クライアント: 「とりあえず有名なWordPressを入れたいんですが。」
エンジニア: 「更新頻度が高いブログ機能が必要ならベストです。ただ、会員サイトのような複雑な機能がメインなら、WordPressの無理なカスタマイズよりも、Laravelなどのフレームワークで開発した方が、セキュリティと保守性の面で有利かもしれません。」
Scene 2: ヘッドレスCMSの提案
デザイナー: 「スマホアプリとWebサイトの両方で、同じ『お知らせ』を表示したいんです。」
テックリード: 「それならヘッドレスCMSを採用しましょう。一つの管理画面で入力したデータを、WebにはHTMLで、アプリにはJSONデータとしてAPI配信できるので、『One Source, Multi Use』が実現できますよ。」
Scene 3: 静的書き出し(SSG)のメリット
運用担当: 「アクセス集中でサイトが落ちるのを防ぎたいです。」
エンジニア: 「ではCMSのデータを使って、事前にHTMLファイルを生成しておくSSG(Static Site Generation)構成にしましょう。アクセス時にデータベース接続が発生しないので、表示が爆速になり、サーバーダウンもしにくくなります。」
4 より深く理解する為に
4-1 サポート体制、セキュリティに対する理解
費用を安く済まそうとするとサポートや保証がほとんど無くなる。 ある程度のサポートやセキュリティ、バグ対策にはベンダーがついているパッケージ購入が望ましい。
フルスクラッチ開発の場合は開発して終了でなく、サポートという形が取れるように予算組みをする必要がある。
また、欲を言えば、どのCMSも年毎の保証、サポートとして契約するのが望ましく、メジャーバージョンアップには開発費用が発生する旨も抑えておく必要がある。
CMS導入で最も重要なのは、この「アップデート」です。特にWordPressのようなオープンソースCMSは、脆弱性が発見されるとすぐに攻撃対象になります。 * 本体やプラグインを常に最新に保つ。 * 不要な管理画面へのアクセス制限をかける。 * バックアップを自動化する。 これらはCMS運用の必須要件です。
4-2 CMSのアーキテクチャは大きく2つに分類されます。
1. モノリシック(従来型)CMS
WordPressなどがこれに当たります。「データベース」「管理画面」「表示機能(フロントエンド)」が全てセットになっています。 * メリット: 導入が簡単、プラグインで機能追加しやすい、テーマが豊富。 * デメリット: 表示速度の最適化が難しい、セキュリティリスクが高い(攻撃対象になりやすい)、デザインの自由度に制約がある。
2. ヘッドレスCMS
「コンテンツ管理機能」だけに特化したCMSです。表示画面(フロントエンド)はReactやVue.jsなどで自由に作ります。 * メリット: デザインの自由度が無限大、セキュリティが高い(管理画面と表示側が分離している)、Web以外のデバイス(アプリ、スマートウォッチ等)にも配信可能。 * デメリット: エンジニアによるフロントエンド開発が必須になるため、初期導入の技術的ハードルが高い。
5 その他CMS
国産CMS
6 関連ワード
- WYSIWYG (What You See Is What You Get): 「見たままが得られる」エディタのこと。Wordのように太字や画像を直感的に配置できる機能。
- JAMstack: JavaScript、API、Markupを組み合わせた最新のWeb構築アーキテクチャ。ヘッドレスCMSと相性が良い。
- SSG (Static Site Generator): CMSのデータをもとに、ビルド時に静的なHTMLを生成するツール(Next.js, Gatsby, Hugoなど)。
- LMS (Learning Management System): eラーニングに特化した学習管理システム。CMSの一種とも言える。
- ワークフロー承認: 記事を作成した後、「上長の承認」を経てから公開される機能。企業利用では必須要件になることが多い。
7 要点チェック
- 脱・属人化: エンジニアがいなくても、誰でもWebサイトを更新できるようにするシステム。
- 分離のトレンド: 最新のWeb開発では、管理機能(Headless CMS)と表示機能(Frontend)を切り離す構成が主流になりつつある。
- セキュリティ: 便利な反面、攻撃を受けやすいため、継続的なメンテナンス(アップデート)が絶対に必要。
- 適材適所: 「ブログならWordPress」「アプリ連携ならHeadless」「大規模ポータルならエンタープライズCMS」と、用途に合わせた選定が重要。
- API連携: CMSは単なる記事管理だけでなく、商品データや顧客情報のマスターデータ管理としても利用できる。