PHP バージョンアップで表示崩れ。原因と戻し方、直す順番

この記事の結論
- PHP バージョンアップで表示崩れが起きたら、まずサーバーの管理画面で元のバージョンに戻す
- 原因の多くは新しい PHP に対応していない古いテーマ・プラグイン・手作りのプログラム
- 戻したままにせず、原因を直して PHP 8.2 のサポートが終わる年内にもう一度上げる
PHP バージョンアップのあとの表示崩れは、レイアウトのずれ・英語のエラー文・真っ白な画面・「重大なエラー」の表示など、さまざまな形で現れます。見た目は違っても、最初にやることはほぼ同じです。
対処の順番を把握すると、お客さまが崩れた画面を見る時間を短くし、原因を落ち着いて探せます。慌てて本番のファイルを触ると、かえって直すのに時間がかかります。
本記事では、表示崩れが起きたときの戻し方・PHP が原因かの見分け方・崩れる4つの原因・原因の特定と直し方をまとめています。さらに、専門家に相談すべき条件と、次の作業で崩れを防ぐ準備も紹介します。
PHP バージョンアップで表示崩れが起きたら確かめること【早見表】

PHP バージョンアップで表示崩れが起きたら、まず症状を確かめ、元のバージョンに戻せる状態かを確認します。症状によって、原因の見当と最初にやることが変わるからです。
ここでは、よくある症状ごとに、考えられる原因と最初にやることを表にまとめます。
| 症状 | 考えられる原因 | 最初にやること |
|---|---|---|
| レイアウトが崩れる、一部が表示されない | テーマ・プラグインが新しい PHP に未対応 | 元のバージョンに戻す |
| 「このサイトで重大なエラーが発生しました」と出る | プラグインやテーマが処理を止めるエラーを出している | 元に戻し、管理者宛てのメールを確かめる |
| 画面に「Warning」「Deprecated」「Fatal error」などの英語が出る | 古い書き方への警告・エラー | 元に戻し、エラー文の写真を撮る |
| 真っ白で何も出ない、500エラーが出る | 処理の途中で止まっている、サーバーの設定ファイルの不一致 | 元に戻す。直らなければバックアップから戻す |
| フォームの送信後や一部のページだけおかしい | 特定のプラグインや手作りのプログラム | 元に戻し、どのページかを書き留める |
どの症状でも、最初の行動は「元のバージョンに戻す」です。以下では、戻す手順から説明します。
PHP バージョンアップで表示崩れが起きたときの戻し方【4STEP】

表示崩れが起きたら、原因を探すより先に、PHP を元のバージョンに戻します。お客さまが見ているHPを崩れたままにしないことが最優先だからです。
PHP は、切り替えたときと同じサーバー会社の管理画面で戻せます。手順は以下のとおりです。
- サーバー会社の管理画面を開く:PHP を切り替えたのと同じ画面
- 元のバージョンを選び直す:作業の前に控えたバージョンを選ぶ
- 数分待ってから表示を確かめる:ロリポップ!のマニュアルでは反映まで5〜10分ほど
- 起きたことを書き留める:どのページで、どんな表示が出たか。画面の写真があると原因の調査が早くなる
さくらのレンタルサーバのマニュアルにも、不具合が出たら古いバージョンを選び直せば元の環境に戻せると書かれています。サーバー会社ごとの画面は PHP バージョンの変更方法【レンタルサーバー5社別】 にまとめています。
元のバージョンに戻せないとき
元のバージョンに戻せないときや、戻しても直らないときは、作業の前に取ったバックアップから戻します。サーバー会社によっては、条件によって元のバージョンを選べないことがあるためです。
たとえば、ロリポップ!のマニュアルには、PHP 7.1 未満から上げると変更前のバージョンに戻せないと書かれています。サーバー会社の自動バックアップは、何日前まで戻せるかが決まっています。
ただし、バックアップから戻すと、その日より後に作ったファイルや投稿が消えることがあります。戻す範囲を確かめてから実行してください。
表示崩れのときにやってはいけないこと
表示崩れのときは、本番のサイトで手当たりしだいに直そうとしないことが重要です。原因が分からないまま触ると、被害を広げたり、原因の手がかりを消したりするからです。
- 本番のファイルを直接書き換える:1文字の間違いで、HPが完全に表示されなくなる
- エラーが出たまま放っておく:警告の文には、サーバーのフォルダの場所など攻撃する側に役立つ情報が含まれることがある
- 原因が分からないままプラグインを次々に削除する:設定やデータが消えることがある
上記の3つを避けるだけで、復旧までの時間を短くできます。
表示崩れが PHP バージョンアップのせいか見分ける方法

表示崩れが PHP のせいかは、崩れ始めた時期と症状で見分けられます。PHP を切り替えた直後から崩れたなら、PHP が原因の可能性が高くなります。
一方で、PHP を変えていないのに異変が起きた場合は、改ざんなど別の原因を疑う必要があります。ここでは、見分けるポイントを表にまとめます。
| 確かめること | PHP が原因の可能性 |
|---|---|
| PHP を切り替えた直後から崩れた | 高い |
| 「重大なエラーが発生しました」と出る | 高い(WordPress がエラーを検知している) |
| 画面に「Warning」「Deprecated」「Fatal error」などが出る | 高い |
| 元のバージョンに戻したら直った | 高い |
| 一部のページ、またはフォームの送信後だけおかしい | 中くらい(特定のプラグインが原因のことが多い) |
| PHP を変えていないのに、別のサイトに飛ばされる・知らない広告が出る | 低い。改ざんを疑う |
最後の行に当てはまる場合は、攻撃を受けている可能性があります。この記事の手順ではなく、HPがおかしい? 改ざんの前ぶれを症状別に確かめるチェック表 から確かめてください。
PHP バージョンアップで表示崩れが起きる4つの原因

PHP バージョンアップで表示崩れが起きる原因は、HPのプログラムが新しい PHP の決まりに合っていないことです。PHP は新しいバージョンになるときに、古い書き方を使えなくしたり、警告を出すようにしたりします。
原因がどこにあるかで、直し方と頼む先が変わります。ここでは、よくある原因を4つ紹介します。
新しい PHP に対応していないテーマ・プラグイン
表示崩れの原因としてよくあるのは、新しい PHP に対応していないテーマやプラグインです。テーマ(デザインのひな形)やプラグイン(機能を足す部品)が古い書き方を使っていると、新しい PHP では動かなくなるためです。
PHP の公式マニュアルに書かれている変更のうち、崩れの原因になりやすいものは以下のとおりです。
| 変わったバージョン | 主な変更 | 起きやすいこと |
|---|---|---|
| PHP 8.0 | create_function()・each() などの関数が削除された | その関数を使うテーマやプラグインがエラーで止まる |
| PHP 8.0 | これまで警告だった一部の操作が、処理を止めるエラーになった | ページの途中から表示されなくなる |
| PHP 8.0 | 数字と文字の比べ方が変わった(0 == “foo” が false に) | フォームの入力チェックや計算の結果が変わる |
| PHP 8.0 | 標準のエラー報告の範囲が E_ALL に広がった | 今まで出なかった警告が出る |
| PHP 8.2 | 宣言していない値を後から足す書き方(動的プロパティ)が非推奨に | 警告が出る(今は動くが、将来のバージョンで問題になる) |
※2026年10月時点・php.net の移行ガイド(8.0)・(8.2)より
特に、PHP 7.x から 8.x へ上げるときに崩れやすくなります。ただし、8.2 から 8.3 のような近いバージョンへの変更でも、崩れる可能性はゼロではありません。
WordPress 本体が古い
WordPress 本体が古いと、新しい PHP で崩れることがあります。WordPress は、バージョンごとに対応する PHP の範囲が決まっているからです。
たとえば、WordPress の開発者向けの対応表では、PHP 8.5 に対応するのは WordPress 6.9 以降です。WordPress 6.8 以前のまま PHP 8.5 に上げると、本体が対応していない組み合わせになります。
ただし、本体を更新すると、テーマやプラグインとの相性が変わることもあります。更新の前にもバックアップを取ってください。
制作会社が手作りしたプログラム・子テーマ
制作会社が手作りしたプログラムや、テーマを部分的に書き換えた子テーマも、表示崩れの原因になります。配布元が更新する仕組みがないため、古い書き方が残り続けるからです。
たとえば、問い合わせフォームを独自に作っていたり、テーマの functions.php に処理を書き足していたりする場合です。親テーマを最新にしても、書き足した部分は古いまま残ります。
ただし、手作りのプログラムを直すには、プログラムを読める人が必要です。作った制作会社に連絡がつかない場合は、別の専門家に頼むことになります。
サーバーの設定ファイルや WAF
PHP を戻しても直らない500エラーや、特定の操作だけ止まる場合は、サーバーの設定ファイルや WAF が原因のこともあります。PHP の動かし方が変わると、以前の設定の書き方が合わなくなることがあるためです。
- **.htaccess(サーバーの設定ファイル)**に、古い環境向けの PHP の設定が書かれている
- **php.ini(PHP の設定ファイル)**の値が、新しいバージョンに引き継がれていない
- **WAF(攻撃を手前で止める仕組み)**が、変更後の通信を攻撃と見なして止めている
上記の原因は、管理画面だけでは見つけにくいものです。サーバー会社のサポートか、保守会社に相談してください。
表示崩れの原因を特定する方法【3STEP】

元に戻したら、落ち着いて原因を特定します。原因が分からないまま上げ直すと、同じ崩れを繰り返すからです。
ここからの作業は、できれば本番とは別のコピー(検証用の環境・ステージング)で進めます。原因を特定する手順を3つ紹介します。
- WordPress のリカバリーモードのメールを見る:WordPress 5.2 以降では、重大なエラーが起きると、管理者のメールアドレスにエラーの内容とリカバリーモードへのリンクが届く。リンクから入ると、原因のプラグインやテーマを止めた状態で管理画面を開ける
- エラーの記録(ログ)を見る:サーバー会社の管理画面でエラーログが見られる場合がある。WordPress には、エラーを wp-content/debug.log に書き出す設定(WP_DEBUG_LOG)もある
- プラグインを1つずつ止める:エラーの記録で分からなければ、検証用の環境でプラグインをすべて止め、1つずつ有効にして崩れたところで原因を特定する
WordPress の公式の説明では、WP_DEBUG などのデバッグの設定は本番のサイトでは使わず、ローカルや検証用の環境で使うようにとされています。エラーを画面に出す設定(WP_DEBUG_DISPLAY)を本番でオンにしたままにしないでください。
PHP バージョンアップの表示崩れを原因別に直す方法

原因が分かったら、原因に合わせた方法で直し、検証用の環境で新しい PHP を試してから本番を切り替えます。直さずに上げ直しても、同じ崩れが起きるためです。
ここでは、原因ごとの直し方を表にまとめます。
| 原因 | 直し方 |
|---|---|
| テーマ・プラグインが古い | 最新版に更新する。多くは新しい PHP に対応した版が出ている |
| 更新が止まったプラグイン | 同じ機能の、更新が続いている別のプラグインに入れ替える |
| サポートが終わったテーマ | 後継のテーマへ移るか、手直しする |
| 制作会社が手作りしたプログラム | 古い書き方を新しい PHP に合わせて書き直す。専門家の作業 |
| WordPress 本体が古い | 本体を更新してから PHP を上げる |
| サーバーの設定ファイル・WAF | サーバー会社のサポートに設定を確かめてもらう |
直したら、検証用の環境で新しい PHP に切り替えて確かめ、問題がなければ本番で切り替えます。更新が止まったプラグインの見分け方は 更新が止まった WordPress プラグインの見分け方と、代わりの探し方 で詳しく説明しています。
表示崩れの修正を専門家に相談すべきとき

元のバージョンに戻すところまでは、管理画面の操作でできます。原因を探して直すのはプログラムを読む作業のため、次の条件に当てはまる場合は専門家に相談するほうが安全です。
- 元のバージョンに戻しても直らない
- 制作会社が手作りしたプログラムや、カスタマイズの多いテーマを使っている
- ネットショップや予約フォームがあり、長く止められない
- PHP 8.1 以前から上げようとしていて、直す量が多そう
- 改ざんの症状(別のサイトに飛ばされる・知らない広告)もある
古いプログラムが多いときは、直すより、移管や作り直しのほうが早く済むこともあります。判断のしかたは 移管で済む? 作り直す? HPの判断のしかた にまとめています。
「自社が対象か分からない」「作業する人がいない」場合は、HPの移管・保守サービス『サイガード』の無料診断をご利用ください。URLを送るだけで、外から見える範囲をセキュリティの専門家が確認します。
次の PHP バージョンアップで表示崩れを防ぐ準備

次の PHP バージョンアップで表示崩れを防ぐには、作業の前に戻せる準備と、試す場所を用意しておくことが重要です。準備があれば、崩れても数分で戻せます。
PHP は毎年どこかのバージョンが期限を迎えるため、上げ直しの作業は今後も続きます。ここでは、次の作業の前にそろえる準備を表にまとめます。
| 準備 | 理由 |
|---|---|
| 今のバージョンを画面の写真で控える | 戻す先を間違えないため |
| ファイルとデータベースのバックアップを取る | 戻せないときに使うため |
| WordPress・テーマ・プラグインを先に更新する | 新しい PHP に対応した版を入れるため |
| 検証用の環境で先に試す | お客さまに崩れた画面を見せないため |
| 人の少ない時間帯に作業する | 崩れても影響を小さくするため |
| 戻せる条件をマニュアルで確かめる | 戻せない組み合わせを避けるため |
戻したままにせず、原因を直して年内にもう一度上げてください。PHP 8.2 以下のままだと、2027年からは公式の修正が出ません(PHP 8.2 のサポート終了は12月31日。中小企業のHPでやること)。
まとめ

- PHP バージョンアップで表示崩れが起きたら、まずサーバーの管理画面で元のバージョンに戻す
- PHP を変えていないのに異変がある場合は、PHP ではなく改ざんを疑う
- 主な原因は新しい PHP に対応していない古いテーマ・プラグイン・手作りのプログラムで、特定は検証用の環境で進める
- 戻したままにせず、原因を直して PHP 8.2 のサポートが終わる年内にもう一度上げる
元に戻しても直らない場合や、原因が分からない場合は、早めに専門家に相談しましょう。
よくある質問
PHP を元に戻せば、もう大丈夫ですか?
表示は戻りますが、古い PHP のままでは問題が残ります。PHP 8.2 は2026年12月31日で公式のサポートが終わります。元に戻したあとに原因を直し、あらためて新しい PHP へ上げる必要があります。
「このサイトで重大なエラーが発生しました」と出て管理画面にも入れません。
WordPress 5.2 以降には、重大なエラーが起きると管理者のメールアドレスにリカバリーモードへのリンクを送る仕組みがあります。メールが届いていれば、リンクから原因のプラグインやテーマを止めた状態で管理画面に入れます。届かないときは、まず PHP を元のバージョンに戻してください。
画面の上のほうに英語の警告文がたくさん出ています。
新しい PHP で、古い書き方のプログラムに警告が出ている可能性があります。警告の文には、サーバーのフォルダの場所など外に見せないほうがよい情報が含まれることがあります。元のバージョンに戻し、警告を画面に出さない設定にしたうえで原因を直してください。
どのプラグインが表示崩れの原因か、自分で探せますか?
WordPress の管理画面に入れるなら、検証用の環境でプラグインを1つずつ止めて確かめる方法があります。本番のサイトで試すと、問い合わせフォームなどが止まることがあるため避けてください。難しければ専門家に頼んでください。
SUPERVISORこの記事の監修

田中 省吾
システムエンジニア/AIコンサルタント
CAREER経歴
- 元 大手空調メーカーのシステムエンジニア
- 業務系Webアプリケーションの設計・開発・運用
- バックエンド・フロントエンド・インフラ構築
元大手空調メーカーのシステムエンジニア。現在はシステムエンジニア兼AIコンサルタントとして活動。業務系Webアプリケーションの設計から運用、バックエンド、フロントエンド、インフラ構築まで一貫して対応する。
出典・参考
- Backward Incompatible Changes - Migrating from PHP 7.4.x to PHP 8.0.x(php.net)
- Deprecated Features - Migrating from PHP 8.1.x to PHP 8.2.x(php.net)
- Fatal Error Recovery Mode in 5.2(Make WordPress Core)
- Debugging in WordPress(WordPress Developer Resources)
- PHP設定(ロリポップ!レンタルサーバー マニュアル)
- PHPのバージョンを変更したい(さくらのサポート情報)





