Notion・Framer連携

NotionとFramer CMSを連携する方法

Notionのプロパティ(項目)とFramer CMSのフィールドを一度対応づければ、Notionに書かれた内容がFramerのサイトに届きます。このページでは、連携の手順、クライアントが編集したあとの挙動、Framer公式プラグインとの違い、うまくいかないときの確認点をまとめます。

NotionとFramerの連携でできること

NotionとFramerの連携とは、Notionのデータベースの各行と、Framer CMSのコレクションの各アイテムを対応させ続けることです。Notionに追加された行は新しいCMSアイテムになり、編集された行は更新され、削除された行はコレクションからも取り除かれます。誰かが内容を書き写す必要はありません。

Framerでのデザイン作業は何も変わりません。サイトが読み込むのはこれまでどおりFramer CMSで、コレクションを参照しているレイアウトやコンポーネントもそのままです。変わるのは、そのコレクションを誰がどこから更新するかだけです。

連携の手順(5ステップ)

設定はサイトごとに一度だけです。所要時間はおおよそ5分。事前にFramerプロジェクトとNotionデータベースの編集権限を用意してください。

  • 1. Framerプロジェクトを接続する。FramerのプロジェクトでServer APIキーを発行し、KnotCMSに貼り付けます。エディタの外からCMSに書き込むために必要な鍵です。
  • 2. Notionデータベースを接続する。NotionでKnotCMSを承認し、対象のデータベースを選択します。一覧に表示されない場合は、Notion側でそのデータベースをインテグレーションに共有してください。Notionは明示的に共有されたページしか公開しません。
  • 3. フィールドを対応づける。タイトルはタイトルへ、リッチテキストはフォーマット済みテキストへ、ファイルは画像へ、というように各プロパティの行き先を指定します。対応づけなかったプロパティは同期されません。
  • 4. スラッグ項目を指定する。Framer CMSは各アイテムに重複のない空でないスラッグを要求します。スラッグに使うプロパティを選び、全行が埋まっていること、同じ値が二つないことを確認してください。日本語だけの値は空と判定されることがあるため、英数字での指定をおすすめします。
  • 5. Notionページをクライアントに共有する。ここから先、更新のきっかけはクライアントの編集そのものになります。

この5ステップのうち、あとから問題になりやすいのは4番だけです。行が増えたときにスラッグが空のまま残る、あるいは既存の行を複製して同じ値が二つできる、というのが最もよくある同期エラーの原因です。

クライアントが編集したあとの挙動

クライアントがNotionを編集すると、KnotCMSがその変更を受け取り、Framer CMSのコレクションを更新します。有料プランでは、KnotCMSが1分ごとにNotionを確認し、変更があれば同期します。Notion側でWebhookを設定する必要はありません。無料プランでは確認は1日1回で、ダッシュボードから手動で同期することもできます。

同期された内容は既定では下書きとして入ります。確認してから公開するという段階を挟めるため、クライアントの編集がそのまま本番サイトに出ることはありません。サイトごとに自動公開を有効にすれば、この段階を省略できます。

Framer公式のNotionプラグインとの違い

Framerには公式の無料Notionプラグインがあります。自分で運用しているサイトなら、まずこちらで十分です。費用はかからず、Framerが保守しています。

違いは同期が動く場所です。公式プラグインはFramerエディタの中で動き、編集権限を持つ人がプラグインを開いてSyncを押したときだけ同期します。納品後のサイトでは、クライアントがNotionを更新しても、あなたがFramerを開くまで反映されません。KnotCMSは外部のサーバーで動くため、誰もFramerを開かないまま反映と公開まで進みます。

選び方の詳細と、公式プラグインのほうが優れている点については比較ページ(英語)にまとめています。

同期がうまくいかないとき

公式プラグインでもKnotCMSでも、同期が止まる原因の多くはNotion側の状態にあります。最初に確認すべきは次の3点です。

  • スラッグの重複と空欄。Framer CMSは重複のない空でないスラッグを必須とします。1行でも条件を満たさないと、同期全体が止まります。
  • インテグレーションの共有が外れていないか。Notionの共有はページ単位です。データベースを複製すると、複製先は別のデータベース扱いになり、共有設定は引き継がれません。
  • 対応していないプロパティ型。マルチセレクトやロールアップなど、Framer CMSに対応する型がないプロパティは連携できません。数式やテキストのプロパティに変換して、そちらを対応づけてください。

エラーメッセージごとの意味と確認手順は同期エラーの原因と対処(英語)にまとめています。

料金

無料プランは1サイト、同期は1日1回・合計10回まで、1回の同期あたりCMSアイテム50件まで。実際のサイトで一連の流れを確認するには十分な範囲です。

Starterは1サイトで月額9ドル(年額85ドル)。1分ごとの同期、無制限の同期回数、任意の自動公開が使えます。Studioは5サイトで月額39ドル、Agencyは20サイトで月額99ドルです。料金はサイト数で決まるため、Notionを編集する人数が増えても変わりません。

よくある質問

NotionとFramerの連携にはどのくらい時間がかかりますか?

サイトごとに5分ほどです。Framerプロジェクトの接続、Notionデータベースの接続、フィールドの対応づけ、スラッグ項目の指定、Notionページの共有という5つの手順を一度行います。

Notionのデータベースが選択画面に表示されません。

Notionはインテグレーションに明示的に共有されたページのみを公開します。対象のデータベースを開き、共有メニューからKnotCMSのインテグレーションを追加してから、もう一度一覧を読み込んでください。複製したデータベースは別物として扱われ、共有設定を引き継ぎません。

クライアントにFramerのアカウントは必要ですか?

必要ありません。共有したNotionページにアクセスできれば十分です。Framerの追加の席は不要で、プロジェクトの設定に触れられる心配もありません。

日本語のスラッグは使えますか?

推奨しません。日本語のみの値はスラッグとして空と判定される場合があり、同期が止まる原因になります。スラッグ用に英数字のテキストプロパティを用意し、そちらを対応づけてください。

既存のFramer CMSコレクションに同期できますか?

できます。Notionデータベースから新しいコレクションを作ることも、フィールド名が対応している既存のコレクションにそのまま同期することも可能です。ひとつのコレクションに対して同期元はひとつに保ち、公式プラグインとKnotCMSを同じコレクションに向けないでください。

同じ内容を二度入力するのは、もう終わりにしませんか。

デザインはFramer、コンテンツはNotion。同期はKnotCMSが引き受けます。