Contentful vs Sanity vs Payload: どのCMSが実際のクライアントで生き残るか
クライアントが3月に Contentful を承認する。8月には、開発チームが Slack でそれを引き抜く話をしている。2022年以来、40以上のプロジェクトで Contentful、Sanity、Payload を本番運用してきました。新規の Next.js アプリもあれば、テープと祈りでつなぎ止められた WordPress インストールから救出するものもありました。各 CMS は異なり、費用のかかる方法で失敗しました。Contentful の API 制限は火曜日の午前6時に製品ローンチを圧迫しました。Sanity の GROQ 学習曲線はマーケティングチームを2スプリント停滞させました。Payload のセルフホスティング費用は、「オープンソース」が「無料」を意味すると思っていたシード段階の創業者を驚かせました。1つの選択は、他よりも一貫して午前2時の Slack ping が少なかったです。
本稿では、Contentful、Sanity、Payload の CMS を、実際に何かを構築する際に実際に重要な観点から分類しています。スケーリング時の価格、トレンチでの開発者体験、コンテンツモデリングの柔軟性、API 設計、および御社のコンテンツチームが愛するか嫌うかのいずれかとなる日々の編集ワークフロー。
目次
- 30秒の概要
- 価格の分析:実際に支払うもの
- 開発者体験
- コンテンツモデリング
- API:REST、GraphQL、その他すべて
- 編集体験
- セルフホスティング vs SaaS:実際のトレードオフ
- パフォーマンスとスケーラビリティ
- エコシステムとコミュニティ
- 結論
- FAQ

30秒の概要
Contentful は既存企業です。2013年からあり、スケール時のエンタープライズサイトを支えています。洗練されていて、信頼性が高く、高価です。
Sanity は、リアルタイム構造化コンテンツアプローチと カスタマイズ可能なスタジオを備えた開発者の最愛の存在です。強力ですが、学習曲線と価格モデルに驚く可能性があります。
Payload は、静かに深刻な競争相手になった新興企業です。オープンソース、デフォルトではセルフホスト(現在ではクラウドオプションもあります)、TypeScript で書かれており、ライセンス料はゼロです。Payload 3.0 は Next.js の上での完全な書き直しで出荷され、方程式全体が変わりました。
| 機能 | Contentful | Sanity | Payload |
|---|---|---|---|
| タイプ | SaaS | SaaS(スタジオのセルフホスト) | オープンソース/セルフホスト |
| 言語 | N/A(API のみ) | JavaScript/React | TypeScript/Next.js |
| ライセンス料 | あり | あり(使用量ベース) | なし(MIT) |
| GraphQL | あり | あり(GROQ 推奨) | あり(自動生成) |
| REST API | あり | あり | あり(自動生成) |
| リアルタイムコラボレーション | 制限あり | 優秀 | 良好(2.0 以上) |
| セルフホスティング | いいえ | スタジオのみ | フルスタック |
| データベース | 独自 | 独自 | MongoDB または Postgres |
価格の分析:実際に支払うもの
これは現実になる場所です。価格は CMS 切り替えの第一の理由で、評価中に最も低く見積もられています。
Contentful 価格(2026)
Contentful の無料プランでは、1つのスペース、5人のユーザー、25K の API コールが提供されます。ブログでは問題ありません。
Basic プランは $300/月 から始まり、より多くの環境とロールを提供します。Premium プランは、ほとんどの真摯なチームが必要とするもので、カスタム価格設定ですが、中堅企業の場合、通常は $2,000~$3,000/月 で始まります。企業契約は年間 $80K 以上を見たことがあります。
重要な点:API 呼び出しの超過料金。Contentful は Content Delivery API 呼び出し、Content Management API 呼び出し、およびアセット帯域幅を別々に請求します。月間 1,000 万以上のページビューを行うトラフィックの多いサイトでは、含まれたクォータを簡単に超過できます。一緒に仕事をしたあるクライアントは、バイラル製品ローンチの後、予想していなかった CDN と API の超過料金のため、月々の請求額が $2,500 から $4,800 に跳ね上がったのを見ました。
Sanity 価格(2026)
Sanity は「成長に応じて支払う」と呼ぶ使用量ベースのモデルを使用しています。Free プランには、3人の管理者以外のユーザー、500K の API リクエスト、20GB の帯域幅、および 10GB のストレージが含まれます。開始するには太っ腹です。
Growth プランは $15/ユーザー/月 と使用量の超過です。Enterprise プランはカスタム価格設定です。
Sanity 価格についてのトリック:GROQ クエリと API CDN リクエストは従量制で、コンテンツの複雑さでコストがスケーリングします。深くネストされた、参照されたコンテンツを取得する単一の GROQ クエリは、予想より多くのクォータを消費する可能性があります。Sanity はここでの透明性を改善しましたが、チームは早期に予算アラートを設定することをお勧めします。
典型的な中堅プロジェクトコスト:チームサイズとトラフィックに応じて $200~$800/月。
Payload 価格(2026)
Payload は MIT ライセンスです。CMS 自体は $0 です。永遠に。ユーザーごとの料金はなく、API 呼び出しのメーターもなく、Payload からの帯域幅料金もありません。
コストはインフラストラクチャです:Node.js アプリとデータベースをホストします。Railway、Render、または基本的な AWS/DigitalOcean セットアップのようなサービスでは、ほとんどのプロジェクトで $20~$100/月 を検討しています。AWS RDS 上の管理 Postgres、適切にサイズ設定された EC2 または ECS、および CloudFront を使用した大規模デプロイメントでさえ、深刻なトラフィック用に $300~$500/月 を超えることはめったにありません。
Payload Cloud(ホストされたオファリング)は $50/月 で始まり、ストレージと帯域幅に基づいてスケーリングされていますが、完全にオプションです。
| シナリオ | Contentful | Sanity | Payload(セルフホスト) |
|---|---|---|---|
| ソロ開発者、小規模サイト | $0(無料プラン) | $0(無料プラン) | $20~40/月(ホスティング) |
| 5人チーム、中程度のトラフィック | $300~500/月 | $200~400/月 | $50~100/月(ホスティング) |
| 10人チーム、高トラフィック | $2,000~4,000/月 | $500~1,500/月 | $150~400/月(ホスティング) |
| エンタープライズ、50人以上のエディタ | $5,000~10,000以上/月 | $2,000~5,000/月 | $300~800/月(ホスティング) |
価格ストーリーは明白です。Payload はすべてのティアでコストに勝ちます。
開発者体験
価格は人々をドアに導きます。開発者体験は彼らをそこに留めるか、彼らを追い出すかです。
Contentful DX
Contentful の開発者体験は...微妙です。SDK のサポートは幅広い(JavaScript、Python、Ruby、Java、Swift など)で、ドキュメントは成熟しており、REST と GraphQL API は十分に文書化されています。
しかし、ここが私を不満にさせるものです:すべてはウェブ UI を通じて構成されます。コンテンツタイプ、フィールド、検証 - ブラウザ内のすべてのクリック、クリック、クリックです。Contentful CLI と移行スクリプトを使用してスキーマを管理できますが、ボルトオンに感じられます。コードが最初ではなく、UI が最初で、コード逃げハッチがあります。
移行ツールは contentful-migration パッケージで改善されていますが、TypeScript でスキーマを定義してインスタント型安全性を取得するのと比べて?それは一世代後ろに感じます。
Sanity DX
Sanity の開発者体験は多くの点で本当に優秀です。スキーマは JavaScript/TypeScript ファイルで定義されます。スタジオは、カスタム入力コンポーネント、カスタムビュー、ワークフロープラグインを広範にカスタマイズできる React アプリです。
GROQ、彼らのクエリ言語は、学習後に強力です。しかし、「学習後」はその文で大変な仕事をしています。GROQ は SQL ではありません。GraphQL ではありません。それはそれ自体のものであり、チーム上の新しい開発者はそれを学ぶ必要があります。GROQ 投影でジュニア開発者が数週間苦労するのを見てきました。
// GROQ クエリ - 強力ですが独自の構文
*[_type == "post" && publishedAt < now()] | order(publishedAt desc) [0...10] {
title,
slug,
"author": author->{ name, image },
"categories": categories[]->{ title, slug },
body[] {
...,
_type == "image" => {
"url": asset->url
}
}
}
Sanity のリアルタイム機能は信じられないほどです。複数の編集者が同じドキュメントで作業しており、プレゼンスインジケータと保存競合がない状態で - それは機能します。コンテンツレイク アーキテクチャはこれを競合相手が一致できない方法で有効にします。
Payload DX
Payload 3.0 はすべてを変えました。Next.js の上に構築され、TypeScript で完全に書かれており、コンフィグファイルが単一の真実のソースです。コレクション、フィールド、フック、アクセス制御、およびカスタムエンドポイントをすべてコードで定義します。
典型的な Payload コレクションの外観は次のとおりです:
import { CollectionConfig } from 'payload'
export const Posts: CollectionConfig = {
slug: 'posts',
admin: {
useAsTitle: 'title',
defaultColumns: ['title', 'status', 'publishedAt'],
},
access: {
read: () => true,
create: ({ req: { user } }) => Boolean(user),
update: ({ req: { user } }) => Boolean(user),
delete: ({ req: { user } }) => user?.role === 'admin',
},
fields: [
{
name: 'title',
type: 'text',
required: true,
},
{
name: 'content',
type: 'richText',
},
{
name: 'author',
type: 'relationship',
relationTo: 'users',
},
{
name: 'status',
type: 'select',
options: ['draft', 'published'],
defaultValue: 'draft',
},
{
name: 'publishedAt',
type: 'date',
admin: {
position: 'sidebar',
},
},
],
hooks: {
beforeChange: [
({ data, operation }) => {
if (operation === 'create') {
data.publishedAt = new Date()
}
return data
},
],
},
}
すべては型付けされています。IDE はフィールド名を自動補完します。フック はライフサイクル制御を与えます。アクセス制御は、別の権限 UI ではなく、フィールドの右側で関数として定義されます。そして、それは単なる Next.js アプリであるため、カスタムページ、API ルート、またはサーバーアクションを CMS コードと一緒に追加できます。
Next.js 開発を行うチームの場合、Payload 3.0 は DX の観点から常識的です。CMS とフロントエンドは同じプロジェクトに住んでいます。同じデプロイメント。同じリポジトリ。

コンテンツモデリング
コンテンツモデリングは、自分自身を成功するか、長年住むナイトメアを作成するかです。
Contentful のアプローチ
Contentful は従来のコンテンツタイプ → エントリモデルを使用します。フィールドを持つコンテンツタイプを定義し、エディタはエントリを作成します。コンテンツタイプ間の参照は明示的です。シンプルなコンテンツ構造に適切に機能します。
制限はリッチテキストで表示されます。Contentful のリッチテキストフィールドは、コンテンツを構造化 JSON ツリーとして保存しており、レンダリングの柔軟性に適していますが、埋め込み型エントリと参照のクリエイティブな使用が必要な複雑なページレイアウトをモデリングします。厄介になる可能性があります。
Contentful は Basic プランで 50 個のコンテンツタイプをサポートし、Premium では 100 個以上をサポートしています。多くのコンテンツタイプを備えた大規模サイトでは、これが制約になる可能性があります。
Sanity のアプローチ
Sanity のコンテンツモデリングは、3つの中で最も柔軟です。彼らのブロックコンテンツ(ポータブルテキスト)は、コンテンツを構造化データとして保存するリッチテキスト用のオープン仕様です。カスタムブロックタイプ、インラインオブジェクト、および注釈を定義できます。
スキーマシステムは、深くネストされたオブジェクトタイプ、条件付きフィールド、およびカスタム検証をサポートしています。Sanity で本当に複雑なコンテンツモデルを構築してきましたが、Contentful では苦しいでしょう。
// ポータブルテキスト カスタマイズを使用した Sanity スキーマ
export default {
name: 'post',
type: 'document',
fields: [
{
name: 'body',
type: 'array',
of: [
{ type: 'block',
marks: {
annotations: [
{ name: 'internalLink', type: 'object',
fields: [{ name: 'reference', type: 'reference', to: [{ type: 'post' }] }]
}
]
}
},
{ type: 'image', options: { hotspot: true } },
{ type: 'codeBlock' },
{ type: 'callout' },
]
}
]
}
Payload のアプローチ
Payload のコンテンツモデリングは、Contentful の構造化シンプルさと Sanity の自由形式の柔軟性の間のどこかにあります - ただし、TypeScript で完全になることの利点があります。
Payload の blocks フィールド は、特にページ構築に強力です。ブロックタイプを定義し、それぞれが独自のフィールドを持ち、エディタはこれらのブロックからページを作成できます。layout フィールドタイプと条件付きロジックと組み合わせると、ほぼすべてをモデル化できます。
Payload 3.0 の Lexical リッチテキストエディタ は目立っています。古くなっていた Slate(まあまあでしたが)を、カスタムノード、インラインブロック、およびサーバー側のレンダリングをサポートする最新のエディタに置き換えました。リッチテキストコンテンツに React コンポーネントを直接埋め込むことができます。
バージョン管理システムも言及の価値があります。Payload はドラフト/公開ワークフローと完全なドキュメントバージョン履歴( diffing 付き)を提供します。これは組み込みで、有料の追加ではありません。
API:REST、GraphQL、その他すべて
Contentful API
Contentful は、配信(CDN キャッシュ、読み取り専用)、プレビュー(キャッシュなし、ドラフトコンテンツ)、管理(CRUD)、およびイメージ用の個別の API を提供します。分離は理にかなっていますが、複数の API トークンとベース URL をやりくりしていることを意味します。
GraphQL API は堅実ですが、深さの制限とレート制限があり、深く参照されたコンテンツをモデリングするときに煩わしいことがあります。複雑なクエリは複数のラウンドトリップが必要になる場合があります。
Sanity API
Sanity の主なクエリ言語は GROQ で、HTTP 経由で提供されます。GraphQL API を提供していますが、別途デプロイされ、2番目の市民に感じられます。GROQ はほとんどの Sanity ユースケースでとにかく、より強力です。
本当の魔法は Sanity の リアルタイムリスナー API です。任意のクエリの変更にサブスクライブして、インスタント更新を取得できます。これにより、本当に印象的なライブプレビュー体験が可能になります。
Payload API
Payload は、コレクション設定から REST と GraphQL API を自動生成します。追加のセットアップはありません。コレクションを定義し、REST と GraphQL の両方の完全な CRUD エンドポイントをすぐに取得します。
# 自動生成 GraphQL クエリ
query {
Posts(where: { status: { equals: published } }, sort: "-publishedAt", limit: 10) {
docs {
id
title
content
author {
name
}
publishedAt
}
totalDocs
hasNextPage
}
}
しかし、Payload が独自のアドバンテージを持っている場所:Next.js アプリと同じプロセスで実行されるため、API をスキップして Payload の Local API をサーバー側のデータ取得に使用できます。同じアクセス制御、フック、および検証を使用した直接データベースクエリ - ただし、ゼロ HTTP オーバーヘッド。
// Local API - HTTP なし、シリアル化オーバーヘッドなし
const posts = await payload.find({
collection: 'posts',
where: { status: { equals: 'published' } },
sort: '-publishedAt',
limit: 10,
})
これは、サーバー側でレンダリングされたページにおける大規模なパフォーマンス勝利です。CMS API へのネットワークラウンドトリップなし。ただの機能呼び出し。
編集体験
開発者は CMS を選択しますが、編集者は毎日その中に住んでいます。彼らの経験を無視するのは危険です。
Contentful は最も成熟した編集 UI を持っています。きれいで、予測可能で、非技術的なチームはそれをすぐに拾います。Premium プランのスケジューリング、ワークフロー、および承認チェーンは堅実です。ただし、厳密に感じられる可能性があります - 編集インターフェースをカスタマイズするには、Contentful アプリを構築する必要があり、これは別の React アプリ全体です。
Sanity Studio は最もカスタマイズ可能です。完全にカスタム編集体験を構築できます。しかし、そのカスタマイズはコストに付属しています:箱の外では、Sanity Studio は非技術的な編集者にとって圧倒的に感じることができます。構造ビルダーは、うまく構成するために開発者の時間が必要です。
Payload の管理パネル は 3.0 で劇的に改善されました。きれい、速い(Next.js アプリです)、カスタムコンポーネント、条件付きフィールドレンダリング、およびライブプレビューをサポートしています。Contentful の UI ほどポリッシュされていないか、Contentful より少ない努力で Sanity のようにカスタマイズ可能ではありませんが、エディタにとってより近づきやすいです。
セルフホスティング vs SaaS:実際のトレードオフ
これは哲学的な分割です。Contentful と Sanity は SaaS プラットフォームです。インフラストラクチャを管理しません。あなたはそれらを支払うので、彼らはそれをします。Payload はデフォルトでセルフホストされています。
SaaS の議論:運用オーバーヘッドが少なく、組み込みの CDN、管理されたアップタイム。これらは実際の利点であり、特に DevOps の経験なしにチームが小さい場合は。
セルフホストされた議論:データ所有権、ベンダーロックインなし、予測可能なコスト、規制コンプライアンス(GDPR、HIPAA、データレジデンシー)、および何でもカスタマイズする自由。
headless CMS development をしている機関として、2026 年でセルフホストがほとんどのクライアントの推奨事項になりました。インフラストラクチャツールは、Railway、Vercel、または AWS で Payload アプリをデプロイするのが簡単な程度に成熟しています。Docker はそれを再現可能にします。そして、SaaS CMS の節約のコストは年々複雑になります。
Ops の負担について懸念がある場合、Payload Cloud はホスティングを処理します。オープンソースの利点を維持しながら。
パフォーマンスとスケーラビリティ
Contentful の CDN バックアップ配信 API は高速です。一般的な応答時間は、エッジノードから 50~100ms です。スケーリングで10年間テスト戦闘されました。
Sanity の CDN API はキャッシュされたコンテンツと同様のパフォーマンスを提供し、リアルタイムレイヤーがライブクエリに 20~30ms を追加します。
Payload のパフォーマンスはインフラストラクチャに依存しますが、ここに物があります - Next.js サーバーコンポーネントで Local API を使用する場合、ローカルデータベースへの関数呼び出しを行っています。応答時間は 10ms 未満です。Next.js 出力の前で CDN を追加し(Vercel、CloudFront など)、SaaS オプションと一致または超過しています。
Astro ベースのプロジェクトの場合、3つすべて API ソースとしてうまく機能しますが、Payload の REST と GraphQL API は Astro のデータ取得レイヤーで特に簡潔です。
エコシステムとコミュニティ
Contentful は最大のエンタープライズエコシステムを持っています。トンの統合、マーケットプレイスのアプリ、および広範な機関のサポート。
Sanity には、情熱的な開発者コミュニティ、優秀なドキュメント、および成長するプラグインエコシステムがあります。彼らのコミュニティ Slack は本当に役に立っています。
Payload は、3つの中で最も急速に成長しているコミュニティを持っています。Discord はスーパーアクティブで、コアチームは定期的に質問に応答しています。プラグインエコシステムは小さいですが急速に成長しています - そして Payload は単なる Node.js/TypeScript であるため、npm install する必要があるものすべてをインストールできます。
Payload の GitHub は 2026年初頭時点で 30K 以上のスターを持っており、軌跡は急急です。
結論
直接的です:Payload は 2026 年のほとんどのプロジェクトに最適なヘッドレス CMS です。
理由はこちら:
- 規模でゼロライセンス料金。50 人の編集チームのエンタープライズは Payload に1セントを支払いません。
- TypeScript ネイティブコンフィグ はコンテンツモデルがコードであることを意味し、バージョン管理されており、型安全で、PR で確認できます。
- Local API + Next.js 統合 により、SaaS CMS が物理的に一致できないパフォーマンスを取得できます。
- データ所有権 - コンテンツは他の人の独自のストアではなく、データベースに存在します。
- ベンダロックインなし - 別の方法に切り替える場合、データは Postgres または MongoDB にあります。ただクエリします。
他の人が勝つシナリオはあります:
- Contentful を選択してください 大規模なエンタープライズで、確立されたコンテンツチームがあり、ポリッシュされたゼロ運用編集体験が必要で、予算がある場合。
- Sanity を選択してください リアルタイムコラボレーション、ポータブルテキストの比較不能な構造化リッチテキスト、またはカスタマイズされたスタジオ体験がワークフローにとって重要な場合。
- 他のすべてに対して Payload を選択してください。 スタートアップ、エージェンシー、中堅企業、開発者主導のチーム、データ制御が必要な規制されたインダストリー、および驚きの請求を目覚めたくない人。
新しいプロジェクト用にヘッドレス CMS を評価していて、詳細について話し合いたい場合は、私たちがお手伝いできます。Payload、Sanity、および Contentful の本番プロジェクトをシップしており、実際の要件と 予算 に基づいて正直なアドバイスを提供できます。
FAQ
Payload CMS は本当に無料ですか?
はい。Payload は MIT ライセンスのオープンソースソフトウェアです。ライセンス料はなく、ユーザーごとの請求もなく、Payload 自体からのAPI 呼び出し制限もありません。唯一のコストはホスティングインフラストラクチャ(サーバーとデータベース)で、スケーリングに応じて通常は $20~$500/月で実行されます。Payload Cloud は、インフラストラクチャを管理したくない場合、有料のホストされたオプションとして利用できます。
Sanity はセルフホストできますか?
部分的に。Sanity Studio(管理 UI)は、どこにでも展開できる React アプリです。ただし、コンテンツレイク - 実際のデータが存在する場所 - Sanity が管理するホストされたサービスです。データレイヤーをセルフホストすることはできません。つまり、コンテンツは常に Sanity のインフラストラクチャに存在し、データレジデンシーまたはコンプライアンス要件が懸念事項である場合があります。
どのヘッドレス CMS が最も GraphQL をサポートしていますか?
Contentful と Payload の両方が強力な GraphQL API を提供しています。Payload は、コレクション設定から GraphQL スキーマを自動生成します。つまり、手動スキーマ維持ゼロです。Contentful の GraphQL API は成熟しており、十分に文書化されています。Sanity は GraphQL を提供していますが、クエリー言語として GROQ を優先し、GraphQL 実装はすべての GROQ 機能をサポートしていません。
Contentful は 2026 年に価値がありますか?
複雑なコンテンツ運営、確立された Contentful ワークフロー、および手を離したSaaS アプローチを重視するチームを備えた大規模エンタープライズの場合 - はい、それは価値があります。小~中規模のチームの場合、Payload が比較可能な(そしていくつかの方法で優れた)機能を分数の価格で提供するとき、コストは正当化するのが難しくなります。複数のクライアントが特にコストのため Contentful から移行するのを見てきました。
Payload CMS から Contentful に移行できますか?
はい。Payload は標準データベース(Postgres または MongoDB)を使用しているため、移行は Contentful 管理 API 経由でコンテンツを書き出し、Payload コレクションにインポートする必要があります。Contentful コンテンツタイプから Payload コレクションへのコンテンツモデリング変換は通常簡潔です。複数のこれらの移行を処理しました - トリッキーな部分は通常、構造化データではなくリッチテキスト変換です。
非技術的なエディタに最適な CMS はどれですか?
Contentful は非技術的なユーザーの最も直感的な既成の編集体験を持っています。Payload の管理パネルは秒に近く、急速に改善しています。Sanity Studio は、開発者が カスタマイズに時間をかける場合、3つすべての最良となることができますが、デフォルト体験には編集者のための急勾配の学習曲線があります。
Payload CMS は Next.js 以外のフレームワークで機能しますか?
絶対に。Payload 3.0 は Next.js をアドミン UI フレームワークとして使用しますが、REST と GraphQL API は任意のフロントエンド - Astro、Nuxt、SvelteKit、Remix、またはモバイルアプリでも機能します。Local API は Next.js 固有ですが、外部 API にはフレームワークの依存関係がありません。Next.js と Astro の両方をプロジェクト要件に応じて定期的にペアリングします。