Headless CMS

ヘッドレス CMS 構築|Next.js × WordPress で速く安全なサイトを

編集はWordPressのまま。表示は静的ファイルで速く、アクセス集中でも落ちません。

ヘッドレスCMS構築は、WordPressを「編集」に専念させ、表示側をNext.jsで作り直して全ページを事前に静的なHTMLにする構成です。向き不向きがあるため事前にお伝えし、適さないお客様には通常のWordPress制作をご提案します。andcre.com自体がこの構成(Next.js 15 + WPGraphQL + Cloudflare Pages)で動いており、以下の構成図・コード・計測値はすべてこのサイトのものです。地域を問わず、オンラインで全国から承ります。

ヘッドレス CMS とは ― 編集画面と表示を分ける構成

通常のWordPressサイトでは、WordPressが「編集」と「表示」の両方を担います。訪問者がページを開くたびにデータベースを読み込み、PHPで画面を組み立てて表示する仕組みです。ヘッドレスCMS構成では、この「表示」の役割を切り離します。WordPressは記事や制作実績を編集・保管する場所(見た目を持たないCMS)となり、表示は別の仕組み(このサイトではNext.js)が担当します。

Next.jsはビルド時にWordPressからWPGraphQLでデータを取り出し、全ページを静的なHTMLファイルとして書き出します。訪問者に届くのはその静的ファイルなので、WordPressに直接アクセスが届くことはありません。ページを表示するときにPHPの実行やデータベースの読み取りが発生しないため、表示が速く、アクセス集中やCMS側の障害の影響を受けにくくなります。

一方で、公開までに「ビルドして配信先に配置する」工程が挟まります。また、表示側はテーマやプラグインではなくコードで開発します。そのため、すべてのサイトに向くわけではありません。まずは向き不向きを整理してお伝えします。

向いている案件・向かない案件

向いている

  • 表示速度と安定性を優先したいコーポレートサイト・採用サイト

    静的配信のため、アクセス集中やWordPress側の障害の影響を受けにくくなります。

  • 更新担当者がWordPressに慣れていて、管理画面を変えたくない

    記事の編集操作はそのまま変わりません。新しくなるのは表示側だけです。

  • デザインや機能を制作会社に依存せず、長く育てていきたい

    表示側はTypeScriptのコードとして管理でき、テストとCIで改修時の不具合の再発を防げます。

  • セキュリティ要件が厳しい(公開サイトからCMSを隠したい)

    訪問者がアクセスするのは、静的ファイルと限定されたAPIだけです。

向いていない

  • WordPressのプラグインで見た目や機能を頻繁に追加したい

    表示側はNext.jsのため、プラグインの表示機能はそのままでは使えません。

  • 更新の即時反映が最優先(分単位での反映が必要)

    公開までにビルドとデプロイが挟まります。このサイトではCIとローカルのどちらからもデプロイできますが、反映に数分は要します。

  • 予算が限られ、5ページ程度の一般的な構成で十分

    通常のWordPress制作のほうが開発作業が少なく、見積例(5ページ・336,000円)の範囲で収まります。

  • サーバーやドメインの管理を1社にまとめたい

    CMSのサーバーと配信先(Cloudflare)の2系統を管理する必要があります。

「向いていない」に当てはまる場合は、通常のWordPress制作をご提案します。制作の流れと費用の決まり方は、ホームページ制作サービスにまとめています。

実証事例: このサイト自体がヘッドレス構成で動いています

ご覧いただいているこのサイトが、ヘッドレスCMS構成の実例です。構成図と各要素の役割は、このサイトのソースコードとアーキテクチャ資料(docs/CODEMAPS)から起こしています。
andcre.com の構成: 編集者 → WordPress → Next.js ビルド → Cloudflare Pages → 訪問者。動的処理は Cloudflare Workers と Workers AI編集者WordPress 管理画面WordPress(api.andcre.com)投稿 / 制作実績 CPT / RAG コンテキストWPGraphQL + REST APIContact Form 7訪問者から直接は見えないNext.js 15 ビルドRepository → Service → PagegenerateStaticParams全ページを HTML に書き出しGitHub Actions / ローカルCloudflare Pages静的ファイル(dist/)CDN から配信_worker.js(/api/*)訪問者ブラウザ / 検索エンジンCloudflare Workers AIGLM-4.7-Flash + AI Gateway投稿GraphQLdeployHTML / 画像/api/chatRAG(REST)お問い合わせ: 訪問者 → /api/contact(Workers)→ Contact Form 7(WordPress REST)。Turnstile で検証
andcre.comの構成です。WordPressで記事を作成し、ビルド時に全ページを静的なHTMLに変換して、Cloudflare Pagesが配信します。フォームとAIチャットだけはCloudflare Workersが処理します。出典は、このサイトのコードとアーキテクチャ資料です。
  • WordPress(api.andcre.com)の管理画面で、投稿・制作実績・AI用コンテキストを編集します
  • Next.js 15のビルド時にWPGraphQLでデータを取得し、Repository → Service → Pageの順で全ページをHTMLに書き出します
  • Cloudflare Pagesが静的ファイルをCDNから訪問者に配信します。WordPressは訪問者から直接見えません
  • お問い合わせとAIチャットはCloudflare Workersの/api/*が処理し、Workers AI(GLM-4.7-Flash)が回答します

WordPress は編集だけ、表示は Next.js、配信は Cloudflare

andcre.com の構成要素と役割
層技術役割
編集(CMS)WordPress + WPGraphQL投稿・制作実績・AI チャット用コンテキストを管理。更新はこれまでどおり WordPress の管理画面を使用
取得WPGraphQL(+ Offset Pagination)/ REST APIビルド時に GraphQL で本文・一覧・更新日を取得。お問い合わせ(Contact Form 7)と AI 用コンテキストは REST で取得
生成Next.js 15(App Router・静的エクスポート)+ React 19 + TypeScriptRepository → Service → Page の 3 層で取得と変換を分け、全ページを HTML として書き出す
配信Cloudflare Pages(CDN)書き出した HTML・CSS・画像を世界中のエッジから配信。WordPress は訪問者から直接アクセスされない
動的処理Cloudflare Workers(_worker.js)/api/contact・/api/chat・/api/health など 5 本の API をエッジで処理。Turnstile でボットを遮断
AICloudflare Workers AI(GLM-4.7-Flash)+ AI GatewayWordPress に登録したコンテキスト(RAG)を参照して回答するチャットボット

表示側はTypeScript 5.7とTailwind CSS 4で実装し、Vitestによる自動テストとGitHub Actionsのビルド検証を経てデプロイします。バージョンは、このサイトのpackage.jsonに記載のものです。

編集は WordPress のまま、表示は静的ファイル

お客様が行う更新作業は、通常のWordPressと同じです。お知らせや記事は「投稿」から、制作実績は専用のカスタム投稿タイプ(portfolio)から、アイキャッチ・カテゴリ・本文を入力して公開します。制作実績には「お客様の声」(評価・本文・投稿者)の入力項目があり、入力すると実績ページとトップページの「お客様の声」欄に反映されます。

AIチャットボットの回答に使うコンテキストも、WordPressのカスタム投稿タイプ(rag_context)で管理します。サービス内容やFAQをWordPressに入力すれば、チャットボットがそれを根拠に回答するようになります。コードを触らずに回答内容を更新できるのは、CMSを「知識の置き場」として使えるヘッドレス構成の利点です。

訪問者に届くのは、ビルド時に書き出したHTML・CSS・画像です。WordPressの管理画面やPHPは公開サイトから直接見えず、外部から攻撃されるリスクを減らせます。公開後にお客様ご自身でできることと、ご依頼が必要なことの線引きは、通常の制作と同じく公開後の作業分担の表に準じます。

ビルド時のデータの流れ

WordPressの生データをページが直接扱わないよう、取得・変換・生成を3層に分けています。どこで何が起きるかを追えるので、不具合の切り分けと機能追加が楽になります。
  1. WordPress から取得(Repository)

    AxiosのGraphQLクライアントがWPGraphQLに問い合わせます。タイムアウトは30秒とし、GraphQLエラーとネットワークエラーを分けて例外処理します。

  2. 型に変換(Service)

    取得したJSONをTypeScriptの型(PostType / PortfolioTypeなど)に変換し、アイキャッチ・カテゴリ・日付を整えます。ページ側ではWordPressの生データを直接扱いません。

  3. ページを生成(Page)

    記事・カテゴリ・制作実績のURL一覧をgenerateStaticParamsで列挙し、1ページずつHTMLに書き出します。WordPressに接続できずデータが0件の場合は、原因を明示してビルドを停止します。

  4. サイトマップと更新日

    sitemap.xmlのlastmodは、記事はWordPressの更新日、固定ページはGitの最終コミット日をもとに生成します。

フォームやチャットなど動的な機能はエッジで処理

静的ファイルだけでは、お問い合わせの送信やチャットのような「訪問者の入力に応じた処理」ができません。このサイトでは、その部分だけをCloudflare Workers(配信と同じエッジ)で処理しています。
Cloudflare Workers で処理する API
API役割
/api/contactお問い合わせフォームの送信を Contact Form 7 の REST API に中継
/api/chatAI チャット。Turnstile 検証(初回のみ)→ RAG コンテキスト取得(5 分キャッシュ)→ Workers AI 呼び出し
/api/rag/refreshRAG コンテキストのキャッシュ更新(API キー必須)
/api/wordpress/*WordPress API のプロキシ(キャッシュ付き)
/api/health死活確認

お問い合わせフォームとAIチャットは、Cloudflare Turnstileでボットを遮断してから処理します。AIはCloudflare Workers AIのGLM-4.7-Flash(131Kトークンのコンテキスト)をAI Gateway経由で呼び出し、WordPressに登録したコンテキストを渡して回答します。回答の根拠がWordPressにあるので、サービス内容が変わってもコードを変えずに対応できます。

この構成で得られたもの(実測)

数値は自社サイトの実測です(PageSpeed Insights、2026年9月12日)。案件での数値を保証するものではありません。この構成で到達している水準の参考としてご覧ください。
andcre.com の実測値
指標値備考
Largest Contentful Paint(desktop)2.0 秒トップページ。PageSpeed Insights の lab 値
First Contentful Paint(desktop)0.5 秒同上
Performance スコア(desktop)84 / 100同上。mobile はイントロ演出の改修中のため未掲載
静的ページ数25ビルド時に生成する HTML の数(2026-09-12 時点で 25)
自動テスト400 件Vitest。SEO の回帰チェック(60 項目)も別途スクリプトで実行

数値以外にも、この構成には3つのメリットがあります。1つ目は、WordPressが停止してもサイトの表示が止まらないことです。2つ目は、表示側がTypeScriptのコードなので、見出し構造・構造化データ・メタ情報の回帰を自動テストで検出できることです(このサイトでは、SEOの回帰チェック60項目をスクリプトで実行しています)。3つ目は、公開サイトからCMSの管理画面やPHPが見えないことです。

制作実績の詳細ページも同じ仕組みで生成しています。実例として、美容室サイトのNext.js + WordPressによる制作実績をご覧ください。

構築の進め方

工程の骨格は通常のホームページ制作と同じです。KPI策定・現状分析から始まり、ワイヤーフレーム、コンテンツ、環境構築、CMS、お問い合わせ機能、テスト・公開の順に進めます(制作の流れ8工程)。ヘッドレス構成で変わるのは、「環境構築」と「CMS」の内容です。

  • 環境構築: WordPress(編集用)とCloudflare Pages(配信用)の2系統を用意し、WPGraphQLなどのプラグインを設定します。既存のWordPressを使う場合は、データはそのまま、プラグインの追加だけで済みます
  • CMS: WordPressのテーマを作る代わりに、Next.jsのページとコンポーネントを実装します。投稿タイプごとに「取得 → 変換 → 生成」の3層を用意します
  • テスト・公開: ビルドの成功と、生成されたページの見出し・メタ情報・構造化データが想定どおりであることを自動テストで確認してから、CIまたはローカルからデプロイします
  • 移行の場合: 既存のURL構造は維持し、変更が必要なURLはリダイレクトで引き継ぎます。検索評価を落とさないための手順はリニューアルの進め方と同様です

費用は通常の WordPress 制作より高くなります

ヘッドレス構成で増えるのは、表示側の実装分だけです。同じページ数でも、WordPressの既存テーマを使う代わりに画面をコードで構築するため、一般的なレイアウトのWordPress制作(見積例: 5ページ・336,000円・税別)より高くなります。費用の増加幅は実装する画面数によって変わるので、要件を伺ったうえでお見積りします。

公開後に継続して発生する費用は、WordPress用のサーバー・ドメイン実費、配信先(Cloudflare)の利用料、保守をご契約いただく場合の保守費用です。保守の範囲と契約条件は契約・お支払い・保守の条件に準じます。

ヘッドレス CMS 構築のよくある質問

Q.ヘッドレス CMS にすると、WordPress の管理画面は使えなくなりますか?

使えます。投稿・固定ページ・カスタム投稿の編集は、これまでどおりWordPressの管理画面で行います。変わるのは、そのデータをどう表示するか(テーマではなくNext.js)だけです。

Q.記事を公開してからサイトに反映されるまで、どのくらいかかりますか?

ビルドとデプロイを経て反映されます。このサイトではGitHub Actionsまたはローカルからデプロイし、数分で反映されます。分単位での即時反映が必須の場合は向いていません。

Q.既存の WordPress サイトからヘッドレス構成に移行できますか?

できます。WordPressのデータはそのまま使い、WPGraphQLなどのプラグインを追加して、表示側をNext.jsで作り直します。URL構造は維持し、必要な箇所はリダイレクトで引き継ぎます。

Q.WordPress が停止したら、サイトも止まりますか?

止まりません。訪問者に配信されているのはビルド済みの静的ファイルです。停止中は新しい記事の反映とお問い合わせフォームの送信ができなくなりますが、ページの表示は続きます。

Q.費用は通常の WordPress 制作より高くなりますか?

表示側をNext.jsで実装する分、開発量が増えます。費用は「準備の有無 × 開発量」で決まるため、同じページ数でもヘッドレス構成のほうが高くなります。詳しい要件を伺ったうえでお見積りします。

Q.SEO 上の効果はありますか?

静的配信で表示が速く、構造化データやメタ情報をコードで管理できる点は有利です。ただし、検索順位はコンテンツの内容や被リンクで決まるため、構成を変えるだけで上がるものではありません。

ヘッドレスCMS構築のご相談はお気軽にどうぞ。

既存のWordPressサイトのURLと、更新の頻度・体制をお知らせいただければ、向き不向きからお答えします。お見積りは無料です。全国からオンラインで対応します。

050-3743-9081

ヘッドレス CMS 構築とあわせて検討する

通常のWordPress制作の流れ・納期・契約条件は、ホームページ制作サービスにまとめています。

通常の構成における費用は、料金プランと見積例をご覧ください。ヘッドレス構成は開発量に応じて個別にお見積りします。

同じ構成で制作した実例は、制作実績一覧にあります。

静的配信の速さを検索順位につなげる施策は、SEO対策サービスで対応します。

実装を担当する代表の経歴・著書は、代表プロフィールと事業者概要に掲載しています。

既存サイトのURLと更新体制をお知らせいただければ、向き不向きを含めてお問い合わせフォームでお答えします(無料)。

最終更新: