BLOG
ヘッドレスCMSとは?選択する前に知っておくべきこと。
INDEX
Webサイトを運用するにあたり、htmlに詳しくない人でも簡単に更新できるようにするために従来ではWordpressなどのCMSがよく使われてきました。しかし、最近ではヘッドレスCMSと呼ばれる新しい選択肢も注目されるようになってきました。
この記事では、ヘッドレスCMSを選択する前に知っておくと役立つ情報についてエンジニア目線での解説をしていきます!
まずは従来のCMSであるWordPressの問題点について理解する必要があります。
WordPressの問題点
セキュリティ上のリスク
WordPressは多種多様なテーマ・プラグインから目的に応じてカスタマイズすることが可能なCMSで、世界で最も使用されています。しかし、ユーザー数も多く、オープンソース型のCMSである上に、直接データベースにもアクセスできてしまうことから攻撃の対象になることが多くあります。
アップデートの管理が必要
WordPressは定期的にアップデートがリリースされます。アップデートには新しい機能やセキュリティ修正が含まれているため、ウェブサイトを運用する上では欠かせないものですが、アップデートの管理が面倒であったり、アップデートに失敗した場合には、ウェブサイトが正常に動作しなくなる可能性があります。
最近は自動アップデートがデフォルトで有効になっていますが、一部のプラグインやテーマは、新しいWordPressバージョンと互換性がない場合もあるので、自動更新される前に互換性を確認する必要があります。
ヘッドレスCMSとは?
WordPressのような従来のCMSだとフロントエンド(見た目や動作を担当する部分)とバックエンド(コンテンツを管理する部分)の両方の機能を有しています。
それに対して、ヘッドレスCMSはフロントエンドが存在せず、バックエンドのみを担当するCMSのことを指します。※WordPressをヘッドレスCMS的に使う場合もありますが今回は割愛します。
そして、ヘッドレスCMSで登録したコンテンツはAPIで取得することができます。
Web開発の話になりますが、登録したコンテンツをAPIで取得できるという点が、Jamstackと相性が良いため、ヘッドレスCMSを導入する場合はJamstackで開発を進めるケースが多いです。
Jamstackとは?
JavaScript、API、そしてマークアップ(Markup)の3つの技術を組み合わせたWeb開発の設計手法です。
ざっくり説明すると、JamstackではAPIで取得した情報を静的サイトジェネレータ(SSG)を使用して静的ファイル(HTML、CSS、Javascript)を生成します。そして、一般的には生成された静的ファイルはレンタルサーバーではなく、NetlifyやVercel、AWS Amplifyなどのホスティングサービスを使用して静的ファイルをホスティングします。そうすることでCDN(コンテンツデリバリーネットワーク)を利用することができるため高速な読み込みが可能になります。
ヘッドレスCMSのメリット・デメリット
ヘッドレスCMSでJamstackでWebサイトを構築した場合のメリット・デメリットとなります。
メリット
セキュリティが向上する
外部に公開されているのはあらかじめ生成された静的ファイルとなっています。そのため、攻撃者から見ると内部構造を理解することが困難となり、コンテンツ管理システムに対する攻撃リスクが低くなります。
アップデート管理が不要
SaaS型ヘッドレスCMSを使用することで、アップデートも自動で行われますので、セキュリティも常に最新の状態に保たれます。そのためコンテンツの運用だけにリソースをあてることが可能になります。
表示速度を上げることができる
WordPressはユーザーのリクエストごとにページを生成するため、ページの表示に時間がかかる場合がありますが、Jamstackではあらかじめ生成されたコンテンツをCDN上に配置することで、ページの生成処理を削減し、高速かつ安定したWebサイトを提供することができます。
マルチデバイス対応ができる
ニュース記事やプレスリリースなどを更新する場合、ヘッドレスCMSではAPIから情報を取得することができるため、WebサイトだけでなくiOSやAndroidアプリなどでも同じ情報を共通で更新することができます。
フロントエンド開発の柔軟性が高い
ヘッドレスCMSではフロントエンドとバックエンドが分離されているため、フロントエンド側で最新の技術を自由に取り入れることができます。これにより、開発効率を高めることができます。
デメリット
フロントエンドエンジニアの開発スキル・知識が必要
ヘッドレスCMSを使用してJamstackな設計を取り入れたWebサイトを構築する場合、以下の開発スキル・知識が必要になってきます。
- API設計
- 静的サイトジェネレータ(SSG)
- Git
- ビルド
- ホスティングサービス
更新が反映されるまで少し時間がかかる
コンテンツ更新の反映時間は、ヘッドレスCMSの種類や導入方法、コンテンツ更新の仕組み、設定などによって異なります。一般的に、静的サイトジェネレータを利用してホスティングしている場合は数秒から数分程度で反映されます。ただし、CDNやキャッシュ機能などを利用している場合は、反映までの時間が変化する可能性があります。
ヘッドレスCMS紹介
代表的なヘッドレスCMSをいくつか紹介します。
microCMS
microCMSは、スタートアップ企業から大手企業まで、幅広いユーザーに利用されている日本製ヘッドレスCMSです。APIの使い方が簡単で管理画面もシンプルです。公式から日本語のチュートリアルも多く用意されているため、開発初心者の方にもおすすめです。
Kuroco
Kurocoは、金融機関・商社・メーカー・IT関連など、上場企業から中小企業に至るまで、幅広い法人・団体で利用されている日本製ヘッドレスCMSです。ログイン・ログアウト、メルマガ配信など会員制サイトを構築する機能が標準で用意されています。
Newt
Newtは、2022年3月から提供が開始された日本製のヘッドレスCMSです。上の2つと比べるとサービス提供日は新しいですが、コーポレートサイトやLPなどを中心に導入されています。テンプレートが用意されており、カスタマイズも容易にできます。
Contentful
Contentfulは、海外で最も有名で導入実績も多数あるドイツ製ヘッドレスCMSです。利用者が多いため、ドキュメントや開発事例が豊富にあります。
Strapi
Strapiは、Node.js環境において動作するオープンソースのヘッドレスCMSです。Javascriptベースであり、カスタマイズ性が高いです。標準機能に足りない部分は豊富なプラグインからカスタマイズできるため、開発者にとって使いやすい環境になっています。
まとめ
ヘッドレスCMSが向いているケース
- セキュリティを重視したい
- Webサイトのパフォーマンスを高めたい
- マルチデバイスに対応したい
ヘッドレスCMSサービスによって提供される機能やカスタマイズ性が異なります。また、無料から有料まで様々な価格帯があります。プロジェクトの規模や予算、更新頻度に応じて選択するヘッドレスCMSサービスを決めていきましょう。
以上、参考になれば幸いです。