https://thejuraku.com/pc/?p=12315

ワードプレス 5.5.x系にアップグレードしたら色々とおかしくなった件

Wordpress.orgにてWP Downgradeのプラグインのページ

プラグインかテーマのどちらがおかしい

ワードプレスがおかしくなるのは大まかにプラグインかテーマファイルがおかしいかのどっちかになります。
つまりプラグインもしくはテーマが
1.対応できなかった
2.既に対応していない
のどちらかになります。

「対応できなかった」の場合

この場合は作者に頼んでプラグインかテーマがアップデートされることを祈るしか有りませんが、サイトで重要な事を担っている場合は素直に違うプラグインかテーマにする事をおすすめします。

「既に対応していない」の場合

これはプラグインやテーマの作者が既にそれらのことを忘れていることもあればめんどくさいので既にアップデートを放棄している場合です。このような場合は違うプラグインかテーマにする事です。

「自分で対応させる」という選択肢

これは人によってはハードルが高い人もいれば時間がかかっても良いという人は自分でプラグインやテーマのコードを対応させる事で解決する事ができます。

自分のサイトで時間が有り、コードの中身に興味を持っていればもちろん自分でちゃちゃっとコードを編集して対応させちゃうことも可能ですし、対応に成功していればそれを作者に送ってWordPressのサイトなりに掲載してもらうのも良いでしょう。

もちろんできるが時間と費用の関係上やらないという選択肢もあります。
特に時間給や仕事に追われている人にとって自分で改変するより新しい同じようなものを探して現在のサイトに対応させた方が「安上がり」な場合もありますね。

プラグインやテーマをダウングレードする

WordPressをアップグレードしておかしくなったのであればWordPressのバージョンを下げる事で一時的に問題を解決させることができます。

ただし、その前に以下を試してから出ないとだめです。

プラグインの無効化

プラグインを一つひとつ、もしくは全部無効化して当該機能がしっかりと稼働するかの確認。

デフォルトのテーマにする

テーマをデフォルトのTwentyTwentyなどにしてから機能のチェックする。

管理サイトでの不具合

私の場合、管理しているサイトで不具合が起こりました。それは、

  • トップのホームページでの画像スライダーが機能していない
  • 全ページでメニューが展開しない

問題がわからないときはWindowsのセーフモードで作動するような形にすると問題が解決するので、WordPressでのセーフモードとはデフォルトテーマに戻す事とプラグインを無効化すること。

画像スライダーが機能していない

2週間間前にチェックしたときは問題なく稼働していましたが、昨晩アップデートする前にサイトを開いたらトップページのスライダーとメニューの展開ができなくなっていました。

私の使っている環境だとインターネット回線が遅いのか、年中に移動した新しいサーバーのせいかわかりませんが画像スライダーの読み込みがいつも遅いのでしばらく待っていましたがいくらまってもいっこうに画像スライダーが読み込まれない。

ソースからその画像を単独で表示ができるのでサーバーからその画像はなくなってはいないので問題はないはず。

またサイト内の他の画像も問題なく表示されているので画像スライダーが問題だろうと推測できます。

メニューが展開しない

これまた困ったことにメニューが展開しないという素人が初めて展開メニューを作成したときみたいになんでだ?という雰囲気を醸し出してしまいました。

試しに全プラグインを無効化

全プラグインを無効化しても画像スライダーもメニューも問題は改善せず。
ページ上から画像スライダーのソースを見ても特にプラグインで動作しているという感じの記述は無いのでテーマファイル内の機能で提供されている画像スライダーなのだろうと推測。

メニューも同じくプラグイン系ではなく、テーマファイル独自の物とソースを見る限り推測。

デフォルトテーマに戻してみる

デフォルトテーマのTwentyTwentyにしてみるとメニューがしっかりと展開するでは有りませんか!
画像スライダーはプラグインではなく、テーマ独自のものだったのでデフォルトテーマでは表示されない。

管理サイトをコピーして予備サーバーに展開

何をするにしても稼働中のサーバーで実験はしては行けないので違うサーバーか稼働中のサーバーの別ディレクトリーに最低でも同じファイルとデータベースをコピーして実験する事が大事。

Duplicatorでサクッとコピー

Duplicatorでデータベースだけサクッとコピーし、残りはレンタルサーバーのファイルマネージャーで該当ディレクトリーごと圧縮してダウンロード。

その圧縮したファイルを予備サーバーへアップロードして解答・展開。

同時にDuplicatorで作成したファイルたちも予備サーバーへコピー。

Duplicatorでデータベース等を展開しサイトのコピーができる。

コピーサイトでWPのバージョンをダウングレード

本番環境で行うとたとえ夜中で誰もサイトを見ていなかったとしても間違いが起こったら心臓に悪いのでこういう事はコピーサイトで行う事が大事。

  1. まずはWordPressに管理者権限でログインし、プラグインセクションにて新規追加からの検索にて「WP Downgrade | Specific Core Version」を探すと出てくるので「インストール」→「有効化」。
  2. 次に、「設定」メニューから「WP Downgrade」を選択。
  3. WordPress Target Versionの箇所に今回ダウングレードする予定のWordPressのバージョンを入力。もしWordPress 5.4.4にダウングレードするなら「5.4.4」とだけ入力し「変更を保存」をクリック。

    WP Downgrade plugin screen with text input for WordPress version

    WP Downgradeのプラグインの設定画面。現在インストールされているバージョンはWordPress 5.5.3。

  4. 「変更を保存」をクリックすると以下に変わる。

    WP Downgradeプラグイン画面にて設定の変更をクリック後

    WP Downgradeプラグイン画面にて設定の変更をクリック後

  5. 画面したの「Up-/Downgrade Core」をクリックし、次へ進みます。
  6. WordPress アップデート画面にてWordPressコアを5.4.4にアップグレードする確認画面

    WordPress アップデート画面にてWordPressコアを5.4.4にアップグレードする確認画面

  7. WordPress 5.4.4を再インストール中の画面

    WordPress 5.4.4を再インストール中の画面

  8. この画面が出たらアップグレード・ダウングレードは無事完了

    無事WordPress 5.4.4がインストールされたという画面

    無事WordPress 5.4.4がインストールされたという画面

  9. これでウェブサイトを開いてドロップダウンメニューと画像スライダーが問題なく表示されていたら完了。
  10. 次は本番環境で実行。

できる可能性のある対処

WordPress 5.5.x系列が使えなく、WordPress 5.4.x系列なら使える場合今までのWordPressのBranchリリースを見る限り数年はサポートされる見込みです。

ただし、WordPress 5.4.xがAutomatic社によってサポートされていたとしても、WordPressを使用するのに必要なPHPとMySQLのバージョンがサポート外になっていたりすることもある。

WordPress 3.7.31 と PHP 7.2

上記においてWordPress 3.7.31のサイトをPHP 5.6から7.2にアップグレードしたらWordPressがデータベースに接続できなかったりするエラーが起こりサイトが機能しなくなったりもする。

Hello, I need to upgrade an old site running 3.7.31 on PHP 5.6 to 7.2. I typically deal with these things incrementally so I bumped to 3.8 at 5.6 (no problems), 3.9 at 5.6 (a few problems), 3.9 at 7.2 (site won’t connect to DB). Now, I am doing this localhost using MAMP. Does 3.9 work with PHP 7.2? Or does MAMP need to be configured for 7.2 and WP? My intention had been to move this up the chains if I could weed out some of these minor issues but can’t even seem to get the site to connect to DB. I tried out WP 4.9.10 with 7.2, and had the same problem. How can I troubleshoot this?

古いWordPressと古いPHP

WordPressの最新バージョンは記事執筆時にWordPress 5.5.3が最新だが、未だにWordPress 3.7.x系では3.7.35がWordPressの開発元でサポートされている。

ただしサポートされているだけであってWordPressが必要としているPHPやMySQLは既にサポート対象外で合ったりし、セキュリティーリスクがつきまとう。

Windowsユーザーならわかりやすく未だにWindows XPを使っていたり、一つ前のサポート切れのWindows 7を使っていたりする様なものである。Windows XPや7ならばインターネットに繋がないオフラインモードであれば問題はないが、WordPressは必ずウェブサーバーに繋がなければならない。ウェブサーバーは基本的にインターネットにつながっているので古いソフトを使用していれば人に迷惑をかける事を趣味や生業にしている輩に利用され他人に遠隔攻撃をする為にゾンビ化(ボット化)される恐れがある。

なので、いくらWordPressの古いバージョンがサポートされているとしてもできるだけ最新のWordPressのバージョン、最新のPHPのバージョン、最新のMysqlのバージョンが使える環境が整ったサーバーが使えないとブラックハット・ハッカーに利用され加害者となる可能性がある。

また、古いWordPressを使用しているサイトに多いのがプラグインも古いままでアップデートされていない事もある。またはプラグインのサポートが切れており、アップデートできずに古いままの可能性もある。プラグインによっては古いPHPを利用していたりする場合、プラグインをアップデートした途端にHTTP ERROR 500で真っ白なウェブサイトになる事さえある。

これらから、特に企業で利用している場合、企業イメージの悪化、株価への影響、ウェブサービスへの影響等いくらでも想像ができる。

したがって企業のIT担当者、もしくは外部へ委託している場合このような対処に遅れが生じ最悪の場合ハッカーに利用され加害者になる可能性がある事を忘れないようにしたい。

あ、気づきましたか?記事が少しでも役に立ったと思ったらシェアでもコメントでもしてみてください^^;
スポンサーリンク
このページの短いURL: https://thejuraku.com/pc/?p=12315