2026年11月08日
Jamstackサイトの運用コストはどこで発生するのか?

Jamstackのメリットとして、パフォーマンスやセキュリティとともに、運用コストの低さが挙げられます。
Next.jsやAstroで静的HTMLを生成し、Cloudflare PagesなどのCDNから配信する構成なら、アクセスごとにサーバーでHTMLを生成する必要はありません。小規模なコーポレートサイトでは、ホスティング費用を比較的低く抑えられるケースもあります。
では、公開後の費用はほとんど発生しないのでしょうか。
静的ファイルの配信コストと、Webサイトを継続して運用するコストは別物です。
今回は、Next.js / Astro + microCMSを例に、Jamstackサイト公開後にどのようなコストが発生するかを整理します。
1. ホスティング・CDNのコスト
静的なHTML、CSS、JavaScript、画像をCDNから配信できる点は、Jamstackの大きな強みです。構成は次のような流れになります。
- microCMSから、ビルド時にデータを取得する
- Next.js / Astroで静的ファイルを生成する
- Cloudflare PagesなどのCDNから配信する
- ユーザーに届く
サーバーレンダリングのようにページアクセスごとにアプリケーション処理を行う必要がなく、構成をシンプルにできます。
ただし、ホスティング先によってはデータ転送量、ビルド回数・時間、ストレージなどの制限があります。ドメインの更新費用も別途発生します。無料枠で運用できても、サイト規模や契約条件に応じて見直しが必要です。
2. CMSの利用コスト
microCMSなどのヘッドレスCMSを利用すると、お知らせやブログを管理画面から更新できます。一方で、CMS側にも費用や制限があります。
- 月額利用料金
- APIリクエストや転送量の制限
- コンテンツ・管理ユーザー数の制限
- 権限管理、公開フロー、バックアップなどの運用要件
CMSの料金だけでなく、コンテンツを安全に継続更新できる環境を維持すること も運用コストの一部です。
3. ビルド・デプロイのコスト
静的サイトでは、CMS更新時に再ビルドが必要な構成があります。
- microCMSで記事を公開する
- Webhookが送られる
- ビルドで静的ファイルを再生成する
- CDNへデプロイする
- 公開内容が更新される
この仕組みなら担当者がコードを触らずに更新できます。しかしビルドには実行時間とリソースが必要です。ページ数やビルド処理によっては時間が増え、ホスティングサービスの制限・料金に影響します。
また、CMSスキーマ変更や依存関係の更新によってビルドが失敗すると、新しいコンテンツが反映されないことがあります。公開中のサイトがすぐ停止するとは限りませんが、ビルドとデプロイの失敗を検知する仕組み は必要です。
4. フレームワーク・依存パッケージの保守コスト
長期運用で特に意識したい部分です。
Next.js、Astro、React、Node.js、npmパッケージは継続して更新されています。公開時に問題がなくても、数年後にはNode.jsのサポート終了、依存ライブラリの非推奨化、脆弱性などが発生する可能性があります。
サイトが正常に表示されていることと、安全に保守できる状態であることは同じではありません。
静的配信ではリクエスト時のサーバー処理を減らせますが、ビルド環境と依存パッケージの管理まで不要になるわけではありません。
- Node.js・フレームワークのサポート期限確認
- 依存パッケージ更新と脆弱性情報の監視
- アップデート後のビルド・動作確認
- 破壊的変更への対応
Dependabotなどで更新PRを自動作成できますが、互換性は型チェックやテストで確認する必要があります。
5. パフォーマンス・動作監視のコスト
Jamstackは高速な構成を取りやすいものの、採用するだけで高速化が保証されるわけではありません。
画像やJavaScript、外部スクリプト、Webフォントなどの追加で表示速度が低下することがあります。LCP・INP・CLSといったCore Web Vitals、Lighthouse、実ユーザーの計測データを使って継続的に確認できます。
また、お問い合わせフォームの送信失敗、外部サービスとの連携エラーなども確認対象です。
問題の発生後に対応するだけでなく、問題に気づける仕組みを用意すること が重要です。
6. コンテンツ更新・バックアップのコスト
運用にはインフラ費用以外の作業もあります。
- お知らせ・ブログの更新
- 画像・テキストの差し替え
- ページの追加・修正
- CMSコンテンツのバックアップ
- 公開後の不具合対応
GitHubでソースコードを管理していても、CMSの記事・画像などが同じ場所に保存されているとは限りません。ソースコード、CMSコンテンツ、画像それぞれの保存先と復旧方法を把握する必要があります。
バックアップを取得するだけでなく、必要なときに 復元できるか も確認したいところです。
7. 運用コストを抑えるための自動化
すべてを毎月手動で確認する必要はありません。Jamstackでは運用の多くを自動化できます。
- 依存関係:Dependabotによる更新PR
- コード品質:ESLint・TypeScript
- ビルド:GitHub Actionsでの検証
- パフォーマンス:Lighthouseによる定期計測
- コンテンツ:CMSの定期バックアップ
- デプロイ:ビルド失敗通知
- フォーム:送信・到達確認
AIによる修正やテスト支援も選択肢です。ただし、メジャーアップデートや仕様変更では人間による判断が必要な場面もあります。
自動化できる作業と、人間が責任を持って判断する作業を分けることが重要です。
まとめ:Jamstackは運用コストが低い。しかし保守は不要ではない
Jamstackの強みは、静的ファイルをCDNから配信することでインフラ構成をシンプルにしやすいことです。
一方、CMS、ビルド環境、依存パッケージ、パフォーマンス、バックアップなどの管理は継続して必要になります。
Jamstackは運用コストをなくす技術ではなく、運用をシンプルにし、自動化しやすくするための選択肢の一つ だと考えています。
ブラキオでは、Next.jsやAstro、microCMSなどを利用したWebサイト制作に加え、公開後の継続的な運用・保守にも取り組んでいます。
制作して終わりにするのではなく、長く安定して利用できる状態を維持すること。そこまで含めてWebサイトの品質を考えていきたいと思います。
この記事をシェアする
最近の投稿

Jamstackサイトの運用コストはどこで発生するのか?
Jamstackのメリットとして、パフォーマンスやセキュリティとともに、運用コストの低さが挙げられます。Next.jsやAstroで静的HTMLを生成し、Cloudflare PagesなどのCDNから配信する構成なら、アクセスごとにサーバーでHTMLを生成する必要はありません。小規模なコーポレートサイトでは、ホスティング費用を比較的低く抑えられるケースもあります。では、公開後の費用はほとんど発生しないのでしょうか。今回は、Next.js / Astro + microCMSを例に、Jamstackサイト公開後にどのようなコストが発生するかを整理します。静的なHTML、CSS、JavaScript、画像をCDNから配信できる点は、Jamstackの大きな強みです。構成は次のような流れになります。サーバーレンダリングのようにページアクセスごとにアプリケーション処理を行う必要がなく、構成をシンプルにできます。ただし、ホスティング先によってはデータ転送量、ビルド回数・時間、ストレージなどの制限があります。ドメインの更新費用も別途発生します。無料枠で運用できても、サイト規模や契約条件に応じて見直しが必要です。microCMSなどのヘッドレスCMSを利用すると、お知らせやブログを管理画面から更新できます。一方で、CMS側にも費用や制限があります。 も運用コストの一部です。静的サイトでは、CMS更新時に再ビルドが必要な構成があります。この仕組みなら担当者がコードを触らずに更新できます。しかしビルドには実行時間とリソースが必要です。ページ数やビルド処理によっては時間が増え、ホスティングサービスの制限・料金に影響します。また、CMSスキーマ変更や依存関係の更新によってビルドが失敗すると、新しいコンテンツが反映されないことがあります。公開中のサイトがすぐ停止するとは限りませんが、 は必要です。長期運用で特に意識したい部分です。Next.js、Astro、React、Node.js、npmパッケージは継続して更新されています。公開時に問題がなくても、数年後にはNode.jsのサポート終了、依存ライブラリの非推奨化、脆弱性などが発生する可能性があります。静的配信ではリクエスト時のサーバー処理を減らせますが、ビルド環境と依存パッケージの管理まで不要になるわけではありません。Dependabotなどで更新PRを自動作成できますが、互換性は型チェックやテストで確認する必要があります。Jamstackは高速な構成を取りやすいものの、採用するだけで高速化が保証されるわけではありません。画像やJavaScript、外部スクリプト、Webフォントなどの追加で表示速度が低下することがあります。LCP・INP・CLSといったCore Web Vitals、Lighthouse、実ユーザーの計測データを使って継続的に確認できます。また、お問い合わせフォームの送信失敗、外部サービスとの連携エラーなども確認対象です。 が重要です。運用にはインフラ費用以外の作業もあります。GitHubでソースコードを管理していても、CMSの記事・画像などが同じ場所に保存されているとは限りません。ソースコード、CMSコンテンツ、画像それぞれの保存先と復旧方法を把握する必要があります。バックアップを取得するだけでなく、必要なときに も確認したいところです。すべてを毎月手動で確認する必要はありません。Jamstackでは運用の多くを自動化できます。AIによる修正やテスト支援も選択肢です。ただし、メジャーアップデートや仕様変更では人間による判断が必要な場面もあります。自動化できる作業と、人間が責任を持って判断する作業を分けることが重要です。Jamstackの強みは、静的ファイルをCDNから配信することでインフラ構成をシンプルにしやすいことです。一方、CMS、ビルド環境、依存パッケージ、パフォーマンス、バックアップなどの管理は継続して必要になります。 だと考えています。ブラキオでは、Next.jsやAstro、microCMSなどを利用したWebサイト制作に加え、公開後の継続的な運用・保守にも取り組んでいます。制作して終わりにするのではなく、長く安定して利用できる状態を維持すること。そこまで含めてWebサイトの品質を考えていきたいと思います。
2026.11.08

制作会社・広告代理店が外部フロントエンドエンジニアと組むときに整理しておきたいこと
Web制作会社や広告代理店の方から、次のような相談をいただくことがあります。「フロントエンドの実装だけお願いしたい」「社内リソースが足りないので一部だけ手伝ってほしい」「公開後の運用保守までまとめてお願いしたい」実際、Web制作ではデザインやディレクションは社内で対応できても、フロントエンドの実装リソースだけ不足するケースは珍しくありません。一方で、外部のエンジニアと組む場合、単純に「デザインデータを渡して実装してもらう」だけでは、思った以上に進行が難しくなることもあります。この記事では、制作会社や広告代理店が外部フロントエンドエンジニアとスムーズに仕事を進めるために、事前に整理しておくと良いポイントをまとめます。同じ「フロントエンドの外注」でも、依頼内容はかなり幅があります。最初に担当範囲を整理しておくと、見積もりもしやすく、あとから「ここは誰が対応するのか」が曖昧になりにくくなります。特に最近では、単純なコーディングだけではなく、Next.jsやCMS、ホスティング環境まで含めた構成になることも多いため、実装以外の範囲も確認しておくことが重要です。デザインデータがあれば実装できるように思えますが、実際にはデザインだけでは判断できないことが多くあります。たとえば、次のような部分です。こうした部分が整理されていないと、実装中に確認事項が増え、結果として制作スピードが落ちてしまいます。すべてを細かく仕様書にする必要はありません。「ここはお任せ」「この部分だけはこうしたい」といった形でも、 でかなり進めやすくなります。Figmaなどのデザインデータについても、少し整理されているだけで実装工数は大きく変わります。たとえば、次のような状態です。逆に、ページごとに微妙にボタンのサイズが違ったり、余白ルールが統一されていない場合、実装側で確認や調整が必要になります。これはデザインの良し悪しというよりも、「実装しやすい設計になっているか」という話です。実装を外部に依頼する場合は、デザイナーとエンジニアが早い段階で一度話しておくのも有効です。実装を開始してから「実はCMSはこれを使いたい」「ホスティングはこのサービスにしたい」となると、構成を変更する必要が出ることがあります。そのため、次のような項目はできるだけ早めに共有しておくのがおすすめです。もし技術選定自体が決まっていない場合は、実装担当に相談する方法もあります。案件の規模や更新頻度によっては、WordPressではなくJamstack構成の方が運用しやすいケースもあります。Webサイトは公開して終わりではありません。公開後には、次のような作業が発生します。特にNext.jsやReactなどを利用している場合、依存ライブラリのアップデートや脆弱性対応も必要です。そのため、制作時点で まで決めておくと安心です。制作を担当したエンジニアがそのまま運用保守まで対応できると、サイトの構成を理解しているため、改修もスムーズに進められます。外部のフロントエンドエンジニアというと、「仕様通りにコードを書く人」というイメージを持たれることもあります。ただ、長期的に組む場合は、次のような部分まで相談できるパートナーの方が、結果的にディレクターの負担を減らせます。案件によっては、要件をそのまま実装するよりも、少し仕様を整理するだけで工数を減らせるケースもあります。外部パートナーを探す際は、単純な実装スキルだけでなく、「案件全体を見て判断できるか」という点も重要だと思います。株式会社ブラキオでは、Next.js / Reactを中心としたフロントエンド開発やJamstackサイト制作を行っています。制作会社・広告代理店からの、次のようなご相談にも対応しています。単発の実装だけでなく、案件ごとに継続して相談いただく外部フロントエンドパートナーとしての関わり方も可能です。「社内の実装リソースが足りない」「Next.js案件だけ外部に任せたい」「公開後の保守までまとめて相談したい」といった場合は、お気軽にご相談ください。
2026.11.07

お知らせ・社員インタビューを更新できる企業サイトの制作で考えること
企業サイトを制作するときに、よく出てくる要望があります。「お知らせを自社で更新できるようにしたい」「採用向けに社員インタビューを増やしていきたい」「毎回制作会社に頼まなくても、簡単な情報は社内で直したい」こうした要望自体はとても自然です。公開後も情報を増やしていけるサイトは、会社の動きや雰囲気を伝えやすくなります。ただし、CMSを入れれば自動的に運用しやすくなるわけではありません。更新できるサイトにするには、制作前に「どの情報を更新するのか」「誰が入力するのか」「公開前に誰が確認するのか」「公開後に誰が保守するのか」まで決めておく必要があります。この記事では、お知らせや社員インタビューを更新できる企業サイトを作るときに、制作前に考えておきたいポイントを整理します。最初に決めたいのは、更新したい情報の種類です。たとえば企業サイトでは、次のようなコンテンツが更新対象になります。ここで大事なのは、 です。年に1回しか変わらない会社概要まで細かく管理画面化すると、制作費も運用ルールも重くなります。一方で、月に数回更新するお知らせや、採用活動に合わせて増やしたい社員インタビューは、社内で更新できるようにしておく価値があります。「更新頻度が高いもの」「社内の鮮度が価値になるもの」「公開後に増えていくもの」から優先すると、必要なCMSの範囲が見えやすくなります。同じ更新コンテンツでも、お知らせと社員インタビューでは管理したい項目が違います。お知らせなら、次のような項目が基本になります。社員インタビューなら、次のような項目が必要になるかもしれません。この入力項目を最初に整理しておくと、一覧ページや詳細ページの見せ方も決めやすくなります。逆に、入力項目を決めないままCMSを作ると、公開後に「この情報も載せたかった」「一覧でこの項目を出したい」となり、追加改修が必要になることがあります。見た目のデザインだけでなく、裏側の入力項目まで設計しておくことが、更新しやすさにつながります。CMSは、エンジニアではない人が使うことも多いツールです。そのため、入力画面はできるだけ迷わない形にしておくのがおすすめです。たとえば、次のような工夫があります。管理画面が複雑すぎると、更新作業そのものが負担になります。結果として、せっかくCMSを入れても更新されないサイトになってしまいます。「社内の誰が触っても、最低限の品質で更新できる」状態を目指すと、公開後の運用が続きやすくなります。企業サイトの更新では、入力できることと、すぐ公開してよいことは別です。特に社員インタビューや導入事例では、本人確認、掲載許可、顧客名、写真、機密情報などの確認が必要になることがあります。公開前に見ておきたい項目は、たとえば次のようなものです。CMS側で下書き・レビュー・公開の状態を分けたり、公開前チェックリストを運用に入れたりすると、担当者が変わっても確認漏れを減らしやすくなります。お知らせや社員インタビューは、単に更新頻度を増やすために書くものではありません。企業サイトを見に来る人は、「この会社は何をしているのか」「信頼できる会社なのか」「働く人はどんな雰囲気なのか」「自分が相談してよさそうか」を知りたいはずです。Googleも、検索向けに量産された内容ではなく、読者に役立つ、信頼できる、独自性のあるコンテンツを重視する考え方を示しています。社員インタビューなら、きれいな紹介文だけでなく、実際の働き方、仕事の進め方、入社前後のギャップ、チームの雰囲気など、会社の中にいる人だから書ける内容が価値になります。お知らせも、ただ「掲載しました」で終わらせるのではなく、読者が次に何をすればよいか分かる導線を用意すると親切です。公開後に増えていくコンテンツほど、品質のばらつきが出やすくなります。たとえば、社員インタビューで写真を載せるなら代替テキストをどう書くか。動画を使うなら字幕や内容説明をどう用意するか。リンク文言を「こちら」だけにしないか。見出しの順番が崩れていないか。こうした基本は、最初の制作時だけでなく、更新運用の中でも守る必要があります。デジタル庁の標準ガイドライン群でも、Webサイト構築後に追加されるコンテンツのアクセシビリティに焦点を当てた広報向けガイドブックが位置づけられています。つまり、アクセシビリティは制作時の一度きりの対応ではなく、更新し続ける情報にも関係するテーマです。検索エンジン向けには、記事ページごとにタイトル、説明文、公開日、更新日、著者・組織情報などを正しく扱える設計にしておくと、あとから整えやすくなります。GoogleのArticle構造化データでも、記事の見出し、画像、公開日、更新日、著者情報などを機械が理解しやすい形で示す例が紹介されています。CMSを導入すると、社内で更新しやすくなる一方で、保守も必要になります。特にWordPressのような広く使われているCMSでは、本体・プラグイン・テーマのアップデート、バックアップ、権限管理、ログイン情報の管理などを継続して見る必要があります。IPAも、WordPressの脆弱性対策として、対象バージョンへの更新確認や、必要に応じた手動更新の検討を案内しています。CMSを入れるかどうかを決めるときは、「誰が記事を更新するか」だけでなく、 もセットで考えておくと安心です。もし社内で保守を見るのが難しい場合は、制作会社や外部パートナーに保守運用まで依頼する方法もあります。更新できる企業サイトを作るとき、最初から完璧な管理画面を作る必要はありません。まずは、お知らせと社員インタビューだけを更新できるようにする。カテゴリやタグは最低限にする。公開前チェックリストを用意する。慣れてきたら導入事例やセミナー情報を増やす。このように段階的に広げる方法もあります。大切なのは、作って終わりにしないことです。企業サイトは公開したあとも、会社の動きに合わせて育てていくものです。CMSはそのための道具であり、目的ではありません。お知らせや社員インタビューを更新できる企業サイトを作るときは、CMSを入れるかどうかだけでなく、次のようなことを整理しておくと進めやすくなります。更新できるサイトは、管理画面を作るだけでは完成しません。社内の人が無理なく使えて、読者に役立つ情報を継続して出せて、公開後も安全に保守できる状態まで含めて設計することが大切です。ブラキオでは、中小企業の企業サイト制作や、Next.jsとヘッドレスCMSを組み合わせたサイト構築、公開後の保守運用まで相談できます。「お知らせや社員インタビューを自社で更新できるようにしたい」「CMSを入れるべきか迷っている」という段階でも、まずはお気軽に株式会社ブラキオへご相談ください。
2026.10.29

microCMSがTypeScript型の自動生成に対応。Next.js制作で見直したい型管理とCI
ヘッドレスCMSを使ったWeb制作では、CMS側のAPIスキーマとフロントエンド側の型定義を揃えておく必要があります。例えばmicroCMSで「お知らせ」に項目を追加しても、Next.js側のTypeScriptの型を更新し忘れると、実装と実際のデータ構造にずれが生じます。、microCMSはAPIスキーマからTypeScriptの型を自動生成するCLI「microcms-typegen」を公開しました。同時に、JavaScript SDK(microcms-js-sdk)のバージョン3.6.0では、生成した型を使ってエンドポイントや取得条件に応じた型推論ができるようになりました。これは単に型を書く手間を減らすだけでなく、を考えるきっかけになるアップデートです。この記事では、何が変わったのかを整理したうえで、Next.jsとmicroCMSで企業サイトを制作・保守するときに見直したい型管理とCIのポイントを考えます。Next.jsとmicroCMSを組み合わせる場合、CMSで定義したフィールドに対応する型をフロントエンド側で手書きする方法が一般的でした。例えば、お知らせに「タイトル」「本文」「公開日」がある場合、開発側でもそれらを型定義します。しかし運用開始後に「カテゴリ」や「サムネイル」が追加されると、CMSの設定変更と型定義の修正を別々に行う必要があります。担当者が違ったり、変更が小さかったりすると、この同期が抜けることがあります。型チェックが通っていても、。microcms-typegenは、マネジメントAPIから取得したAPIスキーマをもとにTypeScriptの型を生成します。CMSの設定を見ながらフィールド名を書き写す必要がなくなり、スキーマ変更時もコマンドの再実行で型を更新できます。基本的な導入は、ツールのインストール、初期設定、API情報取得権限を持つAPIキーの設定、型生成の順番です。ただし、公式READMEに記載された動作環境はです。設定ファイルや生成した型を型チェックする場合はが必要で、SDK側の新しい型推論もTypeScript 6.0以降を前提としています。既存プロジェクトへ導入する前に、ランタイムとTypeScriptのバージョンを確認しておきたいところです。microcms-js-sdk 3.6.0では、生成されたサービス全体の型をに指定できます。例えば記事一覧の取得時にで「タイトルだけ」を指定すれば、その条件に応じた戻り値の型が推論されます。による参照先の展開も考慮され、存在しないエンドポイントやフィールドを指定した場合は、静的に分かる範囲で型エラーとして検出できます。これまでのように取得メソッドごとに型を手で指定するより、APIスキーマと実装の関係が明確になります。今回注目したいのは、コマンドです。生成済みの型と現在のAPIスキーマを比較し、差分やファイルの欠落がある場合に終了コード1を返します。生成ファイルを書き換えないため、CIに組み込めます。例えば、次のような運用が考えられます。導入にあたっては、CIからmicroCMSのマネジメントAPIへアクセスするためのAPIキーの管理、チェックを実行するタイミング、開発環境と本番環境でスキーマが異なる場合の扱いなども、あわせて設計する必要があります。Claude CodeなどのAIに実装を任せる場合、AIがCMSに存在しないフィールド名を推測して使ってしまうことがあります。生成した型を参照できる状態にしておけば、存在しないフィールドを使った実装は型チェックで発見しやすくなります。AIに「正しいフィールド名を覚えさせる」だけでなく、という考え方です。ただし、型が正しいからといって画面の仕様や使いやすさまで保証されるわけではありません。AIへの指示、型チェック、テスト、人間による動作確認は、それぞれ役割が異なります。人が確認すべきことと機械で検出できることを分ける、これはブラキオが重視するFrontend Opsの考え方にもつながります。今回の型推論にも対象外があります。公式SDKのREADMEでは、やの文字列内で指定するフィールド名や値は型検査の対象外とされています。また、TypeScriptの型はコンパイル時の確認であり、実際のAPIレスポンスを実行時に検証するものではありません。さらに、既存データには未入力の値が残っている可能性があります。必須フィールドだから必ず値がある、と安易に決めつけないことも大切です。型生成ツールには読み取り型の空値を絞る設定がありますが、実データの状態を保証できる場合に限って使うのがよいでしょう。設定ファイルはES modules形式のTypeScriptが前提で、でを明示しているプロジェクトには対応していない点にも注意が必要です。microCMSの型自動生成は、TypeScriptを書く量を減らすだけの機能ではありません。CMSのスキーマ変更を、フロントエンドの型チェックやCIにつなげられる点に価値があります。Webサイトは公開後も、お知らせの項目追加やページ構成の変更が発生します。そのたびに人間が目視で型を確認するより、方が、継続的な保守には向いていると考えています。導入を検討する際の確認ポイントは次のとおりです。まずは既存プロジェクトのNode.js・TypeScriptのバージョンとCMSの更新フローを確認し、小さなAPIから導入を検討してみるのがよさそうです。ブラキオでは、Next.jsとmicroCMSを使ったサイトの制作だけでなく、公開後の保守・運用もお手伝いしています。「既存サイトに型生成やCIを導入したい」「CMSの更新フローを整理したい」といったご相談も、お気軽にお問い合わせください。※記事内の仕様・バージョンは2026年10月24日時点の公式情報に基づきます。最新の内容は各公式ドキュメントをご確認ください。
2026.10.26

Jamstackサイトはどこから乗っ取られる?不正アクセスの経路と確認する場所
「JamstackはWordPressより安全」とよく言われます。ブラキオのブログでも、で、その理由を紹介しました。ただ、実際にサイトを運用していると、次のような疑問が出てきます。この記事では、弊社のサイトと同じ「microCMS × Next.js(静的書き出し)× Netlify」の構成を例に、これらの疑問に答えます。Next.jsで静的に書き出したサイトは、ビルドのときにHTMLを作り、Netlifyなどのホスティングサービスから配信します。アクセスのたびに動くプログラムも、公開側のデータベースもありません。CMSの管理画面は、サイトとは別のドメインにあります。そのため、WordPressで典型的な次のような攻撃は、構造上成り立ちません。 を探して回る自動スキャンが来ても、404が返るだけです。ただし、リスクがゼロになるわけではありません。、と考えるのが正確です。なお、Next.jsでもSSRやAPIルートを使ってサーバーを動かす構成では、話が変わります。2025年3月には、Next.jsのミドルウェアで行っている認可チェックを、特定のリクエストヘッダーを付けるだけで素通りできる脆弱性(CVE-2025-29927)が公表されました。同年12月には、React Server Componentsのサーバー関数に細工したリクエストを送ると、認証なしで任意のコードを実行できる脆弱性(CVE-2025-55182、通称「React2Shell」)が公表され、実際に悪用も確認されています。静的に書き出したサイトではミドルウェアもサーバー関数も動かないため、こうしたサーバー側の脆弱性の影響を受けません。Jamstackサイトで現実的な経路は、次の4つです。経路何が起きるか起きやすさアカウントの乗っ取りCMS・ホスティング・GitHubなどにログインされ、記事を書き換えられたり、偽のサイトをデプロイされたりする中npmパッケージのサプライチェーン攻撃ビルドのときに不正なコードが動き、APIキーなどを盗む。配信するJavaScriptに不正なコードが混ざる中CMSの本文に仕込まれたスクリプト記事を開いた訪問者のブラウザで、スクリプトが動く低〜中書き込み権限のあるAPIキーの漏洩APIから記事を書き換えられる低※「起きやすさ」は、弊社の運用経験からの目安です。いちばん起きやすい経路です。守るべきアカウントは、CMS・ホスティング・GitHubの3つだけではありません。手口は、フィッシングやパスワードの使い回しが中心です。最近は、PCに入り込んだマルウェア(インフォスティーラー)がログイン中のセッションを盗み、二段階認証をすり抜ける手口も増えています。自分たちのアカウントが無事でも起きる経路です。乗っ取られるのは、依存しているパッケージの作者のアカウントです。2025年9月8日には、chalkやdebugといった広く使われている18のパッケージに、不正なバージョンが公開されました。作者のnpmアカウントが、npm公式を装った偽ドメインからの「二段階認証の再設定」メールでフィッシングされたのが原因です。仕込まれたコードはブラウザ上で動き、暗号資産の送金先を攻撃者のものに書き換えるものでした。不正なバージョンは約2時間で取り下げられましたが、その間にビルドしたサイトには、配信するJavaScriptに不正なコードが紛れ込んだ可能性があります。同じ月には、インストール時に開発者のPCやCIからnpm・GitHub・クラウドの認証情報を盗み、盗んだnpmトークンで同じ作者の他のパッケージにも自動で感染を広げるワーム(Shai-Hulud)が見つかりました。11月には第2波(Shai-Hulud 2.0)が始まり、被害パッケージは数百から千以上に広がっています。このように、不正なコードはビルドのときに動いて環境変数に置いたAPIキーを盗むこともあれば、配信するJavaScriptに紛れ込んで訪問者のブラウザで動くこともあります。CMSの本文をHTMLとしてそのまま表示する作りだと、CMSに書き込める人は誰でもスクリプトや、画像タグのイベント属性に仕込んだコードを入れられます。乗っ取られたアカウントだけでなく、正規の編集者が外部サイトからコピーした埋め込みコードを貼ってしまうケースもあります。静的に書き出すサイトでは、本文がビルドのときにHTMLファイルへ書き込まれます。そのため、ページを開いた時点でスクリプトが実行されます。APIキーは、Gitの履歴やチャット、ビルドログ、メンバーのPCなどから漏れます。読み取り専用のキーなら書き換えはできませんが、書き込み権限があれば、APIから記事を書き換えられます。多くの場合、問い合わせてきた人の個人情報は盗まれません。お問い合わせフォームの入力は、Netlify Formsなどのフォームサービスに保存されることが多く、CMSには入っていないからです。CMSにあるのは、ブログ記事や会社情報など、もともとサイトで公開している内容が中心です。ただし、キーの権限によっては、公開していない情報も取れます。microCMSのAPIキーは、サービス全体に適用される「デフォルト権限」と、APIごとの「個別権限」で、GET / POST / PUT / PATCH / DELETE を個別に設定できます。作成・編集ができるのは管理者だけです。さらに、書き込み権限があるキーなら、前の章の「CMSの本文に仕込まれたスクリプト」を使って、これから訪問者が入力する情報を盗むこともできます。ビルドで使うAPIキーは、にしておきましょう。CMSに個人情報がないなら、書き換えられても大した被害はない。そう思われるかもしれません。しかし、被害はデータではなく、に出ます。企業サイトは「会社の顔」です。改ざんされたという事実だけで、問い合わせや採用への影響は小さくありません。静的なサイトには、侵入されるサーバーがありません。見るべきなのは、サイトのアクセスログよりも、です。Jamstackは、サイトそのものを外から突かれるリスクを大きく減らせる構成です。一方で、守る対象がなくなるわけではありません。攻撃の的は、とに移ります。裏を返せば、二段階認証やAPIキーの権限、依存パッケージの管理といった運用の基本を押さえれば、Jamstackの安全性をしっかり活かせます。ブラキオでは、Jamstackサイトの制作だけでなく、公開後の保守・運用もお手伝いしています。「今のサイトの設定が安全か確認したい」といったご相談も、お気軽にお問い合わせください。
2026.10.22