2026年10月、Xを見ていたら、PHPの深刻な脆弱性のニュースが流れてきました。

認証なしで、外から任意のプログラムを実行されるおそれがある脆弱性が2件。
各国のセキュリティ機関が「すぐに更新を」と注意を呼びかけるほどの騒ぎになっています。

気になって、僕もブログの管理画面を開いてみました。
そしたら、見慣れない一文が出ていたんです。

「この更新は現在使用中の PHP のバージョンでは動作しません」

WordPressの更新画面。Contact Form 7の欄に「この更新は現在使用中のPHPのバージョンでは動作しません」と表示されている

どうやら、PHPが古すぎてプラグインを更新できないらしい。
もともと脆弱性対策で全部アップデートするつもりだったので、PHPの更新と一緒に、お問い合わせフォームなどのプラグインもまとめて更新することにしました。


そもそもPHPって何?なぜここまで騒がれているのか

「PHPって何?」という人もいると思うので、ざっくり書いておきます。

PHPは、ウェブサイトの裏側、つまりサーバーの中で動くプログラミング言語です。
誰かがブログのページを開いたとき、サーバーの中でページを組み立てて送り返す。その役目をしているのがPHPなんですよね。

そして、WordPressもPHPで作られています。

WordPressは、世界中のウェブサイトの4割ほどで使われていると言われています。
つまり、PHPに穴が見つかると、世界中のかなりの数のサイトが一斉に危なくなる。
それで、ここまで大きなニュースになっていたんです。

しかも、僕のブログが使っていたPHP7.4は、もう公式のサポートが終わっている古い版。
本来は、新しい脆弱性が見つかっても修正版が出ない版です。
今回はあまりに深刻だったので、例外的に限定的な修正が出たほど。
それに頼り続けるわけにはいかないし、これは、さすがに放っておけない。

そこで、「脆弱性対策って、何をすればいいの?」とAIに聞きながら進めてみました。
そしたら、やることが芋づる式に出てきて、結局、PHPの更新からバックアップの自動化まで、ひと通りやり切りました。

そのとき実際に見た画面と、つまずいたところを、そのまま残しておきます。
同じように困っている人の参考になればうれしいです。


こういうときこそ、資産はしっかり守っておきたい

何かが起きたときに、まず自分の資産を確かめる。
資産運用でも、これはすごく大事なことだと思っています。

ブログも、同じだと思うんです。
僕は自分の経験を記事にして、何年もかけて少しずつ積み上げてきました。
コツコツ育ててきた口座みたいなもの。
だから、ここもきちんと手入れしておかないと、と思いました。

ただ、ここしばらくはUdemyの講座の戦略、準備、収録、リリースでいっぱいいっぱいで、ブログの管理までは手が回っていませんでした。

それで、ふたを開けてみたらこうでした。

  • PHPは7.4のまま
  • 更新待ちが10件
  • 承認待ちのコメントが58件

わ、やっぱり更新が必要だったな。

古いPHPや古いプラグインは、攻撃する側からすると、そのまま入口になってしまいます。

やったことは、大きく分けると3つです。

  1. 古いものを残さない
  2. 入口を固める
  3. やられても戻せるようにする

ここからは、この順番で書いていきます。
僕の環境は、サーバーがエックスサーバー、テーマがJINです。

ほかのサーバーやテーマでも、AIと壁打ちしながら進めれば、同じような対策ができると思います。


①古いものを残さない:PHPを7.4から8.3へ

押す前にやっておくこと

いきなり切り替えずに、先に2つだけ済ませました。

  • いまのPHPのバージョンをメモする(WordPressの「ツール」→「サイトヘルス」→「情報」→「サーバー」)
  • バックアップがあるか確認する(エックスサーバーは過去14日分を自動で取ってくれています)

エックスサーバーでの切り替え手順

  1. サーバーパネルの「PHP Ver.切替」を開く
  2. ブログのドメインの行で、変更後のバージョンを「PHP8.3.x(推奨)」にする
  3. 「設定する」を押す
エックスサーバーのPHP Ver.切替画面。変更後のバージョンでPHP8.3.36(推奨)を選んでいる

選べたのは「PHP8.3.36」。
実はこれ、10月21日に出たばかりの、今回の脆弱性の修正版なんです。
エックスサーバーは、もう用意してくれていました。

7.4から8.3は、けっこう大きな変化です。
古いプラグインが原因で、画面が真っ白になることもあるらしい。

でも、もし崩れても、同じ画面で元のバージョン(僕の場合は7.4.33)に戻せばすぐ元どおりになります。
戻し方が分かっていれば、怖がりすぎなくていいんですよね。

切り替えたあとは、トップページ、記事ページ、お問い合わせページ、管理画面の4つを確認。
僕のブログは、どれも問題ありませんでした。
AIにもページを読み込んでもらって、画面には出ないエラー文が紛れていないかまで見てもらいました。

プラグインとテーマを最新にして、使っていないテーマは消す

PHPを上げたら、さっきのContact Form 7もすんなり更新できました。

残っていたのはテーマの更新7件。
中身は、WordPressに最初から入っている「Twenty〜」という標準テーマたちでした。

WordPressのテーマ更新画面。Twenty Twentyなどの標準テーマが順番に更新されている

全部更新したあとで、使っていない標準テーマは削除。
停止しているだけのテーマも、古いまま置いておくと狙われる原因になるからです。

残したのは、JINと、実際に使っているJINの子テーマの2つだけ。

テーマ画面。JINの子テーマとJINの2つだけが残っている

「最新なのに更新あり」と出たときは

ひとつ、首をかしげた画面がありました。
JINに「利用可能な更新があります」と出ているのに、押すと「更新失敗:テーマは最新のバージョンです」と返ってくる。

詳細を開いてみたら、いまの版が2.931、更新先も2.931。

JINのテーマ詳細。バージョン2.931なのに「バージョン2.931の詳細を表示するか更新してください」と表示されている

同じ番号なので、ただの誤表示でした。
独自に更新を配っているテーマでは、こういうことが起きるみたいです。
番号が同じなら、慌てなくて大丈夫。


②入口を固める:WAFと国外アクセス制限

WAFをONにする

WAFは、怪しい書き込みや攻撃っぽい通信をサーバーの手前で止めてくれる仕組みです。
エックスサーバーなら、管理画面でONにするだけ。

  1. サーバーパネルの「セキュリティ」→「WAF設定」
  2. ブログのドメインを選ぶ
  3. XSS・SQL・ファイル・メール・コマンド・PHPの6つを、すべてONにする
エックスサーバーのWAF設定。ブログのドメインの6項目がすべてONになっている

反映には最大1時間ほどかかります。
もし記事の保存で「403」と出たら、WAFが止めているサイン。
一時的にOFFにして保存して、終わったらONに戻せば大丈夫です。

ただ、WAFはPHP本体の修正の代わりにはなりません。
あくまで、PHPを新しくしたうえでの追加の守りです。

国外アクセス制限は、ほとんどONになっていた

続いて「WordPressセキュリティ設定」。
海外からの管理画面へのアクセスや、ログインの総当たりを止めてくれる設定です。

開いてみたら、ほとんどがすでにONでした。
エックスサーバーで最初から入れてくれていたみたいです。

唯一OFFだった「国外からの投稿」だけ、ONにしました。

エックスサーバーのWordPressセキュリティ設定。国外アクセス制限・ログイン試行回数制限・コメント制限がONになっている

一番上の「IPアドレス制限」は、OFFのまま。
これをONにすると、決まった場所からしか管理画面に入れなくなって、外出先から触れなくなるからです。

ただし、海外旅行中や海外のVPNを使っているときは、国外アクセス制限で自分も管理画面に入れなくなります。
そのときだけ一時的にOFFにすればOKです。

承認待ちコメント58件の正体

ずっと気になっていた、承認待ちのコメント58件。
AIに中身を全部見てもらったら、2種類に分かれました。

  • 31件:アダルトサイトやカジノサイトの宣伝。「Hi, how are you」のような中身のない英語ばかり
  • 27件:ほぼすべてが、僕の記事同士のリンクで自動的に届いた通知(ピンバック)

宣伝はスパムに、通知はゴミ箱へ。
承認待ちが0件になった画面は、なかなか気持ちよかったです。

コメント画面。承認待ちが0件になっている

自分の記事同士の通知が溜まらないように、「設定」→「ディスカッション」の「投稿中からリンクしたすべてのブログへの通知を試みる」のチェックも外しておきました。

WordPressのディスカッション設定

③やられても戻せるように:BackWPup×Dropboxで週1の自動バックアップ

最後は、もしものときの保険です。
サーバーの中だけにバックアップがあっても、サーバーごと壊れたら意味がない。
だから、外のDropboxに毎週送る仕組みにしました。

Dropboxの「無料体験」に気をつける

Dropboxに登録すると、こんな画面が出てきます。

Dropboxのプラン選択画面。3つのプランすべてに「Try free for 30 days」のボタンがある

一見「無料」に見えるけど、どれも30日の無料体験のあと、自動で有料になるプランです。
ここは、僕が画面を見て「これ、30日後に有料になるやつでは?」と気づいたところでした。

「Try free for 30 days」は押さずに、ページの下にある無料プラン(Basic・2GB)のリンクを選ぶか、そのまま閉じればOK。
何も申し込まなければ、無料プランのままです。

BackWPupの設定

BackWPupを開いたら、画面が新しくなっていて、バックアップのジョブがすでにいくつか用意されていました。
新しく作らなくても、「Files & Database」の保存先を変えるだけで済みます。

BackWPupの画面。Files、Database、Files & Databaseなどのジョブが並んでいる
  1. 「Files & Database」の「ストレージ」を押して、Dropboxを選ぶ
  2. Dropboxの右の歯車を押す
  3. 「アプリへのアクセス」のほうで認証コードを取得して、Dropboxで「許可」→ コードを貼る
  4. 保存するフォルダ名を英字にして、残すバックアップの数を決める
  5. 「保存 & 接続をテスト」を押す
BackWPupのストレージ設定。Dropboxが選ばれている

認証の方式は2つあって、選ぶのは「アプリへのアクセス」のほうです。
「Dropboxへのフルアクセス」は、Dropbox全体を読み書きできてしまうので、ほかのファイルを上書きしたり消したりするおそれがあります。

BackWPupのDropbox設定。認証済みと表示されている

「今すぐバックアップ」でDropboxに届かなかった

ここで一度つまずきました。

画面右上の「今すぐバックアップ」を押したら、12秒で完了。
でも、Dropboxを見ても空っぽ。

右上のボタンは、Dropboxを設定したジョブとは別の設定で動いていて、サーバーの中に保存されていたんです。

BackWPupの画面。「バックアップを12秒で作成しました」と表示されている

正解は、「Files & Database」のカードにある、日付の横の↑マーク。
これで、そのジョブだけを今すぐ実行できます。

今度はちゃんと、Dropboxの「アプリ」→「InpsydeBackWPup」の中に届きました。

Dropboxのフォルダ。BackWPupのバックアップファイル(443.95MB)が届いている

大きさは約444MB。
4週間分だと約1.8GBで、無料の2GBにぎりぎり。
記事や画像が増えることを考えて、残す数は3週間分(約1.3GB)にしました。


AIに「画面を見てもらいながら」進めたら、30分ほどで終わった

以前なら、こういう対策は数時間かけてやるものでした。
それが今回は、AIに画面を見てもらいながら進めたら、30分ほどで終わりました。

やり方はシンプルで、スクショを1枚ずつAIに送って、「これでOK?」「どこを押せばいい?」を繰り返すだけ。

サーバーの管理画面って、ボタンも項目も多くて、どこを見ればいいのか分からなくなるんですよね。
正直、これを一人でやっていたら、確実にどこかで止まって、途方に暮れていたと思います。
1画面ずつ「ここを押す」「ここは触らなくていい」と返ってくるので、迷う時間がほとんどありませんでした。

ただ、AIも見間違えます。
国外アクセス制限の画面で「OFFになっている可能性が高い」と言われたけど、スクロールしてみたら、ほとんどONでした。
Dropboxの無料体験の罠に気づいたのも、僕のほう。

最後に確かめるのは、自分の目。
道はAIが教えてくれるけど、ハンドルを握るのは自分なんだなって。

それでも、やってみての感想は「驚くほどスムーズだった」のひとこと。
これは必要な人に共有すべきだなと思いました。
こういう作業で、もうつまずかなくていいんだよ、ということが伝わったらいいなと思っています。

実は以前にも、「そもそもブログって、どう始めればいいですか?」「設定はどうやるんですか?」という相談をもらったことがあります。
そのときは、僕のブログの始め方の記事を紹介して、「AIを使えば、しっかりしたブログが作れますよ」と伝えました。

今回やってみて、それは立ち上げのときだけじゃなく、守るときにも言えるんだなと思いました。
AIの使い方と進め方ひとつで、こういう設定もすぐに解決できる。
それに、エックスサーバーが今回の脆弱性にもすぐ修正版を用意してくれていたことで、サーバー選びの答え合わせにもなりました。

だからこそ僕は、ブログとAIを並行して学んでいくのがいいと思っています。
AIまわりは、毎週のように新しい話題が出てきます。
WordPressのまわりでも、Cloudflareが「WordPressの精神的な後継」とうたう新しいCMS「EmDash」を発表していて、ブログの土台にも新しい流れが出てきています。
こういう流れは、メルマガや日々の発信でも共有していくので、フォローしてもらえたらうれしいです。


守りを固めておくと、攻めに集中できる

今回の対策は、投資でいえば生活防衛資金みたいなものだと思っています。
守りがあるから、安心して攻められる。

ブログも同じで、いつ壊れるか分からない状態のままだと、どこかで不安が残る。
守りの仕組みを一度作っておけば、あとは記事を積み上げることに集中できます。

最後に、今回やったことをまとめておきます。

やったこと どこで
PHPを7.4から8.3に上げる エックスサーバー「PHP Ver.切替」
プラグインとテーマを最新にする WordPress「ダッシュボード」→「更新」
使っていないテーマを削除する WordPress「外観」→「テーマ」
WAFをONにする エックスサーバー「WAF設定」
国外アクセス制限・ログイン試行回数制限をONにする エックスサーバー「WordPressセキュリティ設定」
スパムコメントを片づけ、自分の記事同士の通知を止める WordPress「コメント」「設定」→「ディスカッション」
週1回、Dropboxに自動でバックアップを送る BackWPup

ブログのPHP、いまいくつになっていますか?
管理画面の「ツール」→「サイトヘルス」で、1分で確認できます。

ブログは、僕にとって大切な経験の資産です。
記事を一本ずつ積み上げて、それが収益を生み続けてくれる仕組みまでつくれたら、本当の意味で資産と呼べるようになる。

その仕組みづくりの全体像は、無料のロードマップにまとめています。


ブログを「本当の資産」に変える仕組みづくりのロードマップを、無料で受け取る