2019の11日目の記事です。(提供元には事前に許可を得て掲載しています)==========世界中がクラウドにシフトしている中、CMSはおよそ20年間、古い技術・アーキテクチャのままでした。それらは今でも動作しており、WordPressは全Webサイト中で34%のシェアがあります。イノベーションとより良いデジタル体験の需要の高まりにより、モダンなフロンエンドツールは、より軽くて速くてセキュアなサイトを構築できるようになりました。あなたのウェブサイトのコンテンツは依然として前のままですよね?是非ヘッドレスCMSの世界に足を踏み入れてみましょう。ヘッドレスCMSとそのエコシステムを踏まえつつ、GitベースのCMSとAPIベースのCMSについてこれらの違いや利点、課題を解説します。GitベースのCMSGitベースのCMSでは変更があるとまずGitリポジトリにpushされます。何もしなくても自動的にGitリポジトリ内でファイルの管理をしてくれます。長所・短所を見ていきましょう。APIまたはGraphQL)にアクセスすることができます。よって、あなたは構造化されたデータを取得できる上に、どんな言語、フレームワークを使おうとも自由です。複数のアプリやウェブサイトでコンテンツを一括管理するのに向いている複数のフロントエンドでコンテンツを扱うのが簡単たくさんのオプションがあるので、好きなようにCMSをカスタマイズすることができる膨大なデータを扱うことができる短所Gitによるバージョン管理がされないGitベースのワークフローがないたいてい、ストレージやAPIリクエスト数のリミットがある大きな変更を伴う開発にも依存してしまう次にこれらのシステムの利点と課題を見ていきましょう。複数オブジェクトのバージョン管理が可能Drupal、Kirby、WordpressといったCMSは限定的なバージョン管理機能を持っています。それは単体オブジェクト、もしくは不完全なデータ構造の管理を意味します。ブログやシンプルなサイトなど、通常のコンテンツ管理においては特に問題はありません。現代においてほとんどのブランドに必要なマルチアセットなデジタル体験を提供することはできません。多くの場合、コンテンツとソースコード(CSSやJavaScript)の間には関連があり、これを考慮する必要があります。あるタイミングにおける編集内容をトラッキングするだけでは不十分です。ファイルを以前のバージョンにフォールバックする機能は、基本的なコンテンツの編集には適していますが、法的監査、会社のブランド変更といったより高度なCMSを必要とする現実のシナリオには適していません。そのため、プログラミング空間のような複数オブジェクトのバージョン管理が必要です。Gitはソースコード管理において最も人気のあるバージョン管理システムであり、今日のデジタル体験にはコンテンツと技術コンポーネント両方の管理が必要なのです。分散型のリポジトリ従来のCMSモデルとは異なり、Gitを使用すると開発者は独自のローカルリポジトリを所有でき、それらはすべてリモートリポジトリから生成されます。バージョン管理とワークフローの共有は迅速かつ簡単です。GItベースのシステムを使用すると、開発者ローカル環境で作業でき、かつそれがCMSの一部となります。開発者は日常的に利用している好みのツールを制限なしに使うことができます。ブランチ機能ブランチ機能のおかげで、プレビューとほぼ無制限のステージング環境を作成でき、開発が容易になります。開発者も編集者も主要な機能追加やサイトの改良を実験しつつ作業できます。Homeといった音声支援デバイスを使用してニュースを聞いたり、オンラインで買い物をしたり、タスクを設定したり、ウェブを検索したりしています。従来のCMSプラットフォームではこのような体験を提供できませんが、APIベースのCMSであれば可能です。必要なのはそのデバイス用のAPIを開発し、つなぎ込みをすることだけです。デバイスに制限は全くありません。良いマーケティングインテグレーションAPI駆動の環境のおかげでマーケティングオートメーション、CRM、分析などの最も人気のあるマーケティングツールを自由に統合できます。いつでも削除できます。これによりデジタル体験プラットフォームを適切な方法で迅速に変更することができます。コンテンツ再利用の高速化APIベースのCMSを使用すると、すべてのコンテンツが一元的に保存されるため、コンテンツを任意のチャネルに配信できます。コンテンツの作成者はコンテンツを1度作成するだけで任意のデバイスに再利用できることを意味します。昨今のオムニチャネルな世の中においては、各チャネルごとにコンテンツを個別に作成する必要がなくなることで、多くの時間を節約できるのは大きなメリットとなります。GitベースのCMSの課題SEOのための特別な措置が必要GitはSEOを改善するための特定のサポートがありません。検索順位を上げるには、サイトマップの生成、metaタグとOGPの使用、モバイルフレンドリーなテーマの作成など、いくつかの手順を実行する必要があります。GitHubはプラグインを実行しないGitHubはプラグインを走らせてくれません。何らかをカスタマイズする必要がある場合、ローカルで生成されたコンテンツをプッシュすることで簡単に軽減できます。APIベースのCMSの課題Web開発者に依存しすぎるカスタムなフロントエンドを作成する必要があると、チームの作業量が増えます。変更が必要な場合は、マーケティングチームとWeb開発チームの間でコミュニケーションが必要です。コンテンツプレビューが問題(一部のCMS)APIベースのCMSソリューションには、コンテンツ作成者がコンテンツを入力できるエディターが付属しています。プレビューを実現するには、事前にプレビュー用の実装を自分で設定しておく必要があります。中にはプレビュー機能がまったくないCMSもあります。ユーザー側からページがどのように表示されるのかを確認できないのはかなりの不利です。コストがかかるAPIファーストのCMSを使用する際には、インフラのコスト(ホスティングサーバーやCDN等)に加えて、開発、メンテナンス、セキュリティのコストも必要です。結局、どのヘッドレスCMSを選ぶべき?この答えは簡単ではありません。数百の記事を作成し、数秒ごとにWebサイトを再構築する必要がない場合、GitベースのCMSの方が優れているでしょう。プロジェクトのニーズ次第です。理解するだけでなく、その背後にある技術も理解して判断しなくてはなりません。CMSDirectusRooftop==========おわりに弊社が開発しているmicroCMSはAPIベースの日本製ヘッドレスCMSです。日々改善を進めていますのでご興味ある方はぜひ触ってみてください。ご意見・ご要望は管理画面右下のチャット、公式Twitter、メールからお気軽にご連絡ください。