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 で HTML を組み立てて返します。ヘッドレス 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 制作をご提案します。制作の流れと費用の決まり方は、ホームページ制作サービスにまとめています。
実証事例: このサイト自体がヘッドレス構成で動いています
- 編集者は WordPress(api.andcre.com)の管理画面で、投稿・制作実績・AI 用コンテキストを編集する
- Next.js 15 のビルド時に WPGraphQL でデータを取得し、Repository → Service → Page の順で全ページを HTML に書き出す
- Cloudflare Pages が静的ファイルを CDN から訪問者に配信する。WordPress は訪問者から直接見えない
- お問い合わせと AI チャットは Cloudflare Workers の /api/* が処理し、AI は Workers AI(GLM-4.7-Flash)が回答する
WordPress は編集だけ、表示は Next.js、配信は Cloudflare
| 層 | 技術 | 役割 |
|---|---|---|
| 編集(CMS) | WordPress + WPGraphQL | 投稿・制作実績・AI チャット用コンテキストを管理。編集者はこれまでどおり WordPress の管理画面を使う |
| 取得 | WPGraphQL(+ Offset Pagination)/ REST API | ビルド時に GraphQL で本文・一覧・更新日を取得。お問い合わせ(Contact Form 7)と AI 用コンテキストは REST で取得 |
| 生成 | Next.js 15(App Router・静的エクスポート)+ React 19 + TypeScript | Repository → Service → Page の 3 層で取得と変換を分け、全ページを HTML として書き出す |
| 配信 | Cloudflare Pages(CDN) | 書き出した HTML・CSS・画像を世界中のエッジから配信。WordPress は訪問者から直接アクセスされない |
| 動的処理 | Cloudflare Workers(_worker.js) | /api/contact・/api/chat・/api/health など 5 本の API をエッジで処理。Turnstile でボットを遮断 |
| AI | Cloudflare Workers AI(GLM-4.7-Flash)+ AI Gateway | WordPress に登録したコンテキスト(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 から取得(Repository)
Axios の GraphQL クライアントが WPGraphQL に問い合わせます。タイムアウトは 30 秒で、GraphQL エラーとネットワークエラーを分けて例外処理します。
型に変換(Service)
取得した JSON を TypeScript の型(PostType / PortfolioType など)に変換し、アイキャッチ・カテゴリ・日付を整えます。ページ側では WordPress の生データを直接扱いません。
ページを生成(Page)
記事・カテゴリ・制作実績の URL 一覧を generateStaticParams で列挙し、1 ページずつ HTML に書き出します。WordPress に接続できずデータが 0 件のときは、原因を明示してビルドを停止します。
サイトマップと更新日
sitemap.xml の lastmod は、記事は WordPress の更新日、固定ページは Git の最終コミット日をもとに生成します。
フォームやチャットなど動的な機能はエッジで処理
| API | 役割 |
|---|---|
| /api/contact | お問い合わせフォームの送信を Contact Form 7 の REST API に中継 |
| /api/chat | AI チャット。Turnstile 検証(初回のみ)→ RAG コンテキスト取得(5 分キャッシュ)→ Workers AI 呼び出し |
| /api/rag/refresh | RAG コンテキストのキャッシュ更新(API キー必須) |
| /api/wordpress/* | WordPress API のプロキシ(キャッシュ付き) |
| /api/health | 死活確認 |
お問い合わせフォームと AI チャットは、Cloudflare Turnstile でボットを遮断してから処理します。AI は Cloudflare Workers AI の GLM-4.7-Flash(131K トークンのコンテキスト)を AI Gateway 経由で呼び、WordPress に登録したコンテキストを注入して回答します。回答の根拠が WordPress にあるため、サービス内容が変更されてもコードを変えずに対応できます。
この構成で得られたもの(実測)
| 指標 | 値 | 備考 |
|---|---|---|
| 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 と、更新の頻度・体制をお知らせいただければ、向き不向きからお答えします。お見積りは無料です。全国からオンラインで対応します。
ヘッドレス CMS 構築とあわせて検討する
通常の WordPress 制作の流れ・納期・契約条件は、ホームページ制作サービスにまとめています。
通常の構成における費用は、料金プランと見積例をご覧ください。ヘッドレス構成は開発量に応じて個別にお見積りします。
同じ構成で制作した実例は、制作実績一覧にあります。
静的配信の速さを検索順位につなげる施策は、SEO対策サービスで対応します。
実装を担当する代表の経歴・著書は、代表プロフィールと事業者概要に掲載しています。
既存サイトの URL と更新体制をお知らせいただければ、向き不向きを含めてお問い合わせフォームでお答えします(無料)。