サーバー会社から届いた「PHPのバージョンを上げてください」という案内。上げたほうがよいと分かっていても、サイトが壊れるかもしれないと思うと、なかなか踏み切れない。そんな悩みを抱える方は多いと思います。

当社では2026年10月下旬から11月上旬にかけて、PHPやWordPressの最新化をご依頼いただいた43サイトを検証しました。基本的な進め方は、本番のコピーを手元の検証環境に復元し、新しいPHPで全ページを開いて、エラーの有無や本番との見た目の違いを確認するというものです。結果は、手を加えずに動いたサイトから、修正しなければトップページから500エラーになるサイトまで分かれました。この記事では、何がその違いにつながったのかを紹介します。

PHPを8系に上げても大丈夫?おおよその目安は「WordPress本体の版」

43サイトの検証で結果を分けたのは、WordPress本体を新しい状態に保っていたかどうかでした。本体の更新が6.5以前で止まっていた24サイトのうち、23サイトは手直しをしないと致命的エラーになりました(残る1サイトは記録から判定できず)。これに対し、本体がすでに7系だった11サイトで致命的エラーになったのは3サイトです。本体が古いままのサイトでは、テーマやプラグインも古い版が残っていることが多いためです。

WordPress本体が新しいサイトは無事に進み、古いまま止まっていたサイトはつまずいている対比のイメージ

43サイトを検証した結果

対象の43サイトには、同じお客様の17サイトが含まれており、そこで使われていたテーマは3系統に限られます。数字の偏りを避けるため、この17サイトを除いた26サイトの結果も併記します。

結果 43サイト 17サイトを除く26サイト
手直しせずに動いた 6 6
小さな手直し(警告の修正、1〜数ファイル)で動いた 6 6
修正しないと致命的エラーで止まった 30 14
記録だけでは判定できない 1 0

「手直しなし」に含めた6サイトのうち2サイトは、プラグインなどの更新後の結果のみを記録しています。17サイトを集計から外しても、半分以上のサイトで、動かすために何らかの修正が必要でした。ただ、致命的エラーが出たサイトも、手元の検証で原因を修正したあとは全ページのエラーが解消し、本番と同じ見た目で動いています。

一方、すでにPHP 8系だった5サイト(8.3のまま据え置いた1サイトを含む)では、致命的エラーが出たのは1サイトだけです。それもPHPが原因ではなく、お問い合わせフォームのプラグイン(Contact Form 7)を更新したことで、テーマから利用していた機能がなくなったためでした。8系の中での更新は、PHP 7系から8系へ移行する場合よりもリスクが小さいといえます。

壊れやすいサイトに見られた特徴

WordPress本体の更新が何年も止まっている

前述のとおり、最も分かりやすい判断の目安です。本体が4系や5系のままだったサイトでは、ほぼすべてで手直しが必要になりました。本体の更新が止まっていると、テーマやプラグインも当時の版を使い続けているケースがほとんどです。

古いテーマを使い続けている

当社が壊れやすいと感じているのは、古い購入テーマです。何年も前の版を使い続けているテーマには、PHP 8では使えない書き方が残っている場合があります。今回の検証でも、2016年ごろの版の無料テーマや、古い版のまま使用されていたテーマで、致命的エラーが相次ぎました。

一方で、現在も更新が続いているテーマ(SWELL、Lightning、Snow Monkeyなど)は、テーマ自体を修正する必要がありませんでした。自作・独自のテーマについては、何も起こらなかったサイトもあれば、トップページが500エラーになったサイトもあり、結果に大きな開きがありました。

古いプラグインがそのまま残っている

プラグインへの対処は、現在も更新が続いているかどうかによって異なりました。Smart Slider 3、Jetpack、Contact Form 7などは、古い版で致命的エラーが出ても、最新版への更新で解消しました。一方、固定ページの並べ替え、マーカー表示、セキュリティ対策などに使う古いプラグインには、ファイルの修正や停止が必要になったものもあります。

そのまま動いたサイトに共通する特徴

手直しをせずに動いたサイトでは、WordPress本体・テーマ・プラグインを、日頃から更新していた点が共通していました。PHPは7.4のままでも、本体は最新の7.1系で、テーマとプラグインもほぼ最新というサイトもありました。このサイトで必要だったのは、PHP 8.3以上を要するContact Form 7の更新だけで、本番との見た目にも違いはありませんでした。

つまり、古いのがPHPのバージョンだけなら、上げてもほとんど問題は起こりません。注意が必要なのは、PHPだけでなく、本体やテーマの更新も古い版で止まっているサイトです。

ここまでのポイント

PHPを8系に上げたときに壊れるかどうかを左右したのは、PHP自体のバージョンよりも、サイト全体がどの程度、古い状態のままになっているかでした。本体が古い、テーマが古い、古いプラグインが残っている。この3つが重なるほど、手直しが必要になります。日頃から更新しているサイトであれば、PHPを上げても大きな問題は起こりにくいといえます。

PHPを上げる前に自分で確認するには

ご自身のサイトがどちらに近いかは、次の3つを確認すると見当がつきます。

  • WordPress本体の版:管理画面の「ダッシュボード」→「更新」で確認する。6系以前から更新されていなければ、手直しが必要になる可能性が高い
  • テーマ:「外観」→「テーマ」で版を確認し、配布元・販売元のサイトで最新版とPHP 8への対応状況を調べる。自作テーマの場合は制作会社に確認する
  • プラグイン:「プラグイン」の一覧を開き、更新が溜まっていないか、何年も更新されていないものがないかを確認する

本体やプラグインが古い場合は、本番のPHPをいきなり上げず、まず本番のコピーで試すことをおすすめします。ある本番サイトでは、PHPを8.4に上げると「重大なエラー」が出ましたが、7.4に戻した時点で表示が復旧しました。ただし、戻せるのはPHPだけです。その間に本体やプラグインも更新していた場合、それらが元に戻るわけではありません。

手元の検証で問題が見つからなくても、本番サーバーとの設定の違いから不具合が出る場合もあります。具体例は、PHPバージョンアップ後のWordPressトラブル10事例で紹介しています。

技術者向け:何が致命的エラーの原因になったか

今回、手直しが必要になった原因を種類ごとに整理しました。いずれもPHP 7では警告にとどまるか、そのまま問題なく動いていた書き方です。

原因 PHP 8での動き 修正方法
クォートで囲まれていない文字列(未定義の定数) 致命的エラー 文字列をクォートで囲む
create_function 関数の削除により致命的エラー 無名関数へ書き換える
クラス名と同じ名前のコンストラクタ コンストラクタとして呼び出されず、ウィジェットなどで致命的エラー __construct に書き換える
親クラスとメソッドの引数が一致しない 致命的エラー 親クラスに引数を合わせる
文字列の {} による添字、余計な記号 構文エラー [] に変更する、記号を取り除く
名前に予約語(readonly、mixed)を使っている 構文エラー 名前を変更する、プラグインを更新する
未定義の配列やnullを count() に渡す 致命的エラー 配列であることを確認してから数える
古いContact Form 7(4系) お問い合わせページで致命的エラー PHP 7のまま先に更新する

最新版のContact Form 7には、PHP 8.3以上が必要です。PHP 7のままでは最新版へ更新できません。そのため、PHP 7の段階で、PHP 7でも動く6.1系まで更新してからPHPを切り替え、その後に最新版へ上げる手順で進めました。更新する順序については、PHP 7.4から8へのバージョンアップで何が起きる?でも説明しています。

よくある質問

Q. PHPを上げないままにしておくと、どうなりますか?

サポートを終了したPHPには、セキュリティの修正が届かなくなります。加えて、Contact Form 7の最新版のように、新しいPHPでなければ更新できないプラグインも出てきています。PHPを古いままにしておくと、プラグインも更新できなくなってしまいます。

Q. 致命的エラーが出るサイトは、作り直すしかありませんか?

いいえ。今回の30サイトは、原因となったファイルの修正やプラグインの更新・停止により、手元の検証ではすべてエラーなく動く状態になりました。ただし、非常に古いサイトの場合、修正よりも作り直すほうが安く済むこともあります。実際、1サイトは本番のサーバー側の事情もあって、静的なページへ作り替えました。

Q. 8.3と8.4なら、どちらに上げるのがよいですか?

サーバー会社で選択できるうち、新しいほうをおすすめします。今回も、サーバーによって8.4を選べないことがあり、8.3にしたサイトが多くありました。7系から8系への変化と比べると、8.3から8.4への変化は小さいものです。

PHPのバージョンアップが心配な方へ:影響を無料で確認します

「PHPを上げたいけれど、自分のサイトがどちらに当てはまるのか分からない」とお悩みなら、当社へご相談ください。現在のPHPとWordPress本体の版に加え、バージョンを上げると影響が出そうな箇所を無料で確認します。手元での検証や修正が必要であれば、作業に入る前にお見積りをご提示します。

PHP 7系からのバージョンアップは、基本料金1サイト8,800円(税込)で承っています。費用がどのように決まるかは、PHPのバージョンアップ費用の記事でご案内しています。

▶ PHPバージョンアップの無料確認を申し込む(お問い合わせ)

▶ すでに真っ白・エラーが出ている場合はトラブル対応へ

PHPのバージョンアップを楽にする一番の近道は、本体やプラグインを日頃から更新しておくことです。当社の保守サポート(月額3,800円から)では、日々の更新はもちろん、PHPを上げる前の確認までお任せいただけます。

更新履歴

  • 2026年11月8日:作成(当社が2026年10月下旬〜11月上旬に検証した43サイトの結果)

この記事を書いた人

矢部 敦

矢部 敦合同会社Edel Hearts 代表

WordPress専門の開発会社を経営。プラグイン開発・カスタマイズ・保守を専門とし、18時間におよぶUdemyのWordPress講座を開講。出典付きで回答するAIチャットボット「Edel AI Hybrid Chat」開発者。著書『WordPress はじめての最小プラグイン』(Kindle)。本ブログの記事は、実際の開発・運用で得た一次情報をもとに執筆しています。会社情報はこちら

この記事をシェア