デジタルマーケティングTips

ヘッドレスCMSの導入が向いているケース3選

記事タイトル画像:ヘッドレスCMSの導入が向いているケース3選

ヘッドレスCMSが流行の兆しを見せています。とはいえヘッドレスCMSの導入が向いているかどうかは場合によります。ヘッドレスCMSの導入が向いている場合の例について解説します。

要点

ヘッドレスCMSを導入すべきかは場合により、システム/コンテンツの状況に応じた使い分けが重要。おすすめの場合は例えば以下のとおり

  1. 複数サイトで共通のコンテンツを一元管理したい場合
  2. スマホアプリやIoTなどWebサイト以外でCMSを使いたい場合
  3. デザイン・機能的に独自開発率が高く、CMSの標準テーマ/外部プラグインの恩恵が希薄な場合

メルマガでも情報を配信中です! ぜひご登録ください。

ヘッドレスCMSとは

「ヘッドレスCMS」とは、コンテンツ管理システム(CMS)の中でも、コンテンツの編集・管理・出力のみに機能を特化させ、従来CMSの役割であった【画面表示(ヘッド)】に関与しないものを指します。

詳細は以下の記事もご参照ください。

◇CMS導入が困難な状況でも使える、Web制作支援システム3選 - デジタルマーケティングTips
 https://www.maxmouse.co.jp/tips/2020/1225/

ヘッドレスCMSは、ヘッドレスであること以外にも

  • クラウド提供でメンテナンスフリー
  • スケーラビリティに優れ、小規模お試しから本格的なビジネスユースまで耐える
  • CMSがインストールできない低価格サーバーのサイトに、CMS機能を外付けできる
  • といった特長を持つ製品が多数あります。が、本稿では、根幹となる「ヘッドレス」であることが、従来のCMSと比べて利点となる場合について解説します。

    該当するサイトの構築・運用に苦労している場合、ヘッドレスCMSへの移行を検討することをおすすめします。

    従来型CMSのヘッドレス対応もチェック

    従来のCMSの一部には、ヘッドレス対応(API出力対応)が進んでいるものがあります。この場合、別のヘッドレス専用CMSへデータを引っ越しすることなく、既存Webコンテンツのヘッドレス化が実現できます。現在使用しているCMSの対応動向はチェックしておきましょう。

1. 複数のサイトにまたがる共通コンテンツをCMSで一元管理したい場合

図:複数サイトのコンテンツ一元管理

ドメインもサーバーも別々のサイトで同一のコンテンツを管理する場合、サーバーごとにCMSやコンテンツを入れると、コストもサイト数に応じて倍増します。コスト倍増を避けるには、コンテンツ本体を一元化する必要があります。

※Movable Type・WordPress等には、1つのパッケージで複数のサイトを管理する機能があります。ただしこの場合、各サイトのコンテンツはそれぞれ別々のデータとしてデータベースに保存されます。

一元化手法の例としては、

  • サイトとは別のサーバーにコンテンツ管理用のCMSや静的サイトジェネレーターを用意する
     ↓
  • 表示用に出力されたコンテンツを、各Webサーバーにアップロードする

という方法があります。(例:Movable Typeクラウド版のサーバー配信機能)

ただしこの際、以下の問題が発生します。

  • 表示HTMLの静的出力ができないCMSでは使えません。
  • 定期自動アップロードができない環境では、手動で転送作業を行う必要があります。
    サイト規模・更新頻度・サーバー環境によっては作業コストの肥大化が問題となります。

そこで、ヘッドレスCMSを使うと、以下のような形で効率的な解決が可能です。

  • コンテンツ本体はヘッドレスCMSで一元管理する
  • 表示する各サイトにアクセスがあった時に、サイトからヘッドレスCMSのコンテンツをAPIで呼び出すしくみにする (これにより手動転送作業を回避する)

2. Webサイト以外(スマホアプリ等)でCMSを使いたい場合

図:マルチデバイスのコンテンツ一元管理

スマートフォンアプリやIoT機器等、Web以外のシステムからCMSを使いたい場合には、従来のWeb用CMSよりヘッドレスCMSのほうが向いています。

従来のCMSに付随するWeb表示機能がWeb以外で役に立つのは、アプリ内のWebViewでWebコンテンツを表示する場合など一部に限られます。Web以外では、純粋にデータ本体だけをやり取りできるCMSの方が、汎用性が高くなります。

各デバイス向けに個別にクライアントを開発する場合は、理想的な役割分担を突き詰めると以下のような形になります。

  • CMSは汎用性の高い形式(JSONなど)でコンテンツデータだけを出力
  • アプリ/サイトは、データを受け取ったら各々の画面設計に基づいてコンテンツを表示

これら一連の動きを認証付きで行う(他者に勝手にコンテンツを使われないようにする)ことを考えると、従来型CMSでの実装は骨の折れる作業となります。初めからAPIありきで作られたヘッドレスCMSを使う方が断然理にかなっています。

そのほか、Unity(C#)のように、ネイティブアプリ・Webアプリをまとめて開発できる環境からCMSのデータを扱う場合も、開発言語の依存が少ないぶんヘッドレスCMSの方が適しています。

3. 独自開発比率が高く、CMSのテーマや外部プラグインの恩恵が希薄な場合

図:独自開発とCMS導入の違い

従来型CMSは、出来合いのデザインテーマや機能拡張用のプラグイン/モジュールが充実しており、これらが自サイトのニーズとマッチする場合は、開発効率化に大きく貢献します。

逆に、これらを使わず独自のデザインや機能開発を主とする場合は、CMSのメリットが希薄で、むしろ制約となる場合があります。

CMSをカスタマイズして独自の機能を組み込む場合、原則としてCMSが動作するプログラミング言語での開発が必要です。※1 (例えば、Movable TypeならPerl、WordPressやDrupalならPHP、Adobe Experience ManagerならJava、など)

エンジニアにはそれぞれ言語の得意不得意があり、その言語も時代によって変わる※2ので、開発言語がCMSによって制約されると、将来的にカスタマイズ・保守のスピードやコスト効率化を妨げる場合があります。

その点ヘッドレスCMSはフロントエンドの開発言語に制約がなく、開発の柔軟性に富んでいます。デザインもシステムも一から十まで自分で作るサイトなら、CMSの役割をコンテンツ管理のみにとどめたヘッドレスCMSの方が、理にかなった開発がしやすくなります。

※1:内容によってはCMSの言語と関係なくJavaScript等で開発する場合もあります。(主に表示演出などサーバーサイドの動作を伴わないもの)

※2:例えばPerlは、Webシステム開発において1990年代後半~2000年代初頭を中心に広く使われましたが、2000年代後半に主役の座をPHPに譲ってからは、使えるエンジニアが減少傾向にあります。

よくある質問

検索エンジン最適化(SEO)には向いているの?

SEOにおいてヘッドレスCMSは諸刃の剣です。SEOやサイト設計・実装の知識を持っている人にとっては、実装の自由度がプラスに働きますが、何も考えずに作ると落とし穴にはまる場合があります。

構築時に実装の要件として注意しておくべき点は以下の通りです。

  • titleや各種metaタグ(もしくはドキュメントオブジェクトモデル(DOM)内の該当要素)をページごとに個別に設定し、それがブラウザおよび検索エンジンにも反映されるようにする
    (SNS投稿時のプレビュー枠を意識する場合は、Twitter Card ValidatorやFacebook Share Debugger用の要素にも個別の内容が反映されるようにする)
  • 初めから読み込み高速化に適した実装・運用方法を選択する(場合によってはサーバー側でのキャッシュデータ保存や静的サイトジェネレーター(SSG)との併用も検討する)

まとめ

ヘッドレスCMSを適した場面で使うと、従来のWeb用CMSよりも開発スピードやコストを改善しやすくなります。システム/コンテンツの内容に応じて、使用するCMSの種類を使い分けることが、開発の高速化・効率化のためには重要です。

関連ページ

マックスマウスからのお知らせ

CMS導入・運用に役立つ情報をメールマガジンでお届け!

CMS導入・運用を始めとして、Webサイトでの情報発信の安定化・効率化、脆弱性対策、Flashコンテンツ置き換え、Webプロモーションなどなど、Web制作・マーケティング関係者向けの課題解決に役立つ、便利なサービス情報や活用法などをご案内します。

いますぐご登録ください!