PHPの脆弱性をきっかけに考える、WordPressの代替
WordPressを続けるか、静的サイトや管理付きCMSへ移るかを比較。CloudflareのWAF、お問い合わせフォーム、一般利用・企業利用の料金例を図解付きで説明します。
WordPressの脆弱性への対応を経験すると、「この先も同じ仕組みで運営してよいのか」と気になる人もいると思います。移行先を探しても、専門用語が多く、何が変わるのか分かりにくいかもしれません。
この記事は、個人ブログや趣味のサイト、企業サイトを運営する人に向けて、WordPressを続ける方法と、別の仕組みに変える方法を整理します。Cloudflareを利用する場合の安全対策、お問い合わせフォーム、料金の目安も紹介します。
WordPressをやめることが、すべてのサイトの正解ではありません。「必要な機能」「更新する人」「保守を担当する人」を整理すると、合う方法が見えてきます。
本記事は公式資料に基づく比較と設計上の考察です。移行作業や攻撃の再現、費用削減の実測結果を紹介するものではありません。
今回の問題は、WordPressの土台となるPHPにある
WordPressは、記事を投稿・管理するためのソフトウェアです。その動作を支える仕組みの一つが、サーバー上で動くPHPです。
2026年10月には、PHPについて次の重大な脆弱性が公表されました。脆弱性とは、攻撃に悪用される可能性のあるソフトウェアなどの弱点です。
- CVE-2026-109618:メモリ不足で処理が中断されたとき、不完全な内部データを後処理が扱ってしまう問題。
- CVE-2026-109619:使い終わったメモリを指す内部情報が残り、後から来たリクエストの処理が古い情報を参照してしまう問題。
条件によって、外部の第三者がサーバー上で任意のコードを実行できる可能性があります。これはWordPress本体の不具合とは別の問題なので、WordPressやプラグインの更新に加えて、PHP側の修正状況も確認する必要があります。
修正が最初に提供されたバージョンは、PHP 8.2.35、8.3.36、8.4.27、8.5.12です。実際の対応はホスティング会社やOSの提供元の案内を確認してください。バージョン番号だけでなく、提供元による修正適用の有無を見る必要があります。
参考:IPA:今回のPHP脆弱性と対策 / PHP公式:OOM処理の問題 / PHP公式:古い内部状態が残る問題
まず利用サービスの対応状況を確認し、必要な修正を適用します。侵害が疑われる場合は、調査と復旧も必要です。別のサービスへ移すだけで、既存の侵害が解消したとは判断できません。
代替を探す前に、記事の書き方と必要な機能を整理する
私が比較の出発点にしたいのは、普段の更新方法です。スマートフォンから書きたいのか、パソコンでファイルを編集できるのか。コメントや会員登録、販売機能が必要なのか。それによって選択肢は変わります。
選択肢1:WordPressを続け、保守を見直す
現在の編集画面や機能が使いやすいなら、続ける選択肢があります。プラグインは、機能を追加する部品のことです。本体・プラグイン・テーマ・PHPの更新担当と、バックアップから戻す手順を決めます。
保守会社や管理付きのサービスに任せる場合も、「プラグインの問題や復旧まで対応するのか」など、任せられる範囲を確認します。
選択肢2:管理付きのCMSやサイト制作サービスを使う
CMSは、ブラウザーなどから記事を作成・管理する仕組みです。管理付きのサービスなら、サーバーなどの保守を事業者に任せられる場合があります。任せる範囲はサービスごとに異なります。
編集画面、日本語での使いやすさ、必要な機能、料金に加え、記事と画像を書き出して別のサービスへ移れるかを確認します。ここでは特定のサービスを安全性の順位で並べることはしません。
選択肢3:静的サイトにする
静的サイトは、あらかじめ作ったページを配信する方式です。文章と画像を中心に公開するサイトでは候補になります。一方、投稿画面は別に用意する必要があります。
HTMLというページ用ファイルを直接編集する、原稿からページを生成するツールを使う、編集用のCMSを組み合わせる、といった方法があります。更新しやすさを補うほど、保守する仕組みが増える場合もあります。
Cloudflareにはページの配信や安全対策のサービスがありますが、PagesやWorkers Static Assetsを選ぶだけでWordPressのような投稿画面が付くわけではありません。「記事を書く仕組み」と「ページを配る場所」は別に考えます。
| 重視したいこと | 検討する方向 |
|---|---|
| スマホやブラウザーで気軽に投稿したい | WordPress継続、または編集画面の使いやすいCMS |
| 複数人で編集・承認したい | 権限管理や承認機能のあるCMS |
| 文章と画像が中心で、ファイル編集もできる | 静的HTML、またはページ生成ツール |
| 会員・決済・購入履歴が必要 | 専用サービスや動的処理を含めて検討 |
CloudflareのWAFで、攻撃を手前で減らす
Cloudflareには、不審な通信をサイトの手前で検査するWAF(ワフ)があります。受付の警備に近い役割で、既知の攻撃に似た通信を遮断したり、アクセス元や送信回数で制限したりできます。
Freeには一部の脅威に対応するルールがあり、Pro以上では、より広いマネージドルールを利用できます。マネージドルールとは、Cloudflareが用意・更新する判定ルールのことです。DDoS対策は、大量の通信でサイトを使えなくする攻撃への対策です。
今回のPHP脆弱性に対する保護ルールも公開されています。ただし設定による適用条件があり、既知の攻撃への対策です。「Cloudflareを使えばPHPの更新は不要」とは判断できません。
参考:WAFの機能比較 / 今回のPHP脆弱性へのWAF対策と条件
元のサーバーが別にある場合は、そのサーバーへ直接アクセスしてWAFを迂回できないようにする対策も必要です。静的サイトでも、公開アカウントの乗っ取り、外部サービスの問題、フォームへの迷惑送信などは別途考えます。
お問い合わせだけ、Cloudflareで処理する
「静的サイトでは問い合わせができない」というわけではありません。ページは静的なまま、問い合わせを受け付ける部分だけに処理を追加できます。
Workersは、フォーム受付などの小さなプログラムをCloudflare上で動かすサービスです。Turnstileはボットによる送信を減らすための仕組みで、Email Serviceは通知メールの送信などを担当します。
確認済みの管理者アドレスに通知するだけなら、メール送信は無料です。問い合わせ者へ自動返信するには、任意の宛先に送信できるEmail SendingとWorkers Paidを利用します。Email Sendingは情報確認時点でベータ提供です。
Email Routingは独自ドメイン宛のメールを既存の受信箱へ転送するサービスです。メールを読むための受信箱自体を提供するものではありません。また、フォームから管理者に通知することと、独自ドメイン宛メールを転送することは別の機能です。
問い合わせを失わないためには、送信失敗時の案内、再送の扱い、受信確認なども設計します。機密情報をフォームで求めすぎないこと、保存先・閲覧できる人・保管期間を決めることも大切です。既存のメールサービスがある場合は、受信先を決めるDNS設定を不用意に変更しないよう確認します。
TurnstileにはブラウザーのJavaScriptが必要です。無効時や送信に失敗した場合も連絡できるよう、別の連絡方法を案内します。サイト本文や目次は、フォームと切り離して通常のHTMLで読める構成にできます。
一般利用・企業利用の料金はどれくらい?
以下は1ドメインの静的サイトと、小規模な問い合わせフォームを想定した構成例です。CMSの投稿画面、会員・決済機能、添付ファイル保存、監視・再送用の追加サービスは含みません。WordPressを残す場合は、そのサーバー代なども別に必要です。
金額は2026年10月25日時点の米ドルです。税、為替、独自ドメインの取得・更新、受信箱、制作・保守の人件費は含めていません。「月額最低料金+含まれる利用量を超えた分」と考えてください。
一般利用:管理者への通知だけなら、無料枠で始める
個人ブログや趣味サイトなどで、問い合わせを自分の受信箱で確認できればよい場合です。自動返信は行わず、画面に送信結果を表示します。
| 用途 | 使うもの | 月額目安 |
|---|---|---|
| ページ配信 | Pages/Workers Static Assets | $0 |
| 入口の安全対策 | WebサイトFreeプラン | $0 |
| ボット対策 | Turnstile Free | $0 |
| 問い合わせ受付 | Workers Free | $0(無料枠内) |
| 管理者への通知 | 確認済み宛先への送信 | $0 |
| 合計の目安 | $0(無料枠・制限内) | |
無料枠で足りるかはアクセス数だけでなく、処理時間や実装にもよります。管理者への通知メールが無料でも、受付プログラムの実行制限は別です。
企業利用:自動返信と有料WAFを追加する
問い合わせ者へ受付メールを返し、より広いWAFルールを利用する例です。企業だから必ずこのプランが必要、という意味ではありません。サイトの役割と停止時の影響に合わせて選びます。
| 用途 | 使うもの | 月払いの目安 |
|---|---|---|
| ページ配信 | Pages/Workers Static Assets | $0 |
| 有料WAFなど | WebサイトProプラン | $25 |
| ボット対策 | Turnstile Free | $0 |
| 受付・自動返信 | Workers Paid+Email Sending | 最低$5 |
| 管理者への通知 | 確認済み宛先への送信 | $0 |
| 合計の目安 | 最低$30/月+超過利用分 | |
Workers Paidでは、最低$5/月の基本料金に月3,000通のEmail Sending送信枠が含まれます。超過分は1,000通あたり$0.35です。確認済み管理者宛の送信は、この枠に含まれません。再送やほかの用途も送信枠を使うため、3,000件の問い合わせを確実に受け付けられる保証とは異なります。
年払いとBusinessを含めた比較
| 構成例 | 月払いの基本料金 | Webサイトプランを年払いにした月額換算 |
|---|---|---|
| 一般利用:Free+Workers Free | $0(無料枠内) | $0(無料枠内) |
| 自動返信を追加:Free+Workers Paid | 最低$5 | 最低$5 |
| 企業利用例:Pro+Workers Paid | 最低$30 | 最低$25相当 |
| 要件が厳しい場合:Business+Workers Paid | 最低$255 | 最低$205相当 |
Proの年払いは$240/年、Businessの年払いは$2,400/年です。これにWorkersの最低$5/月と超過利用分が別途発生します。表の月額換算額を、そのまま毎月支払う契約ではありません。
BusinessにはWebサイトプランのSLA(稼働率に関する契約上の取り決め)がありますが、フォームの処理やメール到達を含む仕組み全体の保証ではありません。継続的な運用が重要なら、障害の検知、失敗時の復旧、ベータ機能の扱いも含めて評価します。
Workers Paidはプログラム実行などのプランです。Pro/BusinessはWebサイトのWAFなどのプランです。Workers Paidを契約しても、有料WAFが自動的に付くわけではありません。
静的ファイルへのリクエストは無料・回数無制限と案内されていますが、ファイル数・容量などの制限はあります。WAFは対象の独自ドメインなど適用経路への設定が前提で、別の公開URLからのアクセスにも注意が必要です。
移行前は、料金より先に「困らないか」を確かめる
移行後に毎回の更新が負担になってしまうと、サイトを続けにくくなります。まず少数の記事で、投稿から公開までを試すのがよいと考えています。
- 更新:いつもの担当者が記事を書き、画像を入れ、公開できるか。
- 既存ページ:以前のURLを維持できるか。変更するなら旧URLから案内・転送できるか。
- 付属機能:コメント、検索、カテゴリー、RSS、フォームなどをどう引き継ぐか。
- 復旧:間違った内容を公開したとき、前の状態へ戻せるか。
- 持ち出し:記事と画像をバックアップし、将来ほかへ移せるか。
- 管理:アカウントを複数人で管理できるか。多要素認証を設定できるか。
WordPressを継続し、保守の体制を整える方法もあります。管理付きサービスに任せる方法も、公開側を静的にする方法もあります。必要な機能と、更新・保守を続けられる範囲を確認して、自分のサイトに合う構成を選びたいと思います。
図版は本記事用に作成した説明図です。料金・提供条件は変更される場合があります。