モダンWeb開発の 構成判断:Next.jsと ヘッドレスCMSを どう組み合わせるか
まず押さえたいことこの記事でいうモダンWeb開発とは、表示、コンテンツの管理、配信、動的な処理の役割を分け、要件に応じてフレームワーク、CMS、CDNや実行環境を組み合わせる設計の考え方です。決まった規格や、すべてを分割すべきという方式を指すものではありません。
この記事の要点
Next.jsやヘッドレスCMSを使うかは、技術の新しさではなく、誰が更新するか、承認やプレビューが必要か、更新をいつまでに反映したいか、認証・検索・取引などの機能があるか、公開後に誰が保守するかで決めます。CMSを使わない構成や、今のCMSを続ける選択も候補です。静的に生成する方式、再検証する方式、要求のたびに処理する方式では、更新が反映される条件と必要な実行環境が異なります。採用する前に、運用とセキュリティの担当と、失敗したときの対応を確認票で整理します。
この 記事で わかる こと
- 更新する
人・必要な 機能・ 保守の 体制から、 構成を 選ぶための 確認項目 - SSG・ISR・SSRで、
更新が 反映される 条件と 必要な 環境の 違い - ヘッドレスCMSと
一体 型CMSで 変わる、 編集と 保守の 役割 - 要件別の
構成例と、 運用・ セキュリティの 確認票
Next.jsと ヘッドレスCMSは 必要か: 構成を 選ぶ判断基準
Next.jsとヘッドレスCMSを使うかどうかは、技術の新しさではなく、誰がどのように更新するか、どんな機能が必要か、公開後に誰が保守するかで決めます。会社案内のように更新が少ないサイトなら、CMSを使わずに静的なファイルを配信する構成や、今使っているWordPressなどのCMSを続ける構成も候補です。社内の担当者が記事を頻繁に更新する、会員向けの機能がある、といった条件が加わると、CMSや動的な処理を組み合わせる理由が生まれます。
この記事でいう「モダンWeb開発」は、表示、コンテンツの管理、配信、動的な処理の役割を分けて考える設計の考え方です。分けるほど良いわけではなく、分けた部分ごとに保守の担当と費用が増えます。DXの進め方と同じく、まず要件と体制を確かめます。
次の
| 確認したい | 構成判断への | 未確認なら |
|---|---|---|
| 更新する | 開発者だけが | 誰が、 |
| 承認と | 公開前に | 承認する |
| 反映したい | 公開後すぐに | 反映までに |
| 認証・検索・取引 | 会員ごとの非公開データや、決済・予約を確定する処理は、サーバー側の認証・認可や専用のサービスを確認する。公開記事の検索は、静的な検索索引を作り、ブラウザ内で検索する構成も選べる(例:Pagefind) | 必要な |
| 保守の | 構成を | 社内と |
フレームワークの総合的な順位を比べる必要はありません。Next.jsもAstroも、ビルド時に静的なページを作る使い方と、実行環境に合わせた要求時の処理の両方に対応しています(Astro:On-demand rendering)。確認票の条件に合い、社内や委託先が保守を続けられるかで選びます。
SSG・ISR・SSRの 違いと、 更新が 反映される タイミング
Next.jsでは、ページごとにHTMLを作るタイミングを選べます。違いは、CMSなどで内容を変えたときに、いつ公開ページへ反映されるかと、どんな実行環境が必要かに表れます。
| 方式 | 更新が | 必要な | 注意点 |
|---|---|---|---|
| SSG | ビルドして | 静的な | 更新の |
| ISR | 設定した | ISRに | 公開期限が |
| SSR | 閲覧の | 要求時に | 取得先の |
ISRは、時計で一定の間隔ごとに作り直す仕組みではありません。Next.jsの公式ドキュメントでは、期間を過ぎた後のアクセスにはいったん古いページを返し、裏で新しいページを作り、成功したら次のアクセスから新しいページを返す動きが説明されています。作り直しに失敗したときは、最後に成功したページが返り続けます(Next.js:ISR)。「CMSで公開してから何分以内に反映する」と約束するなら、この条件を前提に確かめます。
Next.jsを静的に書き出す構成(静的export)では、ISR、下書きを確認するDraft Mode、Server Actionsなど、サーバーが必要な機能はそのままでは動きません(Next.js:Static Exports)。フォームの送信や会員向けの機能が必要なら、静的なページとは別に、APIやサーバーレスの関数などの処理を置きます。静的なページに認証付きのAPIを組み合わせることはできますが、権限の確認はAPI側で行います。ブラウザで表示を隠すだけでは、データを守れません(Next.js:Data Security)。
SSRや
ヘッドレスCMSで 変わる 編集と 保守の 役割
ヘッドレスCMSにも、記事を書いて公開する編集画面があります。違いは、公開サイトの見た目を作る部分を持たず、APIなどで内容を渡して、別に作った表示部分(Next.jsなど)が画面を作る点です。WordPressのような一体型のCMSも、APIで内容を渡す使い方ができるため、製品名だけで構成は決まりません。
| 確認項目 | 一体 | ヘッドレス構成を |
|---|---|---|
| 編集と | 同じ | CMSで |
| 承認と | 標準の | 下 |
| 保守と | 本体・テーマ・ | CMS |
| 連携と | プラグインで | APIで |
WordPressには、管理者・編集者・投稿者・寄稿者などの標準の権限があり、寄稿者は記事を書けても公開はできません(WordPress:Roles and Capabilities)。ヘッドレスCMSの権限は製品やプランで異なり、例えばmicroCMSのロール機能は特定のプランで提供されています(microCMS:ロール)。必要な承認の段階を、製品の機能と照らし合わせて確認します。
ヘッドレスの構成では、公開サイトから管理画面やデータベースを切り離せるため、攻撃を受ける入口を減らせる場合があります。一方で、APIキー、編集の権限、表示側のアプリ、連携の保守は残ります。下書きの取得や書き込みの権限を持つAPIキーをブラウザに渡すと、下書きの公開や外部からの書き込みにつながります(microCMS:APIキー)。デザインを刷新するときも、項目の定義やURLの変更が伴えば、表示側の改修だけでは終わりません。
CMSの製品ごとの編集・承認・多言語などの比べ方は、ヘッドレスCMSの選び方で扱っています。今のWordPressを続けるか移行するかは、WordPressからの移行手順を参照してください。
要件別の 構成例: 静的サイトと 動的なWebアプリ
会社の
- 例A:更新が少ない会社案内
CMSを使わない構成や、今のCMSを続ける構成も候補です。静的に生成したHTMLなどをCDNから配信し、問い合わせフォームは別の受付先やAPIで処理します。フォームの実装は問い合わせフォームをWorkersで実装する方法で扱っています。 - 例B:社内の担当者が記事を更新するサイト
CMSで記事を書き、公開をきっかけにビルドして配信するか、対応する実行環境で再検証します。下書きのプレビュー、反映に失敗したときの通知と担当まで決めます。 - 例C:会員向けの機能や業務アプリ
利用者ごとのデータを扱うため、要求時の処理に対応した実行環境、認証と認可、データベース、キャッシュ、監視を設計します。すべてのページを動的にする必要はなく、会社案内や記事は静的に配信し、会員向けの画面だけを動的にする組み合わせもあります。
ECや
Cloudflareを使う場合、静的exportしたNext.jsはCloudflare Pagesで配信でき、サーバーの機能を使うNext.jsはCloudflare Workersで動かす構成が案内されています(Cloudflare:Next.js on Pages)。2026年10月時点の公式ドキュメントでは、Workersでの実行にvinextを推奨しつつ、ベータ版のため互換性の確認を求めており、既存のOpenNextの構成向けの案内もあります(Cloudflare:Next.js on Workers)。新しく静的なサイトを作る場合は、WorkersのStatic Assetsも候補です(Cloudflare:Workers Static Assets)。使う機能が実行環境で動くかを公式ドキュメントで確かめてから選びます。PagesとWorkersの選び方はCloudflare PagesとWorkersの違い、維持費の考え方はホームページ維持費の記事で扱っています。
つまずきやすい 点
CMS、配信、フォーム、分析などを別々のサービスに分けると、それぞれの契約・権限・障害対応の担当が増えます。分けた数だけ、誰が更新し、止まったときに誰が対応するかを決めておきます。
1. 編集・承認
2. 取得・生成
3. 配信・確認
例Bの
Core Web Vitals (表示速度と UXの 指標)
Core Web Vitalsは、読み込み(LCP)、応答性(INP)、表示の安定性(CLS)を測る指標で、Googleの検索順位の仕組みでも使われています。ただし、指標が良いだけで上位に表示されるとは限らず、内容の関連性がより重視されます(Google:ページエクスペリエンス)。
LCP(読み込み)
Largest Contentful Paint
目標:2.5秒以内
- 画像の
形式と 圧縮の 見直し - LCPの
画像は 遅延読み込みに しない - サーバー応答
(TTFB)の 短縮
INP(応答性)
Interaction to Next Paint
目標:200ms以内
- 重い
JavaScript処理の 削減 - イベント処理の
最適化 - 不要な
ライブラリの 削除
CLS(安定性)
Cumulative Layout Shift
目標:0.1以下
- 画像サイズ
(width / height)の 指定 - Webフォントの
読み込み最適化 - 後から
挿入する 要素の 表示枠の 確保
評価は、実際の利用者のデータの75パーセンタイルで、モバイルとデスクトップを分けて確認します(web.dev:Web Vitals)。開発中のPCでの測定やLighthouseの点数は改善の手がかりになりますが、それだけでは、実際の利用者のデータで目標を満たしているかや、順位が上がるかを判断できません。
画像は、画面の外にある画像だけを遅延読み込みにします。LCPになる画像を遅延読み込みにすると、表示が遅れます。優先して読み込む指定も、多くの画像に付けると効果がなくなるため、LCPの画像などに絞ります(web.dev:Optimize LCP)。
運用と セキュリティの 設計
Webサイトは公開した後も、更新の反映、フォーム、権限、依存するライブラリの更新が続きます。次の確認票で、決めることと担当、失敗したときの対応を整理します。担当の欄は役割の例で、自社の体制に合わせて決めます。
| 確認対象 | 決める | 担当 | 失敗時の |
|---|---|---|---|
| 記事の | 下 | 社内の | 誤った |
| ビルド・再検証 | 公開の | 開発・保守担当 | 再実行の |
| フォーム | 送信先、 | 開発・保守担当と | 送信が |
| 権限・秘密情報 | CMSの | 社内の | 漏えいが |
| 依存の | フレームワーク、 | 開発・保守担当 | 不具合が |
| データの | ソースコード、 | 開発・保守担当と | 公開した |
下書きを実際の見た目で確認するプレビューは、構成によって必要な仕組みが変わります。静的exportではNext.jsのDraft Modeは使えないため、別のプレビュー環境などを用意します。プレビュー環境にnoindexを付けても、URLを知っている人は閲覧できるため、非公開の情報は認証などで守ります。
Webhookでビルドを自動化しても、反映までの時間は保証されません。依存ライブラリの更新を知らせるツールは、更新の通知や提案を助けるものです。テスト、公開の判断、不具合のときの戻し方は、別に決めておきます。
APIキーなどの秘密情報や、下書き・書き込みの権限は、ブラウザに渡しません。Next.jsでは、NEXT_PUBLIC_で始まる環境変数はブラウザ向けのコードに含まれます(Next.js:Data Security)。ビルドで使った秘密情報や非公開のデータが、生成したHTMLやJavaScriptに残っていないかも確認します。環境変数に置けば常に安全、というわけではありません。
監視の通知や迷惑送信の対策を入れても、誰が確認して対応するかを決めなければ運用は続きません。データの保全では、ソースコード、CMSのデータ、公開した版の戻し方を分けて確認します。
自社の状況を確認する
- □ 更新する
人、 承認、 反映したい 時期を、 構成を 決める 前に 確認した - □ 更新の
反映方法 (ビルド・ 再検証・ 要求時の 処理)と、 失敗した ときの 通知・戻し方を 決めた - □ CMSの
権限と APIキーの 範囲を 確認し、 秘密情報や 書き込みの 権限を ブラウザに 渡していない - □ フォームの
送信先、 迷惑送信の 対策、 届かない ときの 検知を 決めた - □ フレームワーク・CMS・
配信環境・ 連携の 保守の 担当と、 更新の 確認方法を 決めた - □ 制作、
CMS、 配信・処理、 保守、 社内の 作業の 費用を、 同じ 条件と 期間で 比べた (未確認の 費用は 分けた) - □ 公開前の
受け入れで 確認する 項目 (表示、 更新、 フォーム、 権限)と、 確認する 人を 決めた
SEOと AI検索で 本文を 伝える ための 確認事項
検索やAIの回答で内容を伝えるために大切なのは、構成の名前ではなく、読者の疑問に答える本文が検索エンジンに届くことです。Next.jsやSSGを使うだけで検索に有利になるわけではありません。次の点を確認します。
- 本文が
HTMLで :読める こと 重要な 本文を、 ブラウザでの 処理だけに 頼らず HTMLとして 返す。 静的な 生成や SSRは、 これを 満たしやすい 方法の 一つ - 役に
立つ回答と :結論だけでなく、条件 どんな 条件で その 判断に なるかを 書く - ページ固有の
情報 :ページごとに固有の タイトル、 説明、 canonicalを 設定する - 内部
リンク :関連する記事を、 疑問が 生まれる 箇所から 案内する - 公開と
下書きの :扱い 公開ページは リンクと サイトマップからた どれるようにし、 下書きや 検証環境は 公開しない。 同じ 内容の ページが 重複していないかも 確かめる
GoogleのAI Overviewsなどの機能にも通常のSEOの基本が当てはまり、表示されるための特別な対応や、専用の構造化データ、AI向けのファイルは不要だと案内されています(Google:AI features and your website)。これはGoogleの案内で、他のAI検索サービスの仕組みまで示すものではありません。ArticleやFAQの構造化データを使う場合は、画面に表示している内容と一致させます。構造化データを入れても、リッチリザルトやAIの回答への採用は保証されません。
確認票で
押さえておきたい点
よく ある 質問
Q. 従来の
要件によって変わるため、一律には言えません。比べるときは、制作、CMSの利用料、配信や処理の費用、更新と保守、移行、社内の作業時間を、同じ機能と同じ期間でそろえます。見積もりに入っていない費用は、0円とせず未確認として分けて確認します。
Q. 制作期間は
対象のページ数、デザインとCMSの設計、コンテンツの準備、外部サービスとの連携、確認する人と受け入れの進め方で変わります。期間を見積もる前に、これらの範囲と、社内で確認できる時期をそろえます。
Q. 非エンジニアでも
CMSを使えば、編集画面から文章や画像を更新して公開できます。ただし、公開した内容がサイトにいつ反映されるかは構成によって異なり、下書きを実際の見た目で確認するにはプレビューの仕組みが必要です。承認の段階や権限の細かさは、CMSの製品やプランで確認します。
Q. SEOには
本文をHTMLで返しやすく、表示を速くしやすい構成はありますが、Next.jsやヘッドレスCMSを使うだけで検索順位が上がるわけではありません。順位は、内容の有用性、内部リンク、ページ固有の情報、表示の速さなど複数の要因で決まります。
Q. セキュリティ
要否と深さは、扱うデータ、契約上の要求、会員向けの機能や決済の有無、リスクの大きさで判断します。静的な配信ではサーバーの管理範囲を減らせる場合がありますが、フォーム、CMSの権限、APIキー、外部との連携の確認は必要です。すべてのサイトで外部の監査が必須というわけではありません。
Q. Next.jsと
どちらも必須ではありません。開発者だけが更新するならCMSを使わない構成、今のWordPressで運用が回っているなら継続も選べます。Next.jsを使ってCMSは使わない、CMSを使って別のフレームワークで表示する、といった組み合わせもあります。更新する人と必要な機能から選びます。
参考情報
- Next.js:Static Exports
(確認日:2026年10月20日) - Next.js:Incremental Static Regeneration
(ISR) (確認日:2026年10月20日) - Next.js:Data Security
(確認日:2026年10月20日) - Cloudflare:Next.js
(Pages) (確認日:2026年10月20日) - Cloudflare:Next.js
(Workers) (確認日:2026年10月20日) - Cloudflare:Workers Static Assets
(確認日:2026年10月20日) - Astro:On-demand rendering
(確認日:2026年10月20日) - WordPress:Roles and Capabilities
(確認日:2026年10月20日) - microCMS:ロール
(確認日:2026年10月20日) - microCMS:APIキー
(X-MICROCMS-API-KEY) (確認日:2026年10月20日) - web.dev:Web Vitals
(確認日:2026年10月20日) - web.dev:Optimize Largest Contentful Paint
(確認日:2026年10月20日) - Google 検索
セントラル:ページエクスペリエンス (確認日:2026年10月20日) - Google 検索
セントラル:AI features and your website (確認日:2026年10月20日)
Webサイトの 構成と 運用を、 要件から 整理します。
更新する人、必要な機能、反映したい時期、公開後の運用など、未整理の条件から、企業サイトの構成を決めて制作・刷新する支援をご確認ください。初回相談で状況と支援の範囲を確認します。