SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 採用情報 ...
技術者募集中

古すぎるWordPressをバージョンアップした

問題

ものすごく古いWordPressがあるのですが、バージョンアップできますか?

なんとバージョン3.0です。

php5で動いてるし、管理画面からは何ともならない感じです。。。

答え

いきなり最新版にするのは環境的にphpも古いし途中で動かなくなったら困るので、じわじわバージョンを上げる作戦でやってみます。

まずバックアップ

まずソースとデータベースのダンプがあれば元の環境は復元可能なので、バックアップを取りましょう。

ではバージョンアップ

手動でのアップグレード手順が公式サイトにあります。

https://ja.wordpress.org/support/article/updating-wordpress/#%e6%89%8b%e5%8b%95%e6%9b%b4%e6%96%b0

  1. 最新の WordPress のzip (もしくは tar.gz) ファイルを入手します。
  2. ダウンロードしたzipファイルを展開します。
  3. すべてのプラグインを停止します。
  4. FTP もしくは shell アクセス経由で、ホスト上にある古い wp-includes および wp-admin ディレクトリを削除します。
  5. FTP もしくは shell アクセス経由で新しい wp-includes および wp-admin ディレクトリをアップロードし、削除したディレクトリがあった位置に置きます。
  6. 新しい wp-content フォルダー内にある各ファイルを、既存の wp-content フォルダーにアップロードして上書きします。 この際、既存の wp-content フォルダー自体や、wp-content ディレクトリ内にあったファイルやフォルダーは削除しないでください (新しいファイルで上書きする場合を除く)。
  7. 新しいバージョンの WordPress の root ディレクトリにある残りのファイルを、既存の WordPress の root ディレクトリにアップロードします。

丁寧にやると上記のようにするようですが、まるっとソース上書きである程度はいけそうです。

WordPress3.0 → 3.7あたりへバージョンアップ

WordPress本体の古いソースを新しいソースで上書きします。

$ wget https://wordpress.org/wordpress-3.7.40.tar.gz
$ tar zxf wordpress-3.7.40.tar.gz
$ rsync -a wordpress/ www

wordpress-x.x.x.tar.gz を解凍すると、wordpressディレクトリができてます。wordpressディレクトリの中身 wordpress/* を現在のWordPressをインストールしているディレクトリ(ここではwww)に rsync で上書きします。

同じファイル名があれば上書き、廃止されたファイルがあればゴミとして残っちゃうかもなやり方です。

これで管理画面にアクセスすると、データベースをバージョンアップする画面になり、ボタンを押すと無事終了しました。

管理画面はまだ昔懐かしい見た目です。

WordPress3.7 → 4.0へバージョンアップ

案外何とかなりそうということで、同じ手順で古いソースを新しいソースで上書きします。

$ wget https://wordpress.org/wordpress-4.0.37.tar.gz
$ tar zxf wordpress-4.0.37.tar.gz
$ rsync -a wordpress/ www

管理画面にアクセスして、データベースのバージョンアップをします。

全体的にまだ問題なさそうです。

管理画面は最近の黒い感じになってきます。

古い Contact Form 7 が動かなくならないか心配でしたが、まだいけます。

稼働しているレンタルサーバーがphpのバージョンを選べるので、5.6に変えてみると、これも問題なさそうです。

WordPress4.0 → 4.9へバージョンアップ

引き続き、同じ手順で古いソースを新しいソースで上書きします。
もっと一気にやってもよかったかもしれないですが、じわじわ様子を見ながら進めます。

$ wget https://wordpress.org/wordpress-4.9.22.tar.gz
$ tar zxf wordpress-4.9.22.tar.gz
$ rsync -a wordpress/ www

管理画面にアクセスして、データベースのバージョンアップをします。

全然問題ないです。次行きましょう。

WordPress4.9 → 5.0へバージョンアップ

引き続き、同じ手順で古いソースを新しいソースで上書きします。

$ wget https://wordpress.org/wordpress-5.0.18.tar.gz
$ tar zxf wordpress-5.0.18.tar.gz
$ rsync -a wordpress/ www

管理画面にアクセスして、データベースのバージョンアップをします。

大丈夫でした。

テーマやプラグインが少ないのも幸いしているのかもしれません。特にエラーなしです。

ここまでバージョンアップすると、動作環境をphp7にできます。レンタルサーバーのphpのバージョン設定で7.4にしても問題なく動きました。

投稿画面がGutenberg(グーテンベルク)になってだいぶ姿が変わってきましたが、古いままはよろしくないので仕方ないですね。必要ならプラグインで昔の投稿画面に近づけることはできるので後で検討しましょう。

WordPress5.0 → 6.1(最新)へバージョンアップ

せっかくここまで来たので、バックアップを取ります。

そろそろ雑な手動のバージョンアップをやめて、管理画面の更新機能でバージョンアップしようと思います。phpも7.4にしてあるので、きっとできるはず。

やることは管理画面のバージョンアップのボタンを押すだけ。

はいできました(あっさり)。

プラグインが「新バージョンがあります」と言ってきているので、これもバージョンアップします。

ここでお問い合わせフォーム(Contact Form 7)が表示されなくなりましたが、送信元の設定が増えたようで設定しないとエラーになるようです。送信元の設定をするとまた元通り表示されました。

バージョンアップ完了!

必要以上に小刻みにバージョンアップした気がしますが、大きな問題が発生しなくてよかったです。

すんなりバージョンアップできるかどうかは、プラグインやテーマによる部分もあると思います。シンプルな構成にしておくとこういうとき対応しやすいですね。

古いWordPressにお困りでしたらお問い合わせください。もしかしたら対応できるかもしれません。

関連するメモ

コメント