PHPを使わないサイトの作り方【静的サイト+Firebaseで、WordPressから移行する方法】
2026年10月に公表されたPHPの重大な脆弱性(PHP2Shell)では、多くのサイトが緊急メンテナンスに入り、「そもそもPHPを使わずにサイトを作れないのか」と考えた方も多いと思います。
結論から言うと、会社のホームページやブログ、サービス紹介のサイトなら、PHPを使わずに作ることは十分にできます。当社(株式会社Bistro)のこのサイトも、PHPを使っていません。
この記事では、PHPを使わないサイトの仕組み、WordPressとの違い、フォームなどの機能をどう動かすか、WordPressから移行する手順までを、当社サイトの実例をもとに紹介します。
PHP2Shellそのものの内容と、今使っているサイトの確認方法は、PHPの重大な脆弱性「PHP2Shell」まとめで解説しています。
PHPを使わないサイトとは
WordPressで作ったサイトは、誰かがページを開くたびに、サーバーでPHPのプログラムが動いて、データベースから記事を読み出し、ページを組み立てて返しています。
これに対して「静的サイト」は、公開する前に、すべてのページのHTMLを作っておき、それをそのまま配信する仕組みです。ページを開いたときにサーバーでプログラムが動かないので、PHPもデータベースも必要ありません。
| WordPress(動的サイト) | 静的サイト | |
|---|---|---|
| ページの作り方 | 開かれるたびに、サーバーでPHPが組み立てる | 公開前に、すべてのページのHTMLを作っておく |
| 必要なもの | PHP、データベース(MySQLなど)、Webサーバー | HTMLなどのファイルを置く場所だけ |
| 記事の書き方 | 管理画面で書く | ファイル(Markdownなど)で書く |
| 更新の反映 | 保存するとすぐ反映 | 保存したあと、ページを作り直して配信する(自動化できる) |
「静的」と言っても、見た目が地味になるわけではありません。アニメーションや、タブの切り替えなどの動きは、ブラウザで動くJavaScriptで作れます。
PHPを使わないメリット
1. 今回のような脆弱性の影響を受けにくい
サーバーで動くプログラムがなければ、そのプログラムの脆弱性を突かれることもありません。PHP2ShellはPHP本体の脆弱性だったので、PHPが動いていないサイトは影響を受けませんでした。
WordPressの場合は、PHPに加えて、WordPress本体、テーマ、プラグインの脆弱性にも気を配る必要があります。静的サイトなら、こうした更新に追われることが大きく減ります。
2. 表示が速い
すでにできあがったHTMLを配信するだけなので、ページの表示が速くなります。さらに、Firebase HostingやCloudflare Pagesなどの配信サービスは、世界中のサーバーにファイルを置いておく仕組み(CDN)を使っているので、どこから見ても速く表示されます。表示の速さは、検索順位や、途中で離脱する人の割合にも関わります。
3. サーバーの管理がほぼいらない
配信の仕組みは、GoogleなどのサービスがOSやサーバーソフトの更新も含めて管理してくれます。アクセスが急に増えても、自動で対応してくれます。
4. 費用を抑えやすい
会社のホームページ程度のアクセスなら、配信サービスの無料枠や、ごく少ない費用で収まることがほとんどです。
PHPを使わないデメリットと、その解決方法
もちろん、静的サイトにも向かないことがあります。
| WordPressでできて、静的サイトだけでは難しいこと | 解決方法 |
|---|---|
| 管理画面からの記事の投稿 | Markdownのファイルで書く。AIに下書きや変換を手伝ってもらえば、慣れると管理画面より速い |
| お問い合わせフォーム | 必要な処理だけを、Cloud Functionsなどのサーバーレスの仕組みで動かす。フォーム作成サービスを使う方法もある |
| 会員登録、ログイン、ネットショップ | 専用のサービス(Firebase Authentication、Shopify、BASEなど)と組み合わせる |
| 保存してすぐの反映 | GitHubに保存したら、自動でページを作り直して公開する仕組みにする(数分で反映) |
会員サイトやネットショップのように、ページの中身が人によって変わるサイトは、静的サイトだけでは作れません。一方で、会社のホームページ、サービス紹介、採用ページ、ブログのように、誰が見ても同じ内容のページが中心のサイトなら、静的サイトが向いています。
当社サイトの構成(実例)
このサイトは、次のような構成で作っています。
| 役割 | 使っているもの |
|---|---|
| ページを作る | Astro(静的サイトを作るためのツール) |
| ファイルの保管・変更履歴 | GitHub |
| 自動での公開 | GitHub Actions(GitHubに保存すると、ページを作り直して公開) |
| 配信 | Firebase Hosting(Google) |
| お問い合わせフォーム、AIチャット | Cloud Functions for Firebase(Node.js) |
| 送信内容などの保存 | Firestore |
| メールの送信 | Resend(メール送信サービス) |
ページの表示には、サーバーで動くプログラムを一切使っていません。サーバーで動くのは、お問い合わせの送信やAIチャットのように、どうしても必要な処理だけで、それもPHPではなくNode.jsで、Googleが管理する仕組みの上で動いています。
なお、「PHPを使わなければ安全」というわけではありません。Node.jsや、使っているパッケージにも脆弱性が見つかることはあるので、定期的な更新は必要です。ただ、サーバーで動くプログラムが少なく、しかも必要な処理だけに絞られているほど、狙われる場所が減り、確認や更新も楽になります。
PHPを使わないサイトを作る方法
静的サイトを作るツールや配信サービスには、いくつかの選択肢があります。
| 種類 | 主な選択肢 |
|---|---|
| 静的サイトを作るツール | Astro、Hugo、Eleventy、Next.js(静的書き出し)など |
| 配信サービス | Firebase Hosting、Cloudflare Pages、Netlify、GitHub Pages など |
| ノーコードのサイト作成サービス | STUDIO、Wix など(PHPの管理は不要。ただし作り込みの自由度や移行のしやすさはサービス次第) |
当社では、Astro + GitHub + Firebaseの組み合わせを使い、デザインやコードの作成にはAIを活用しました。プログラミングの経験が少なくても、AIに指示を出しながら作り進められます。作り方は、次の記事シリーズで順番に紹介しています。
- AIでサイトを作る方法【初心者向けの作り方を、自社サイト制作の実例で解説】
- AIにサイトのデザインとコードを作らせるコツ【指示の出し方の実例付き】
- AIで作ったサイトをGitHubとFirebaseで公開する方法【自動更新・独自ドメイン】
- AIで作ったサイトにお問い合わせフォームとAIチャットを付ける方法【いたずら・高額請求の対策も】
- AIで作ったサイトのSEO・AIO対策【構造化データ・llms.txt・サイトマップ】
WordPressから移行する手順
今WordPressで運営しているサイトを、PHPを使わない静的サイトに移す場合の流れです。当社も、旧サイトはWordPressで運営していて、記事を含めて移行しました。
1. 今のページと記事を洗い出す
固定ページ、記事、カテゴリー、画像を一覧にします。アクセス解析(GA4など)で、よく見られているページや、検索から入ってくるページも確認しておきましょう。
2. 記事をMarkdownに変換する
WordPressの管理画面の「ツール」→「エクスポート」で、記事をXMLファイルとして書き出せます。これをMarkdownのファイルに変換します。変換のプログラムはAIに作ってもらえます。タイトル、公開日、カテゴリーなどは、各ファイルの先頭の情報(frontmatter)に入れます。
3. URLをそのまま引き継ぐ
検索エンジンの評価を引き継ぐために、記事のURLは今と同じにするのが基本です。当社では、WordPressのときと同じ /年/月/日/カテゴリー/記事名/ の形のURLをそのまま使っています。どうしてもURLが変わるページは、新しいURLへの転送(301リダイレクト)を設定します。
4. フォームなどの機能を置き換える
お問い合わせフォームやプラグインで実現していた機能を、Cloud Functionsや外部のサービスに置き換えます。
5. 公開して、ドメインを切り替える
新しいサイトを公開して確認できたら、ドメインの向き先を新しい配信サービスに切り替えます。メールの設定(MXレコードなど)には触れないように注意しましょう。切り替えたあとは、Search Consoleでサイトマップを送信し、エラーが出ていないかを確認します。
まとめ
- 会社のホームページやブログなら、PHPを使わない「静的サイト」で十分に作れる
- PHPやWordPressの脆弱性の影響を受けにくく、表示が速く、サーバーの管理もほぼいらない
- フォームなど必要な処理だけを、Cloud Functionsなどで動かせばよい
- 会員サイトやネットショップなど、人によって内容が変わるサイトは、専用サービスとの組み合わせを考える
- WordPressからの移行では、URLを引き継ぐことと、メールの設定に触れないことが大切
株式会社Bistroでは、WordPressサイトのPHPの確認やバージョンの切り替えのご相談、PHPを使わない静的サイトへの移行のご支援も承っています。お困りの際はお問い合わせフォームからお気軽にご相談ください。
NEWSLETTER
Data Schoolの新着記事をメールで受け取る
新しい記事が公開されたら、メールでお知らせします。配信はいつでも停止できます。
