見出し画像

コンテンツ管理者が「お知らせ」の多重運用を改善したいときに読む記事

この記事は「株式会社メンバーズ Jamstack研究会主催 Advent Calendar2023」の13日目の記事です。


課題の整理

大規模なウェブおよびアプリケーションのコンテンツ運用においてはレガシーな仕組みで運用されることが多いため、しばしば「大事なお知らせ」エリアがWordPressやMovable Typeサイトなどとアプリの両方に掲載される必要があります。これに加え、お知らせの詳細は一覧ページやハンバーガーメニュー内にも掲載されることが一般的であり、単一のコンテンツを管理・掲載するためには多岐にわたるワークフローが求められます。
特に「大事なお知らせ」はインシデント発生時など対応が求められることがあり、この際に掲載箇所は増加するほど手間がかかり、ビジネス側の期待に応えられない場合も多く、課題に感じる現場が多いと思います。

WordPressのいろいろな画面を編集しなければならない場合も

そこで、このような課題に対処する手段として情報ソースの一本化を考えます。
JSON化やAPI化を通じて情報と見た目を切り離し、「この情報がここにアップされていたら(複数の箇所で)表示する」という自動化されたワークフローを導入することが有益です。
この自動化により、一元的な情報ソースから柔軟に複数箇所に掲載することが可能となります。
この自動化を実現するためには、いくつかの概念を理解する必要があります。以下に、具体的な例と用語の説明を交えながら、より理解しやすい形に記事を整理していきます。

解決策の「JSON(API)化」

情報を一元的なフォーマットで取り扱う手段として、JSON(JavaScript Object Notation)が存在します。これはCSVやXMLと似たフォーマットで、よりJavaScriptで操作しやすい形状になっています。このフォーマットを活用して画像やテキストを統一的に管理することで、同じ情報を異なる媒体にスムーズに反映させることができます。例えば、以下はJSONの基本的な構造の例です。

{
  "title": "お知らせタイトル",
  "content": "お知らせの詳細内容",
  "date": "2023-12-09"
}

JSONに入っている情報をすべて使わないとエラーになる、などではないため、たとえば、titleには大きな見出しで書くもの、contentには小さい文字で書くもの、dateには日付を入れたり、あるいはdateは表示しないデバイスがあるとかそういった調整がデバイス/環境ごとに可能です。(色々な場所での表示仕様を策定し、管理する必要があるということと表裏一体ではあります)

ただし、JSONはテキスト以外の情報を持つことはできません。ウェブページではJavaScriptを用いてこのJSONを読み込んで、たとえば「その中のtitleをh2でこういうclassをつけてこのアイテムの下に配置してください」という指示を書く、開発対応が必要になります。
アプリの開発でも同様に、初期段階ではJSONを読み込んでそれを描画する処理を書く必要があります。
しかし、一度開発ができれば、JSONを更新するだけですべてのデバイスの処理が走ってテキストや表示する画像のURLを更新することができます。
ウェブサイトでいえば見た目はCSSだけで変更できてCMS側の変更はいらないため、よくある「開発のためにコンテンツ更新を止めなければならない」「コンテンツ更新があるからリリースができない」をなくすことができます。これはアプリなど、他の環境にも適用することが可能です。

人間に運用しにくい「JSON(API)」をどう運用するか

ただし、JSON単体では複雑な情報や更新に対処するのが難しい場合があります。平文で書こうとするとダブルクォーテーションで囲まなくてはならない、英語で名前をつけなければならないため読みにくいなど、構文の記述ミスで表示崩れを起こしてしまう危険性があることも事実です。
そこでヘッドレスCMS(Headless Content Management System)が注目されます。
ヘッドレスCMSはいわゆるMovable TypeなどのCMSとは異なり、GUI上で編集したコンテンツやバージョン履歴、公開設定などをJSONで出力する機能だけを持ち合わせているので、そうしたフォーマット起因による表示崩れにも強くなります。
CMSのリプレースは不要で、今あるコードの一部をそのJSON由来の要素に置き換えるだけということもできるので、かなりの低コストで根本改善を行うことができます。
導入によって、JSONにフォーマット化された情報は柔軟な更新と異なるプラットフォームへの対応が容易になります。このアプローチを使うことで、例えば同じお知らせをウェブサイトとアプリケーションで同時に更新できるようになります。

結論

ウェブからもアプリからでも参照しやすいJSON形式によって情報を一元化し、ヘッドレスCMSによってそのJSONの運用を他のコンテンツと同等あるいはそれ以上に簡単にする手法を駆使することで、安全な情報管理と表示のリードタイム向上が期待できます。
詳しくはmicroCMSなど、ヘッドレスCMSを提供しているサービスの無料プランを使ってみて、習うより慣れよの精神でやってみることをおすすめします。
コンテンツ運用担当者の皆様にとって、より効果的かつスムーズな作業環境の構築に寄与することを期待しています。

この記事が気に入ったらサポートをしてみませんか?