2026年8月10日
2026年8月10日
WordPressとDatoCMSの違い|ヘッドレスCMSとの使い分けと移行の手順
WordPressとDatoCMSは、どちらも「記事や固定ページを管理するCMS」ですが、役割の範囲が大きく違います。WordPressは管理画面と表示(テーマ)が一体になったCMSで、サーバーに置けばそれだけでWebサイトになります。DatoCMSは表示を持たないSaaS型のヘッドレスCMSで、コンテンツをAPIで配信するだけです。表示側はNext.jsやNuxt、Astroなどで自分たちで作ります。
この記事では、両者の違いを仕組み・API・料金・運用の観点で整理し、どちらを選ぶべきかの判断基準と、WordPressからDatoCMSへ記事を移す公式の手順を紹介します。料金や上限は2026年11月時点で公式サイトを確認した内容です。
仕組みの違い
WordPress
WordPressはPHPとMySQL/MariaDBで動くオープンソースのCMSです。自分でサーバーを用意して設置するか、レンタルサーバーの簡単インストールを使います。公式の推奨環境はPHP 8.3以上、MySQL 8.0以上またはMariaDB 10.11以上、HTTPS対応です。
テーマとプラグインで見た目と機能を足していく作りで、ブログ、コーポレートサイト、ECなどをコードを書かずに作れます。表示を切り離して使いたい場合も、コアに含まれるREST API(/wp-json/wp/v2/)でコンテンツを取り出せます。
DatoCMS
DatoCMSはSaaS型ヘッドレスCMSです。サーバーの設置や更新はなく、ブラウザの管理画面でコンテンツの構造(モデル)を定義し、編集者がレコード(個々の記事)を入力します。主な要素は次のとおりです。
- モデルとレコード: モデルはデータベースのテーブル、レコードはその行にあたります。モデルにはテキスト・日付・数値・画像・リンクなどのフィールドを並べます。
- Modular content と Structured Text: ブロックを組み合わせてランディングページを組み立てるフィールドと、画像や独自ブロックを含むリッチテキストをJSON形式で保存するフィールドがあります。HTMLの塊ではなく構造化データで返るため、表示側で細かく制御できます。
- 多言語: フィールド単位で言語ごとの値を持てます。
- 画像配信: 画像はimgixのパラメーター(幅・高さ・形式など)で変換でき、GraphQLの
responsiveImageでsrcSetなどをまとめて受け取れます。
APIの違い
DatoCMSの読み出しは、GraphQLで書かれた読み取り専用の Content Delivery API を使います。エンドポイントは https://graphql.datocms.com/ で、すべてPOSTで送り、APIトークンを Authorization ヘッダーに付けます。公式ドキュメントの例は次の形です。
curl 'https://graphql.datocms.com/' \
-H "Authorization: Bearer $DATOCMS_READONLY_TOKEN" \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
--data-binary '{ "query": "{ allPosts { title } }" }'
allPosts の部分は、自分で作ったモデル名から自動で生成されるクエリ名です。配信は世界各地のCDN経由で行われます。スキーマやコンテンツをプログラムから作成・更新するときは、別の Content Management API を使います。下書きを編集者にリアルタイムで見せたい場合は、Server-Sent Eventsで変更を受け取る Real-time Updates API も用意されています。
WordPressのREST APIは、追加の設定なしで公開済みの投稿や固定ページをJSONで返します。
curl 'https://example.com/wp-json/wp/v2/posts?per_page=5&_fields=id,title,link'
WordPressの本文(content.rendered)はブロックエディターが出力したHTMLのまま返るので、表示側で部品ごとに組み替えるのは得意ではありません。この点は、構造化データで返すDatoCMSとの大きな違いです。
比較表
| 観点 | WordPress | DatoCMS |
|---|---|---|
| 提供形態 | オープンソース(自前サーバー) | SaaS(サーバー不要) |
| 表示(フロントエンド) | テーマで完結 | 自分で開発(Next.jsなど) |
| API | REST(コア標準)、GraphQLはプラグイン | GraphQL(読み出し)、Content Management API(書き込み) |
| 本文の形式 | ブロックのHTML | 構造化データ(JSON) |
| 更新・セキュリティ対策 | 自分で実施 | 事業者が実施 |
| 費用 | ソフトは無料、サーバー代が必要 | 無料プランあり、有料はProfessionalから |
| データの置き場所 | 自分のデータベース | 事業者のクラウド |
| 公式ドキュメント | 日本語版あり | 英語 |
料金と上限(2026年11月時点)
WordPressはソフトウェア自体が無料で、かかるのはサーバー・ドメイン・有料テーマやプラグインの費用です。
DatoCMSには無料プランがあり、Professional相当の機能を少ない上限で使えます。公式の料金ページで確認した主な上限は次のとおりです。
| 項目 | Free | Professional |
|---|---|---|
| 月額 | 無料 | 年払いで月149ユーロから(月払いは月199ユーロ) |
| 共同編集者 | 1 | 10 |
| レコード数 | 300 | 10万 |
| Content Delivery API 呼び出し | 月10万回 | 月100万回 |
| 転送量 | 月10GB | 月1TB |
| ファイル容量 | 200MB | 500GB |
無料プランは上限を超えた利用が認められておらず、上限に達するとサービスが正常に応答しなくなると説明されています。レコード300件は小さなサイトでもすぐ届く数なので、本番運用は有料プランを前提に見積もるのが現実的です。上限や価格は変わることがあるため、契約前に公式の料金ページで最新の条件を確認してください。
どちらを選ぶか
WordPressが向いているケース
- 社内に開発者がおらず、テーマとプラグインでサイトを完成させたい
- 編集担当者が日本語の管理画面で記事を書く
- ブログやコーポレートサイトで、表示もCMSに任せたい
- 予算を抑えたい(ソフトウェア費用がかからない)
DatoCMSが向いているケース
- Next.jsなどで表示側を自分たちで開発する体制がある
- Webサイトとアプリなど、複数のチャネルに同じコンテンツを配信したい
- 本文を構造化データで扱い、デザインの自由度を高めたい
- CMSのサーバー運用や更新作業を持ちたくない
迷ったら、まず「表示側を開発・保守できる人がいるか」を確認してください。いなければ、DatoCMSを選んでもサイトは完成しません。表示速度だけが目的なら、通常のWordPressにキャッシュとCDNを組み合わせる方が手間も費用も小さく済むことが多いです。既存のWordPressの管理画面を残したままヘッドレス化する方法もあります(ヘッドレスCMSの比較を参照)。
WordPressからDatoCMSへ記事を移す
DatoCMSは公式のCLIとWordPress取り込み用のプラグインを提供しています。Node.jsが入った作業用PCで次のように実行します。
# DatoCMS CLI をインストール
npm install -g datocms@latest
# WordPress 取り込み用プラグインを追加
datocms plugins:install @datocms/cli-plugin-wordpress
# 取り込みを実行(URL・ユーザー名・パスワード・トークンは自分の値に置き換える)
datocms wordpress:import \
--ignore-errors \
--wp-url https://example.com \
--wp-username admin-user \
--wp-password "$WP_PASSWORD" \
--api-token "$DATOCMS_FULL_ACCESS_TOKEN"
各オプションの意味は次のとおりです。
--wp-url: 移行元のWordPressのURL--wp-username/--wp-password: 管理者権限を持つWordPressユーザー--api-token: DatoCMSの読み書き権限を持つフルアクセスのAPIトークン--ignore-errors: 途中でエラーが出ても取り込みを続ける
公式ドキュメントによると、投稿は記事、固定ページはページとして取り込まれ、著者・カテゴリー・タグはそれぞれ別のモデルとして作られます。メディアファイルもDatoCMSのメディアギャラリーにアップロードされます。
一方、次のものは取り込まれません。
- カスタム投稿タイプ
- 多言語サイトの第2言語以降のコンテンツ(主言語のみ)
- SEOの設定やスライダーなど、プラグインが管理しているデータ
取り込み後は、表示側のURL設計に合わせて旧URLから新URLへの301リダイレクトを用意してください。WordPress側のパスワードやトークンは、作業が終わったら変更・削除しておくと安全です。
まとめ
- WordPressは表示まで一体のCMS、DatoCMSは表示を持たないSaaS型のヘッドレスCMSです。
- DatoCMSはGraphQLで構造化されたコンテンツを配信し、サーバー運用が不要な代わりに、表示側の開発と月額費用が必要です。
- 無料プランはレコード300件などの上限があり、本番は有料プランでの見積もりが前提になります。
- 移行は公式CLIの
datocms wordpress:importで投稿・固定ページ・メディアを移せますが、カスタム投稿タイプやプラグインのデータは別途対応が必要です。
関連記事: