コンテンツにスキップ

第4部まとめ

第21講 / 全32講読了目安 約35分
  • APIとCMSの関係を一続きで説明する方法
  • コンテンツが管理画面からWebサイトへ届くまでの経路
  • 連携・公開・障害・移行でPMが判断する事項
  • 従来型CMSとヘッドレスCMSを案件条件で比較する方法
  • API・CMS要件を見積と責任分界へ落とし込む方法
flowchart LR
    E[編集者] --> CMS[CMS]
    CMS -->|API| F[フロントエンド]
    CMS -->|Webhook| B[ビルド・検索更新]
    B --> F
    F --> H[ホスティング・CDN]
    U[利用者] --> H
    F --> X[検索・フォーム・予約等のAPI]

APIはシステム同士の窓口です。

CMSはコンテンツを管理する仕組みです。

ヘッドレスCMSでは、CMSのコンテンツをAPIから取得し、フロントエンドがWebページへ変換します。

そのため、CMS選定とフロントエンド・ホスティング・公開方式を分離して考えつつ、運用上は一つの流れとして設計します。

  • 何を取得・作成・変更するか
  • 必要な項目・検索・件数
  • 正本はどのシステムか
  • どこまで最新性が必要か
  • 仕様
  • 認証・権限
  • レート制限
  • CORS
  • タイムアウト・再試行
  • エラー・部分成功
  • 検証環境
  • SLA・費用
  • 仕様変更
  • CMS化範囲
  • コンテンツモデル
  • メディア
  • 権限・承認
  • 予約公開
  • プレビュー
  • 多言語
  • 移行
  • バックアップ
  • 契約終了
  • CMS更新から反映まで
  • ビルド
  • Webhook
  • キャッシュ
  • 検索インデックス
  • フォーム・外部API
  • 障害時の旧表示・代替表示

API・CMS構成をレビューする質問

Section titled “API・CMS構成をレビューする質問”
  • 何のデータ・機能を利用するか
  • APIが要件を満たすか
  • 認証情報をどこに置くか
  • 最大件数・利用制限は何か
  • エラー時に何を表示するか
  • 本番以外でテストできるか
  • 仕様変更を誰が受け取るか
  • 誰が何を更新するか
  • ページではなく情報をどう構造化するか
  • 誰が公開できるか
  • 下書きをどこで確認するか
  • 予約公開はサイトまで反映されるか
  • 現行データをどう移すか
  • 解約時に何を出力できるか
  • CMS・API・フロント・ホスティングの契約者
  • 障害時の一次切り分け
  • ビルド失敗時の旧版維持
  • 検索・フォームの別サービス
  • 月額・従量費
  • 保守範囲

ケーススタディ1:コーポレートサイト+ヘッドレスCMS

Section titled “ケーススタディ1:コーポレートサイト+ヘッドレスCMS”
  • 500ページ
  • ニュース、事例、サービス、固定ページ
  • 更新は広報5名
  • 承認者2名
  • 静的配信
  • 問い合わせは外部フォーム
flowchart LR
    E[広報] --> C[ヘッドレスCMS]
    C -->|Webhook| B[ビルド]
    B --> W[静的ホスティング・CDN]
    U[利用者] --> W
    U --> F[外部フォーム]
  • ニュース・事例・サービスのコンテンツモデル
  • 固定ページの自由度
  • 承認フロー
  • プレビュー
  • CMS公開から反映までの時間
  • ビルド失敗通知
  • フォームとのデザイン・個人情報
  • 検索
  • CMS・ホスティング・フォームの契約
  • 移行とリダイレクト

ケーススタディ2:WordPress継続利用

Section titled “ケーススタディ2:WordPress継続利用”
  • 小規模サイト
  • ページ編集の自由度を重視
  • Web以外へのコンテンツ利用なし
  • 社内にWordPress保守担当
  • フォーム・検索を既存プラグインで運用
  • 予算・期間が限られる

ヘッドレスCMSへ移すことが必ずしも合理的ではありません。

既存運用が安定し、アップデート・バックアップ・セキュリティ対応を継続できるなら、WordPressを改善して使う案があります。

  • 本体・PHP・DB・プラグイン更新
  • 不要プラグイン削除
  • ステージング
  • バックアップ復元
  • 権限
  • WAF・管理画面保護
  • テーマ改修の保守性
  • 将来の移行可能性

ケーススタディ3:施設・イベントAPI連携

Section titled “ケーススタディ3:施設・イベントAPI連携”
  • 施設情報は業務システムが正本
  • イベントはCMS
  • Webサイトで施設×イベント検索
  • 営業時間はリアルタイム性が必要
  • API開発は別会社
flowchart LR
    B[業務システム] -->|施設API| F[Webフロント]
    C[CMS] -->|イベントAPI| F
    F --> S[検索表示]
  • 共通ID
  • 施設とイベントの関連づけ
  • API・CMSの更新タイミング差
  • 施設削除時
  • 検索インデックス
  • API未完成時のモック
  • 別会社の仕様確定日
  • 障害時の部分表示
  • データ責任

ケーススタディ4:問い合わせ+CRM

Section titled “ケーススタディ4:問い合わせ+CRM”
  • 問い合わせフォーム
  • CRMへAPI登録
  • 自動返信メール
  • 営業部へ通知
  • 個人情報を扱う
flowchart TD
    A[送信] --> B[入力検証]
    B --> C[CRM登録]
    C --> D[自動返信]
    C --> E[担当通知]
    C --> F[監査ログ]

CRMだけ失敗した場合、メールだけ成功した場合等を定義します。

  • APIの二重登録防止
  • タイムアウト
  • 再送
  • 個人情報保存
  • CRM障害時の代替
  • 利用者への完了表示
  • 運用通知
  • 本番・テスト環境
  • 保持・削除期間
  • 10年分の記事
  • 本文に古いHTML
  • 画像・PDF多数
  • URL変更
  • 公開日を維持
  • リニューアル作業中も更新継続
  • コンテンツ棚卸し
  • 新モデルへの変換
  • 移行ツール
  • テスト移行
  • 自動検証
  • 目視サンプリング
  • 初回投入
  • 差分移行
  • 更新停止
  • 最終差分
  • URLマッピング
  • リダイレクト
  • 公開後照合

CMS移行とサイト移行は連動します。

「APIは完成済みなので、フロント実装はすぐ終わる」と言われました。何を確認しますか。

回答例 必要項目・検索・件数・認証・制限・エラー・検証環境・応答速度・画面状態が要件を満たすか確認します。APIの存在と、Webサイト要件への適合は別です。

ヘッドレスCMSの記事公開からWeb反映まで10分かかります。クライアントは即時反映を想定していました。何が不足していましたか。

回答例 CMS公開だけでなく、Webhook、ビルド、デプロイ、キャッシュを含む反映時間の要件・説明・検証が不足していました。再生成方式等も比較します。

編集者から、どんなレイアウトも自由に作れるCMSを求められました。どう整理しますか。

回答例 必要なページ種類と更新頻度を確認し、固定テンプレート、構造化項目、許可するブロックを分けます。完全自由は品質・アクセシビリティ・保守・教育負荷を増やすことを説明します。

API登録がタイムアウトしたため自動再送し、同じ予約が二件作られました。何が必要でしたか。

回答例 処理識別子による重複防止、登録結果の状態照会、再送可能条件、タイムアウト時の運用確認が必要でした。

SaaS型CMSに移行したので保守契約をなくしたいと言われました。何を説明しますか。

回答例 CMS基盤更新は減っても、フロントエンド、ライブラリ、API、ビルド、検索、フォーム、権限、障害切り分け、料金・仕様変更対応は残るため、保守対象を再定義します。
  • API・CMSを使う目的を業務要件から説明できる
  • 送受信データと正本を整理している
  • API仕様・認証・制限・エラーを把握している
  • ブラウザ・サーバーのどちらからAPIを呼ぶか決めている
  • テスト環境とモックを用意している
  • CMS化範囲・更新者・頻度を整理している
  • コンテンツモデルと参照関係を設計している
  • 権限・承認・予約・緊急公開を決めている
  • プレビューを本番に近い条件で確認できる
  • CMS公開からサイト反映までの経路を図示している
  • Webhook・検索・フォームの障害時対応を決めている
  • 移行・差分・更新停止・品質確認を計画している
  • バックアップと復元方法を確認している
  • 契約者・月額費・従量費・終了時移行を把握している
  • CMS、フロント、API、外部サービスの保守責任を分けている

製品デモにある機能を要件とせず、業務・情報・公開フローから設計します。

エラー、遅延、重複、Webhook失敗、ビルド失敗、外部障害の対応を含めます。

CMSとWebサイトを同じものとして扱う

Section titled “CMSとWebサイトを同じものとして扱う”

ヘッドレス構成では、CMS公開とWeb公開が別工程です。従来型でもキャッシュ・外部連携があります。

一覧、検索、プレビュー、公開後の表示、権限、移行、保守まで確認します。

データ移行を単純コピーと考える

Section titled “データ移行を単純コピーと考える”

新モデルへの変換、HTML品質、画像、URL、差分、公開状態、関連データを扱います。

Q1. APIとCMSの関係を説明してください。

Section titled “Q1. APIとCMSの関係を説明してください。”
回答と解説 CMSはコンテンツを管理する仕組みで、APIはそのコンテンツや機能を別システムが利用する窓口です。ヘッドレスCMSではAPI経由でフロントへ配信します。

Q2. CMS製品を選ぶ前に何を整理しますか。

Section titled “Q2. CMS製品を選ぶ前に何を整理しますか。”
回答と解説 CMS化範囲、コンテンツ種類・項目・関係、更新者、権限、承認、公開、プレビュー、多言語、移行、保守等です。

Q3. API連携の見積が、単なるデータ取得作業より大きくなる理由は何ですか。

Section titled “Q3. API連携の見積が、単なるデータ取得作業より大きくなる理由は何ですか。”
回答と解説 認証、制限、エラー、タイムアウト、画面状態、検証環境、監視、仕様変更、個人情報等を設計・テストするためです。

Q4. 従来型CMSとヘッドレスCMSの選定で、最も重要な考え方は何ですか。

Section titled “Q4. 従来型CMSとヘッドレスCMSの選定で、最も重要な考え方は何ですか。”
回答と解説 新旧や人気ではなく、コンテンツ・機能・表示、更新、保守体制、費用、複数チャネル等の案件条件と責任分界で比較します。

Q5. CMS公開が成功してもWebサイトが更新されない原因を挙げてください。

Section titled “Q5. CMS公開が成功してもWebサイトが更新されない原因を挙げてください。”
回答と解説 Webhook、ビルド、デプロイ、検索インデックス、CDN・ブラウザキャッシュ、フロント実装等の問題が考えられます。

次を自分の言葉で説明できれば、第4部の基礎は理解できています。

  • APIがシステム向けの窓口であること
  • リクエストとレスポンス
  • REST、エンドポイント、JSON
  • 認証と認可
  • CORS、レート制限、タイムアウト、再試行
  • CMSが管理するコンテンツ・公開状態・権限
  • 構造化コンテンツ
  • 従来型CMSとヘッドレスCMSの違い
  • コンテンツモデル
  • プレビュー、Webhook、ビルド
  • CMS移行とバックアップ
  • API・CMS・フロントの責任分界

次の第5部では、こうして作ったWebサイトの品質を守るため、セキュリティ、テスト、アクセシビリティを学びます。