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制作をご提案します。制作の流れと費用の決まり方は、ホームページ制作サービスにまとめています。
実証事例: このサイト自体がヘッドレス構成で動いています
- 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
| 層 | 技術 | 役割 |
|---|---|---|
| 編集(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と更新体制をお知らせいただければ、向き不向きを含めてお問い合わせフォームでお答えします(無料)。