放置しすぎたWordPressとPHPのアップデート

放置するほどヤバくなる。WordPress&PHP準備~アップデート
Contents
  1. 「放置しすぎ」ってどれくらい?
  2. 何年も放置された理由
  3. このページに関する注意事項
  4. テスト環境の準備
  5. テスト環境でアップデートと修正作業
  6. いよいよ本番環境のアップデート
  7. 最終確認
  8. まとめ:アップデート、ためちゃダメ

「放置しすぎ」ってどれくらい?

今回テーマにするのは数年以上の放置。

たとえばPHP5系(2004~)のまま使っていたら、レンタルサーバーから「PHP5系、消えます」と通知がきてアタフタとか。

あとはWordPress本体が自動アップデートできずFTPでアップデートしてた時代のままとか。
(WordPressのダッシュボードからボタン1つでアップデートできるようになったのは2013年)

そんなに放置する?と思う方もいらっしゃるでしょうが、あるんです。
私のところにも年間2~3件、いまだにご依頼いただきます。

何年も放置された理由

よくわからない・なんかこわい・めんどくさい

サイトが壊れたらどうしようとか、別に困ってないからいいやとか。
FTPでのアップデート時代のWordPressだと特にそう感じやすいです。

たぶん私が人間ドックや歯医者をしばらくサボった心境と同じです笑
コロナ禍に2年お休みしたら、まさにそんな気持ちになって追加で1年サボリ。
そうすると「ずっと行ってないから、行くと何かヤバいものが見つかるかも」と怖くてまた足が遠のき。
再スタートのハードルが上がる一方でしたね。

更新通知がオフされてて気づけない

デフォルト状態ならWordPressの管理画面に「アップデートあるよ~」の通知が出ます。
が、制作会社が作成したWordPressサイトで、更新通知を非表示にカスタマイズされている場合があります。

もちろん悪意でのカスタマイズではなく、ユーザーがうっかり更新ボタンを押さないようにという配慮だったのだと思います。
当時はおそらく保守契約も結んでいて、事業者側で定期的にアップデート作業をする予定だったのかと。

それが保守契約の終了や制作会社の解散などがあって、更新通知が出ない状態のまま放置プレイになってしまったというパターンです。

アップデートできないプラグインのためにPHPやWordPressも古いまま

こちらは分かっているけど意図的に放置しているケース。

特定のプラグインをアップデートできない理由はいくつかあるようです。

  • プラグインの開発自体が終了した
    無料や野良(WordPress公式以外で無料配布されているもの)が多い印象。
  • アップデートに費用がかかる
    これは”できない”というより”やりたくない”パターンですね。
  • ライセンスを持っていない
    購入時の情報(ライセンス番号とか購入者ページのログイン情報とか)を紛失しちゃって・・という方。
    あるいはライセンスを持っているのが制作会社で、その事業者との取引終了していたり連絡が取れない場合もあるようです。

このページに関する注意事項

これまで対応してきた経験をもとに作成していますが、全サイトで100%大丈夫というものではありません。

特に複雑なカスタマイズをしている場合は例外的なエラーが発生しやすくなります。

必ずバックアップをとり、ご自身の責任で実施してください。

テスト環境の準備

STEP1:テスト用のサブドメインを準備(

サブディレクトリではだめです。サブドメイン。
理由は2つ。

  1. 本番環境に影響を与えずPHPのバージョンアップをテストするため
  2. リンク構造の維持

STEP2:テスト環境のPHPバージョンを揃え、本番環境と同じバージョンのWordPressをインストール

サブドメインのPHPバージョン変更は
・管理画面でポチっと変更できるサーバー
・.htaccessとかで変更するサーバー
があります。

サイト複製を一気にできる場合

レンタルサーバーによってはサーバー管理画面でサイトの複製が簡単にできます。

また、DuplicatorプラグインだとWordPress本体とデータを一気に複製できます。(容量の多いサイトとかはNG)

これらの方法が使える場合はSTEP3は作業不要です。

カラフルボックスやmixhostだとクイックインストールで多少古いバージョンのWordPressも選択できるので、ちょっとラク。
(クイックインストール時、テスト環境のテーマやプラグインの自動アップデート設定はオフっておきましょう)

それ以外のレンサバでは基本的に最新バージョンがインストールされてしまうので、クイックインストールは使わずに手動インストールが必要です。

古いWordPressのダウンロードはこちら

リリースアーカイブ – WordPress.org 日本語

STEP3:データの複製

複製できれば方法はなんでもOK。
注意点としては、プラグインでやる場合はプラグインのバージョンも揃えておくこと。
多少の差ならわりと問題ないですが、何年も差があるとトラブル可能性があがります。

(状況別、複製や移転におすすめのプラグイン記事は後日作成予定。)

STEP4:テストサイトのバックアップ

これ、意外と重要です。
なぜならアップデート途中で真っ白画面になったり、ログインすらできなくなるパターンがあるから。

復旧できない場合、STEP1からぜんぶやり直しになります。

テスト環境でアップデートと修正作業

いちいち書きませんが、各作業ごとにサイトに異常が出ないか確認してくださいね。
一気に進めると、トラブル発生時に原因がわかりにくくなります。

STEP5:テーマ→プラグイン→WordPress本体の順にアップデート

絶対ではないけれど、この順番がトラブルが少ない印象。

更新ボタンを押すとエラーで更新されない場合

WordPress本体があまりにも古い場合とこうなります。
その場合は公式サイトでzipファイルを入手してアップロードでの更新。

野良や有料プラグインの場合

WordPress管理画面では更新情報が出ないことがあるので、それぞれの公式サイトで最新版をダウンロードしてきてアップロード更新。

開発終了していたら類似のプラグインを探して差し替えます。

WordPress公式プラグインからダウンロードしたもので、アップデート通知が出ていない場合

更新情報がないからそのまま使ってOK、というわけではありません。

"長期間放置していたのにアップデート情報がない" イコール "開発や配布が終了" の可能性が高いです。
プラグイン一覧の[詳細を表示]リンクやウェブ検索で情報を探します。

開発終了していたら類似のプラグインを探して差し替えます。

STEP6:PHPのバージョンアップ

バージョンアップ後、WordPress管理画面に戻ると古いPHPではアップデートできなかったプラグインに更新通知が出ることがあります。
その場合はSTEP5と同じようにアップデートを実施します。

PHPの5系から8系の場合

7系にUP→STEP5→8系にUP→STEP5が無難です。
一気に8系にしてうまくいくこともありますが、ここは”急がば回れ”がおすすめ。

テーマでエラーが出る場合

テーマのアップデートが入手できない場合(オリジナルテーマなど)はコードを修正するしかないです。
自身で対応できない内容なら素直に事業者へ依頼しましょう。

STEP7:動作確認

  1. サイトの見た目に問題がないか
  2. 編集作業に問題ないか
  3. 外部連携に問題はないか
  4. メール送信などユーザーの操作に異常が出ないか

主な確認内容は上の3つで、3はSNS連携や広告、有料のWEBフォントなどが含まれます。
ドメインが違うと動かない場合もあるので、その場合は一時的にサブドメインでも使えるように設定しなおすか公開サイトのアップデート後に動作確認するしかありません。

ページ数が多いとサイトの崩れ確認(リストの1)がたいへんなので、backstopjsとかで機械的に確認するのがおすすめです。

参考記事

backstopjsをWordPressサイトの画像遅延に対応させるスクリプト

Contents backstopのonReady.jsのコードアップデート作業のあとにbackstopjsで表示確認立ちはだかる画像の遅延読み込み問題!実行に時間をかけるか、目視に時間をかけるかbackstop.jso […]

いよいよ本番環境のアップデート

さて、一番緊張するSTEPです。

作業のあいだサイトをクローズできるかどうかで作業が変わります。

STEP8-A:一時的にサイトをクローズしてアップデート

WordPressサイトをメンテナンス表示にする
プラグイン(例:Maintenance)が簡単。
短時間ならメンテナンス表示も別にいらないや~って場合、この作業は飛ばしてOK。
テーマをWordPressデフォルトに変更、メンテナンスプラグイン以外を無効化
テーマとプラグインが連携している場合もあるので、両方をいったん無効に。
※ ログインURLを変更するプラグインを使用している場合、無効化することでURLが変わるので注意
WordPress本体をアップデート
この時点のPHPでできるところまでバージョンをあげておきます。
PHPをバージョンアップし、WordPress本体をさらにアップデート
2度目のWordPress本体アップデートは通知が出ていれば、でOKです。
テストサイトから複製
複製方法はお好きなプラグインでOK。
どちらも最新バージョンのプラグインが使える状態なので、わりとどれでも大丈夫です。
※ SiteGuardプラグインを使っている場合、有効化するとログインURL変更が有効化されます。ログインURL変更プラグインを使っているサイトも同様。

STEP8-B:サイトを落とさずにアップデート

テストサイトで実施した作業をもう一度公開環境で実行します。

必要な情報収集やアップデート用のファイルの取得が済んでいるので、テストサイトでの実施に比べるとそこまで大変ではありません。

最終確認

公開環境でサイトの表示や動作を最終チェックします。
とくにSTEP7で保留していた動作確認があれば、ここで調査・修正します。

まとめ:アップデート、ためちゃダメ

まめにやってたら、そんなに大変じゃないんですけどね。
掃除とか健康診断と一緒で、後回しにするほどハードルがあがります。

ちなみにこういった作業を事業者へ依頼すると数万円かかります。
使っているテーマによっては作業のためのライセンス料が追加でかかる場合も。

参考記事

TCDテーマ、有料での作業代行には特別ライセンスが必要って知ってる?

Contents TCDのテーマは初心者でもデザイン性の高いサイトが作れるTCDテーマを使う製作会社に依頼するときの確認事項対象テーマの「特別ライセンス」を持っているか。特別ライセンスの確認方法保守契約が含まれているかラ […]

費用の問題だけでなく、サイトのセキュリティ対策としてもアップデートは大切ですので、ぜひ実施してくださいね。

日本国内販売ならどっち?WooCommerceとWelcart(ウェルカート)を比較

WordPressでネットショップを作る場合、代表的なプラグインとして「WooCommerce」と「Welcart」があります。どちらもECサイト構築が可能ですが、日本国内向けの販売であればWelcartのほうが使いやす […]

カテゴリー
構築・設定
続きを読む

通信不安定サーバーでアップデートが始まらないときの対処法

Contents WordPressやプラグインのアップデートが「ダウンロードしています」で停止 アップデートが始まらない状況とは 原因はサーバーの通信が遅い&不安定なのが原因だった FTPも途中で止まって完了できない […]

カテゴリー
トラブル
続きを読む