microCMSへの移行更新日
#microCMSのCSVエクスポートはどのプランで使えますか?
「無料プランのまま記事をバックアップしたい」と考えてCSVエクスポートを探す人は多いのですが、Hobbyプランではこの機能を使えません。対象はTeam、Business、Enterpriseの3つのプランです。
プランごとの対応は、microCMSの料金プランのとおり次のようになります。
| プラン名 | CSVエクスポート | CSVインポートの上限(1回あたり) |
|---|
| Hobby | 非対応 | 1,000件 |
|---|
| Team | 対応 | 2,000件 |
|---|
| Business | 対応 | 5,000件 |
|---|
| Enterprise | 対応 | 10,000件 |
|---|
CSVで書き出すことだけが目的なら、Teamプランで足ります。
ちなみに、CSVで取り込むインポートはHobbyプランでも使えますね。書き出しと取り込みでは使えるプランが違うので、移行の計画を立てるときは両方を確かめてください。
#microCMSのコンテンツをCSVでエクスポートする手順は?
全件を書き出すときと一部だけを書き出すときでは、最初に選ぶビューが変わります。全件なら「全てのコンテンツ」のビューを使います。特定の記事だけなら、フィルターやキーワード検索で絞り込んだビューから始めましょう。出力されるのは、そのビューのフィルター・キーワード検索・ソートの条件に合うコンテンツです。
手順は次のとおりです。
- コンテンツ一覧で書き出したいビューを選ぶ
- [CSVエクスポート]を押す
- ダイアログで内容を確かめ、必要ならエクスポート名を付ける(名前は任意)
- [エクスポートを開始]を押す
- 完了メールのリンクからCSVを保存する
ダウンロードリンクには使える人と期間の制限があります。リンクを開けるのはエクスポートを実行した本人だけで、有効期限は24時間。期限が切れたら、もう一度エクスポートし直します。
また、取り扱うコンテンツの件数が非常に多い場合や、複雑に入り組んだデータの仕組みを持つAPIでは、ファイルの生成完了までに30分以上かかる場合があります。詳しい操作手順はCSVエクスポートの手引きにもまとめられており、実行するユーザー自身に対象APIとコンテンツの読み取り権限が付与されていることも必須の条件です。[CSVエクスポート]のボタンが見当たらない場合は、プランと自分の権限の両方を確かめます。
#TeamプランでCSVエクスポートを使う時、月額は何で決まりますか?
Teamプランを契約すると毎月いくらの費用が発生するのでしょうか。
Teamプランの月額は、基本料金を土台に決まります。基本料金にはメンバー3名分のアカウントと、作成できるAPI10個分が含まれています。
実際の請求金額は、この基本料金に対して、利用状況に応じた3つの従量課金が加算されて決定します。課金対象となる項目は「データ転送量」「API数」「メンバー数」です。どれが従量課金になるかは従量課金の対象項目で確認できます。
データ転送量は月200GBまでが基本枠で、超えた分が従量で加わります。画像を多く載せていたり、アクセスが急に増えたりすると、ここが月額に響いてきますね。
さらに、管理画面を利用するメンバーを4名以上に増やしたり、APIを11個以上作成したりした場合も、それぞれ追加料金が発生します。メンバーやAPIを月の途中で増やした場合は、使った日数で日割りされ、次回の請求に加わります。基本料金はこれとは別に毎月かかります。
月額を抑えたいなら、編集に関わる人を3名以内に収め、APIを10個以内で設計するのが近道です。
#microCMSとNext.jsのサイトを静的エクスポートして配信できますか?
たとえば、microCMSで記事を書き、Next.jsで作ったブログをCloudflare Pagesで公開する構成なら、静的ファイルに書き出して配信できます。next.config.jsにoutput: 'export'を書いてビルドすると、HTML・CSS・JavaScriptがoutフォルダに出力されます。CSVエクスポートとは別の話で、こちらはサイトの配信の仕方です。
ただし、静的エクスポートではリクエストごとにサーバーで処理を行う機能や、ページをバックグラウンドで再生成するISR(Incremental Static Regeneration)は利用できません。加えて、next/imageの標準ローダーによる画像最適化も動かないため、カスタムローダーを設定するか最適化を無効化する工夫が求められます。詳しい前提条件はNext.jsの静的書き出し仕様に記載されています。
記事の更新を画面に反映するには、再ビルドと再配信が必要です。手作業だと手間なので、microCMSの公開・更新のWebhookからCloudflare PagesのDeploy Hooksを呼び出して、再ビルドを自動にできます。
なお、microCMSに置いた画像やファイルは、閲覧者が表示するたびにメディアのデータ転送量として数えられます。
こんな聞き方も
- microCMSでCSVエクスポートを使うにはどのプランが必要ですか?
- microCMSのCSVエクスポートはどのプランで使えますか?
- microCMSのコンテンツをCSVでエクスポートするにはどうしますか?
- microCMSのTeamプランでエクスポートを使うと月額はいくらですか?
- microCMSとNext.jsのサイトを静的エクスポートして配信できますか?
- microcms csv エクスポート
あわせて知りたい(関連する疑問)
QエクスポートしたCSVをそのまま再インポートできますか?
画面から書き出したCSVファイルをそのまま別の環境へアップロードしたくなりますが、一切手を加えずにそのまま再インポートすることはできません。microCMSから出力されるCSVには、コンテンツの内容だけでなく、システム側で管理されている共通の項目が複数含まれています。これを再び同じスキーマのAPIへ読み込ませるためには、ファイルを開いて「id」以外の共通カラムをすべて削除したうえで保存し直す前処理が欠かせません。
再インポートは、同じ形のAPIスキーマにコンテンツを新しく登録する用途です。既存の記事を書き換えることはできません。CSVで本文を一括修正して戻す、という使い方には向かないわけです。
取り込むときの条件はCSVインポートの公式マニュアルにあり、主な点は次のとおりです。
- 対象はリスト形式のAPIだけ
- 文字コードはUTF-8(BOMなし)
- ファイルを選んだ後、権限に応じて「下書き中」か「公開中」を選ぶ
- 画像・ファイルのフィールドにも対応(ファイルのフィールドはHobbyプランでは対象外)
もっとも、対応していないフィールドや値の形式がある場合、書き出したときの権限不足で値が抜けている場合、同じ記事の公開版と下書き版が両方入っている場合は、エラーになることがあります。既存の記事があるAPIへそのまま入れて、コンテンツIDやユニーク制約のあるフィールドが重なったときも同じです。
Q画像もCSVに含まれますか?
CSVファイルをエクスポートしたとき、記事に添付した写真やイラストなどの画像データそのものはファイルの中に同梱されるのでしょうか。画像のフィールドは画像URLとして、複数画像のフィールドはカンマで区切った複数のURLとして書き出されます。
そのため、CSVを保存しただけでは画像のバックアップになりません。microCMSの契約を終えた後や、画像を消した後に、URLが開けるとは限らないからです。画像の元データを手元に残したいなら、別にダウンロードしておく必要があります。
画像をまとめて保存する方法は、管理画面だけでは限られています。マネジメントAPIでアップロード済みメディアのURL一覧を取得し、そのURLに1つずつアクセスしてダウンロードする流れです。手順はメディアのエクスポートとインポートにまとまっています。
マネジメントAPIのエンドポイントであるGET /api/v2/mediaを使用する場合は、あらかじめAPIキーの設定画面でマネジメントAPI権限の「メディアの取得」を有効化し、認証キーをリクエストヘッダーに含めて送信します。CSVエクスポートを使うための権限とは別の設定なので、APIキー側も確かめてください。
なお、エクスポートを実行するユーザーに対象メディアの読み取り権限が付与されていない場合、CSVのセルには画像URLではなく「NO_READ_PERMISSION」という文字列が出力されます。
Q読み取り権限がない項目はどう書き出されますか?
管理者権限を持つアカウントであればすべてのデータがそのまま書き出されますが、閲覧範囲が制限されたアカウントで出力すると結果が大きく異なります。書き出す記事そのものと、記事が参照しているものでは扱いが違います。記事そのものについては、対象のAPIとコンテンツの読み取り権限がないと、そもそもエクスポートを実行できません。
もしエクスポート対象のコンテンツが参照している別のコンテンツ、メディア、メンバー情報に対して読み取り権限を持っていない場合、その項目のセルには本来の値ではなく「NO_READ_PERMISSION」という文字列が書き出されます。たとえば、著者の情報を別のAPIで管理していて、その著者APIを読む権限がない人が書き出すと、著者の列がこの文字列になりますね。バックアップや移行が目的なら、必要なAPIをすべて読める人が書き出すほうが安心でしょう。
権限はロールで決まります。ロールはメンバーに付ける権限の種類で、管理画面で操作できる範囲をメンバーごとに分けるものです。ロールの役割と設定方法を事前に見直し、プロジェクトの管理者に依頼して適切な読み取り権限を付与してもらったうえで作業に取り掛かるのが賢明です。
QStudioのCMSデータもCSVで書き出せますか?
「StudioからmicroCMSへ記事を移したいので、まずCSVで書き出したい」という相談はよくあります。ところが、Studioの公式サポートページのとおり、StudioにはCMSのデータを書き出す機能がありません。記事の内容もモデルの構成も、標準の機能ではCSVにできません。これはサイト全体のデザインデータやHTMLソースコードの書き出しについても同様で、手軽に一括出力する手段は用意されていないのが現状です。
とはいえ、フォームの回答だけは別です。フォームダッシュボードから回答をCSVでダウンロードできます。問い合わせの履歴は取り出せても、ブログ記事は取り出せない、という違いを覚えておいてください。
記事を移す方法としては、公開中のサイトからスクレイピングでタイトルや本文を抜き出し、CSVやJSONにする手があります。画像まできれいに取れるとは限らず、記事が多いほど確認の手間も増えますね。
microCMS側へデータを一括投入する際は、あらかじめmicroCMS上でデータの受け皿となるAPIやフィールドの設計を完了させておきます。スクレイピングで作ったCSVも、列の名前や形式をmicroCMSに合わせて整える必要があります。ところで、Studioが受け付けるのはWordPressのXMLだけで、CSVからの取り込みには対応していません。
この内容をChatGPTで相談