レンタルサーバーやSSL関係のお役立ちコラム

さくらのホームページ教室

Snapupを使って、WordPressを安全にアップデートしよう

WordPress は2003年に産声を上げてから、実に20年以上開発、進化しているCMSです。 長い歴史を持つだけに、古いWordPressのバージョンをそのまま使っている、というサイトも少なくないようですが これはあまりお勧めできる状態ではありません。 第一の理由としては、セキュリティ上の問題になりますが、それだけではなく 古いバージョンのWordPress、特に年単位で更新されていないような古いバージョンのWordPressでは、 今後サイトそのものが運用できなくなる可能性も出てきました。

WordPressのバージョンアップはなぜ必要?

WordPressの動作環境におけるPHPのバージョンについて

WordPressには各バージョン毎に動作する環境が決まっています。
古いWordPressのバージョン、テーマ、プラグインは古いPHPのバージョンを前提として書かれているので、新しいPHPの環境で動作しない可能性があります。
逆に最新のWordPressは、古いPHPのバージョンでは動作しないケースもあります。

WordPress の古いPHPバージョンの対応終了

WordPressの最新版では、長らく継続していたPHP5系のサポートを終了しており、サーバーのPHPの
バージョンが5の状態でWordPressを新規インストールすると以下のようなエラーで表示されなくなります。

「Your server is running PHP version 5.x.xx but WordPress 6.3.2 requires at least 7.0.0.」

2024年1月時点で、WordPress最新版ではPHPのバージョンは7以上(さくらのレンタルサーバの場合は、7.4、8.0、8.1、8.2)の環境が必要になります。
また、将来的には、PHP7、8…と古くなったバージョンからサポート終了という可能性もあるので継続的な対応が必要となります。

PHPの古いバージョンの提供終了

PHPはどんどん新しいバージョンが登場し、古いバージョンは使われなくなっていきますが、
古いPHPバージョンではアップデートが終了しているものがあり、脆弱性が懸念されます。

さくらのレンタルサーバでも古いPHPのバージョンで深刻な脆弱性が確認され、対処方法が無いような場合は、
やむを得ず提供を終了してしまうケースも(可能性としては)想定されます。

もし、古いWordPressのデータはそのままの状態で、PHPの環境が強制的に変更になった結果、
先述したようなバージョン相違のエラーでWordPressが動作しなくなり八方塞がりという可能性もあります。

推奨のPHPバージョンについて

さくらのレンタルサーバではコントロールパネルにて推奨のバージョンを確認する事もできます。

↑2024年2月時点の状態。推奨のバージョンはアップデートにより変わります。

こちらの[推奨]と書かれてバージョンをご利用いただければ、問題はないと思いますので、是非ご活用ください。

本番環境でのバージョンアップ前に、Snapupを使ってみよう

そのため、WordPressの運用にはできるだけこまめなバージョンアップが必要になりますが
いきなりバージョンアップを行ってしまうと、WordPressの状態によっては不整合が起こる事も少なくありません。

さくらのレンタルサーバでは、標準搭載されている バックアップ&ステージング(Snapup) の機能を使って本番環境に影響することなく、バージョンアップを事前に検証する事もできますので、これを使った
WordPressとPHPのバージョンアップ方法を見ていきましょう。

1.WordPress のスナップショットを作成する

WordPressのスナップショットを作成する手順としては、WordPressのスナップショットを作成したい のマニュアルの手順に沿っていただければ問題ありません。

2.現在と同じPHPバージョンのステージング環境を作成し、WordPressのバージョンアップをしてみる。

現行のWordPressのバックアップが完了したら、次はステージングサーバーを作成します
ステージングサーバーとは、そのままテスト環境と言い換えてしまっても良いです。

Snapupではそのテスト環境(=ステージングサーバー)を簡単に作成する事ができますので、
本番環境での対応の前にステージングサーバーでWordPressのバージョンアップ時の実際の挙動を確認していきましょう。

現在のPHPバージョンと同じバージョンでステージングサーバーの作成

ステージングサーバーの作成はマニュアルに沿っていただければと思います。

この時指定するPHPバージョン(下図赤枠)についてですが、現在のPHPのバージョンは、コントロールパネルの 言語バージョン設定 で確認できますので、予めそちらでご確認ください。

ステージングサーバーへのスナップショットのセット、およびバージョンアップ

ステージングサーバーが作成できたら、「ステージングサーバーへスナップショットを設定」 のマニュアルに沿って、バックアップをステージングサーバーにセットしましょう。

ステージングサーバーへのスナップショットの流し込みが完了したら、ステージングサーバー側のWordPressの管理画面にログインします。

ステージングサーバーであれば、何かあってもすぐに再作成ができますので、安心です。
コツとしては、いきなりWordPressのバージョンを上げると、問題が発生した際に何が原因か分かりにくくなるので可能な限りのテーマやプラグインをアップデートを行った後で、最後にWordPressのバージョンアップを行っていただくと良いと思います。

ステージングサーバーで問題が発生した場合は

テーマ、プラグインのアップデート時に、ステージングサーバーでWordPressの不具合が起こる可能性がありますが、だいたいがプラグインやテーマがWordPressのバージョンやPHPのバージョンと合わないケースになります。

WordPress のテーマ、プラグインは対応するフォルダ名を変更する事で無効化ができますので、
不具合発生時はステージングサーバーのファイルマネージャーでプラグインやテーマのフォルダ名を変更してみると
ウェブ表示が復旧するケースが多いです。

その他にもトラブルシューティングは以下を参考にしてもらえると良いと思います

WordPressのウェブ表示がおかしくなった時に! 解決の糸口が見つかるかもしれないトラブルシューティングの常套手段

プラグインが問題であった場合は、代替のプラグインを見つけるなどご検討ください。
また、テーマが原因であって、オリジナルテーマであるなど対策が難しい場合はウェブ制作会社にご相談いただくか、リニューアルも視野に入れてご検討いただいた方が良いと思います。

分岐①:現在、最新のPHPバージョンをご利用の場合

WordPressが正常に動作する状態である事を確認し、当記事の「4.本番サーバへの流し込み」へ進めてください。

分岐②:現在、PHP5.6以下をご利用の場合

WordPressの最新版にアップデートした時点で必ず、以下のエラーになります。

 Your server is running PHP version 5.6.40 but WordPress 6.x.x requires at least 7.0.0.

そのため、PHP5.6のステージングサーバーをご利用の場合は、トラブルシューティングをせず、そのまま3-1へ進めてください。

3-1.ステージングサーバーから、Snpaupへバックアップ

ステージングサーバーでは、PHPのバージョンは作成時で選択したバージョンへの固定になります。

そのため、ステージングサーバーのWordPressの更新が終わったら、今度は一旦ステージングサーバーからSnapupへバックアップを取ります。

手順としては、Snapupの画面に戻り、まず『スナップショットを追加、作成する』をクリックします。

次に、『ステージングサーバーから取得』をクリックします。

任意のコメントを入れて、『実行』をクリックします。

ステージングサーバーからのバックアップができれば、一旦ステージングサーバーを削除します。

ステージングサーバー削除

3-2.【PHP5系をご利用の場合】PHP8系(その他PHPバージョンの変更を伴う場合)の環境でWordPressの挙動を確認する。

PHP8系のステージングサーバーの作成

次に、またステージングサーバーを作成します。
今度は、PHP8系のPHPを指定しての作成になりますので、ご注意ください。

ステージングサーバーの作成が完了したら、前項で取ったバックアップをステージングサーバーへスナップショットを設定 にそって流し込みます。

動作確認とトラブルシューティング

ステージングサーバーへのデータの流し込みが終わったら、「ステージングサーバーへのスナップショットの流し込み、バージョンアップ」の項と
同様に、動作確認と必要に応じてトラブルシューティングを行います。

4.本番サーバーへの流し込み

問題なく動作するようであれば、ステージングサーバーから公開領域へリリースしたい(バックアップ&ステージング)の手順で公開サーバーへの
反映とコントロールパネルから、PHPのバージョンの変更を行います。

まとめ

WordPress で作成したサイトで記事の更新をする事はさほど難しくないのですが、維持、運用していくとなると難しいですね。

こまめにWordPressとPHPの更新していれば、無理のない運用ができたりしますが、そもそもそういったものが必要だという認識も
なかなかエンジニアでもないと意識しにくい部分になると思います。

しかし、WordPressとPHPのバージョンアップはセキュリティの必要性が重要になってくるこの先、
対応が必須になってくると思われますので、是非、心がけるようにしてください。

もし、手順をご覧いただいて、手に余るとお考えになった場合、特に古いWordPressでは自作のテーマを使っているという
ケースも多く、エンジニアでないと対応できない事も想定されますので、ココナラなどのサービスで代行業者を
探していただく事をお勧めします。

この記事は1つのテーマに紐づけられた記事です。
他の関連記事も続けて閲読頂くことをお勧め致します。

PHPバージョン廃止に備えた、WEBサイトのバージョンアップについて

執筆 植木 研介

さくらインターネットでカスタマーサポートを担当。 さくらのレンタルサーバのお客様へ、サーバ運用の一助となるような記事を書いていきたいと思います。

植木 研介のプロフィール画像