Blog
LAMP構成とJamstack
中小企業のサイトはどちらを選ぶべきか
「ホームページを作り直したい」と制作会社に相談すると、たいていWordPressを提案されます。それ自体は間違いではありません。ただ、提案された構成が「今のあなたの会社にとって最適か」は、また別の話です。
この記事では、長年Web制作の標準だったLAMP構成(WordPressなど)と、近年主流になりつつあるJamstack構成の違いを、専門用語をできるだけ使わずに整理します。
この記事の要点
- LAMP構成は、アクセスのたびにサーバーがページを組み立てる仕組み。柔軟だが、遅くなりやすく、セキュリティ対応が継続的に必要
- Jamstack構成は、あらかじめ完成したページを世界中の配信拠点に置いておく仕組み。速く、壊れにくく、維持費が安い
- 会社案内・サービス紹介・採用サイトなど、中小企業のサイトの大半はJamstackの方が向いている
- ただし、複雑な会員機能やECサイトなど、LAMP構成が適する領域も残っている
そもそも何が違うのか
LAMP構成:注文を受けてから作る定食屋
LAMPとは、Linux・Apache・MySQL・PHPという4つの技術の頭文字です。WordPressもこの仲間に入ります。
この構成を定食屋にたとえると、注文が入ってから調理を始める店です。お客さん(訪問者)が来るたびに、厨房(サーバー)が食材(データベース)を取り出し、その場で料理(ページ)を組み立てて出します。
メリットは融通が利くことです。「ご飯大盛りで」「これ抜きで」といった注文にも応えられます。管理画面から記事を追加すれば、その内容がすぐページに反映されるのはこの仕組みのおかげです。
デメリットは、混雑に弱いこと。同時に何十人も来店すれば厨房はパンクし、料理が出てくるまで時間がかかります。Webサイトも同じで、アクセスが集中すると表示が遅くなったり、最悪の場合は表示できなくなったりします。
Jamstack構成:作り置きを各地の店舗に配る
一方のJamstackは、あらかじめ完成させた料理を、全国のお店に配っておく方式です。訪問者が来たときには、すでに出来上がったものが目の前にあります。厨房での調理は発生しません。
Next.jsのようなフレームワークでページをあらかじめ生成し、Cloudflareのような世界中に配信拠点を持つネットワーク(CDN)に配置しておく。訪問者は、自分の一番近い拠点から瞬時にページを受け取れます。
「作り置きだと内容の更新ができないのでは?」という疑問が出てきますが、これは解決済みです。管理画面(ヘッドレスCMS)で更新すると、その裏側で自動的に新しいページが作り直され、各拠点に配り直されます。担当者の操作感はWordPressとほとんど変わりません。
CDNの仕組みそのものについては、別の記事で専門用語なしに解説しています。
3つの観点で比べる
1. 表示速度
Jamstackが明確に有利です。
LAMP構成では、訪問者が来るたびにサーバー側で処理が走ります。データベースへの問い合わせ、テンプレートの組み立て、プラグインの実行。これらが積み重なると、表示までに数秒かかることも珍しくありません。
Jamstack構成では、この処理が事前に済んでいます。加えて、CDNによって物理的に近い拠点から配信されるため、体感速度が大きく変わります。
表示速度はGoogleの検索順位評価にも影響する要素です。3秒待たされたユーザーの多くは、その前に離脱します。
関連記事:WordPressの表示速度が遅い本当の理由と、根本的な改善策
2. セキュリティ
こちらもJamstackが有利です。
LAMP構成、特にWordPressの場合、攻撃者から見て「狙う場所」が数多く存在します。WordPress本体、テーマ、プラグイン、そしてPHPが動作するサーバー本体。プラグインを10個入れていれば、それは10個分の脆弱性リスクを抱えることを意味します。実際、WordPressサイトの改ざん被害の多くは、更新されていないプラグイン経由で発生しています。
Jamstack構成では、そもそもサーバー上で動くプログラムが存在しません。配信されるのは完成した静的ファイルだけです。攻撃者が侵入して書き換えるべきプログラムがないため、狙われる面積が根本的に小さくなります。
もちろん、お問い合わせフォームなど動的な機能が必要な場面はあります。その場合も、必要な処理だけを限定的に動かす設計(サーバーレス)にすることで、リスクを最小限に抑えられます。
関連記事:WordPressのセキュリティが不安な方へ|乗っ取り被害が繰り返される本当の理由と根本対策
3. 運用コストと手間
長期的にはJamstackの方が安くなるケースが多いです。
| LAMP構成(WordPress) | Jamstack構成 | |
|---|---|---|
| サーバー費用 | 月額1,000円〜数千円 | 無料〜月額数百円 |
| 更新作業 | 本体・プラグインの定期更新が必要 | 基本的に不要 |
| 障害リスク | プラグイン更新でサイトが崩れることがある | 静的ファイルのため崩れにくい |
| バックアップ | 別途対策が必要 | ソースコードが履歴として残る |
WordPressの月額費用そのものは高くありません。問題は手間の方です。放置すれば脆弱性が蓄積し、こまめに更新すればプラグイン同士の相性でサイトが崩れる。この維持管理を誰が担当するのかは、発注前に確認しておくべき点です。
それでもLAMP構成が向いているケース
Jamstackを推す立場ではありますが、万能ではありません。以下のような場合は、WordPressをはじめとするLAMP構成の方が適しています。
- 会員登録・ログイン機能が中心のサイト:ユーザーごとに表示内容が変わる仕組みは、事前生成と相性が良くありません
- 大規模なECサイト:在庫連携や決済など、既存のプラグイン資産を活用した方が早く安く作れます
- 社内にWordPressの運用ノウハウが既にある場合:新しい仕組みを覚え直すコストの方が高くつくこともあります
- 極端に更新頻度が高いサイト:1日に何十回も更新するなら、都度ビルドが走る構成は向きません
会社案内、サービス紹介、採用ページ、店舗サイト。この記事を読んでいる多くの方が想定しているサイトは、上のどれにも当てはまらないはずです。その場合、Jamstackを検討する価値は十分にあります。
よくある質問
Q. 今WordPressで運用しているサイトを移行できますか?
可能です。既存の記事データは移行できますし、管理画面での更新体験も維持できます。ただし、多数のプラグインに依存した機能がある場合は、それぞれ代替手段の検討が必要になります。まずは現行サイトの構成を確認させていただくところから始めるのが確実です。
Q. 更新作業は難しくなりませんか?
ヘッドレスCMSの管理画面は、WordPressと同様に、ブラウザ上でテキストを入力し画像をアップロードする形式です。むしろ、余計な設定項目が少ない分わかりやすいという声もあります。操作マニュアルもお渡ししています。
Q. 制作費は高くなりますか?
WordPressのテンプレートを流用する制作と比べれば、初期費用は上がる傾向があります。一方で、月々の保守費用やサーバー費用は下がります。3年程度のスパンで見ると、総額では逆転することも珍しくありません。
Q. 検索順位への影響はありますか?
構成そのものが順位を決めるわけではありませんが、表示速度はGoogleの評価要素の一つです。また、近年はChatGPTなどのAI検索経由の流入も無視できなくなっており、構造化された高速なサイトの方が引用されやすい傾向があります。
AI検索での自社の見え方が気になる方は、こちらもどうぞ:AI検索対策の効果、測れていますか|「言及率」で可視化するLLMOの効果測定
まとめ
LAMP構成が悪いわけではありません。20年以上Webを支えてきた実績のある構成です。ただ、「昔からそうだったから」という理由だけで選ばれ続けている面もあります。
会社案内や採用サイトのように、内容が頻繁に激変するわけではないサイトであれば、Jamstack構成の方が速く、安全で、維持費も抑えられます。発注前に「なぜこの構成なのか」を制作会社に一度聞いてみることをおすすめします。
Penbit Labでは、Next.js+Cloudflareを用いたJamstack構成のサイト制作を行っています。現在お使いのサイトの構成診断から、移行のご相談まで対応しております。まずは現状をお聞きするところからで構いません。
Author
NAGU|Penbit Lab代表
金融システムの汎用機(メインフレーム)からオープンシステムへの移行や、大手通信キャリアのシステム構築など、社会インフラを支える現場で実務経験を積んできました。 「なぜそうするか」を大切にした開発スタイルで、単にコードを書くだけでなく、ビジネス上の課題を解決することを目指しています。 CCNA(Cisco Certified Network Associate)、LPIC-1 Linux Administrator、LPIC-2 Linux Engineer、LPIC-3 300 Core(Mixed Environment)、LPIC-3 306 High Availability and Storage Clustersを保有し、ネットワーク・Linuxサーバー・高可用性設計の専門知識をWebシステム開発 / SI・インフラ構築(Next.js / Cloudflare Pages)に活かしています。