microCMSの利用をやめた

2025年5月23日

2025年5月23日

はじめに

ヘッドレスCMSを利用すると、コンテンツの管理と表示が完全に分離され、フロントエンドを自由にカスタマイズできます。また、コンテンツの管理機能を独自に実装する必要がないという利点もあります。しかし、コンテンツ管理のためにヘッドレスCMSを採用するとかえって柔軟性が下がってしまう場合があります。

ヘッドレスCMSが使いにくい

このブログを運用するために、以前まではmicroCMSというヘッドレスCMSを利用していました。なぜなら、コンテンツの表示部分を自作したかったからです。しかし、ブログのフロントエンド側の機能が増えるにつれ、ヘッドレスCMSの欠点が大きくなっていきました。

コンテンツの検索に時間がかかる

例えば、記事の検索機能の実装にあたり、当初はmicroCMSのコンテンツ検索機能を利用していました。機能を実装することはできたのですが、記事の検索結果が返されるまでに数秒間かかってしまいました。microCMSが外部サーバーの全文検索エンジンを用いており、通信のオーバーヘッドが発生しているからではないか?と考えましたが、どのような理由があるにせよ、ユーザーである私がこの問題に対処する方法はありません。

コンテンツのデータ形式が扱いにくい

microCMSでは、一部のコンテンツのデータがHTML形式で返されます。HTML形式のデータは予めセマンティクスが決まっているため、バックエンド側でコンテンツのデータを編集できません。これに対して、マークダウン形式のデータであれば、HTMLに変換する際に任意のセマンティクスを付与できるため、より柔軟性が高いです。

アップロードできるファイルが限られている

microCMSで、無料(Hobby)プランを利用してコンテンツを作成する場合は、画像ファイルしかアップロードできません。過去の発表資料としてPDFファイルをアップロードしたかったのですが、microCMSが対応しておらず、代わりにオブジェクトストレージを使うことになりました。その結果、コンテンツ管理の手間が増え、ヘッドレスCMSの恩恵を十分に受けられなくなりました。

有料化されたときにすぐに対応できない

microCMSは2025年3月に、有料プランの値上げを発表しました。2021年頃から世界的にインフレが進んでいるため、SaaSの利用を検討する際は、値上げリスクを考慮せざるを得ません。特に、microCMSの場合は、有料プランの値上げ発表から実施までわずか3か月しかありません。 私がこのままmicroCMSを使い続ければ、徐々にmicroCMSへの依存度が高まっていくのは明らかです。そのような状況で、もし突然、無料プランを廃止すると発表された場合、すぐにアプリの構成を変更するのは難しいです。

今後のブログ運用

今回の反省を踏まえ、今後は全てのコンテンツをGitで管理する予定です。記事に関しては、以下の手順で公開しています。

  1. 記事をマークダウン形式で記述
  2. コンテンツをリポジトリにアップロード
  3. Node.jsでディレクトリ内のマークダウンファイルを検索
  4. パーサーでマークダウンをHTMLに変換

マークダウン形式の記事を作成する際は、Obsidianを利用しています。 新たな構成では、全てのコンテンツがアプリケーションサーバーに配置されるため、記事を読み込む際にローカルのファイルシステムへのアクセスが必要になります。そのため、今後アプリをデプロイする際は、Node.jsに対応しているクラウドサービスを利用することになります。


記事をシェア