WordPress移転で手詰まった点と偶然見つけた対処法

xsseverlogo

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

先日ブログ用サーバをシックスコアからエックスサーバーに移転した理由を書きました。

ブログ用サーバをシックスコアからエックスサーバーに移転した4つの理由

2回目のサーバ移転だし、特に難しいことは無いはずでしたが、謎の不具合が発生して予想外に手間取りました(涙)

最終的には自力で対処法を見つけ、非常に良い結果となったのでその顛末を報告します。

WordPressのサーバ移転は難しくない

ウェブサイトやブログ用のサーバ移転に苦手意識を持っている人が多い印象があります。

複数の物理サーバで稼働しているような大規模サイトや、一瞬足りとも動作を止められないECサイトやウェブサービスなどを運営している場合は確かに大変だし、緊張します。

しかし安価な共用サーバでWordPressを使って運用している個人ブログ程度であれば、サーバ移転はそれほど難しいものではありません。

WordPressを使っている場合、サーバ移転の大まかな流れは次のとおり。色々なやり方があるので、必ずしもこの順序でなくても大丈夫です。

  1. 移転先のサーバを契約
  2. 移転先サーバでドメインなどの設定
  3. 利用中のサーバからデータをダウンロード
  4. 移転先のサーバにデータをアップロード
  5. ドメインを移転先のサーバに切り替える

利用中のサーバからは、画像やテキストファイルだけでなく、データベースの書き出しを行わなければいけないので要注意。

またメールを使っている場合には、移転先のサーバで設定を行わないといけません。

後はサーバを切り替える前に問題なく動作しているかを確認することと、不測の事態を考慮して利用中のサーバと移転先のサーバとの契約は1ヶ月程度重複させておくこと。

私の場合は利用中のサーバ契約が9月末までとなっているのに対して、8月下旬に移行作業を完了させました。

期限ギリギリで作業してしまうと焦ってしまうので、余裕を持っておきたいですね。

条件によっては他にも注意点がありますが、大体この程度です。

ほとんどのレンタルサーバ会社は、自社へのサーバ移転の方法をウェブサイトで公開していますし、サポートに聞けば詳しく教えてくれるでしょう。

WordPress用サーバを移転するときに覚えておきたいこと

WordPressの移転を行うときに覚えておきたいのが、wp-config.phpというファイルの役割です。

wp-config.phpは、WordPressデータの一番上の階層にあり、次のような情報が書かれています。

  • MySQL データベースのユーザー名
  • MySQL データベースのパスワード
  • MySQL のホスト名

WordPressの移転は、基本的には丸ごとデータを書き出し、新しいサーバに入れるだけですが、wp-config.phpには古いデータベースの情報が書かれているので、こちらは移転先サーバの情報に書き換えなくてはいけません。

逆にいえば、他は丸っとそのままで大丈夫です。なのに今回は謎の不具合が発生してしまいました。

移転先サーバにDBがインポートできない

利用中のサーバからデータのダウンロードとデータベースの書き出しが終わり、事前にドメインやデータベースの設定をしておいた移転先サーバにデータをアップロード。

データベースはphpMyAdminというMySQL(データベース)の管理画面でインポート作業を実施。

後は新しいサーバ側で動作確認を行うだけ!というのが通常の流れですが…

なぜかエックスサーバー上のMySQLに、シックスコアからエクスポートしたデータベースを読み込もうとしてもエラーになってしまいます。

WordPressは利用者が非常に多いので、大抵のトラブルはネットで検索すれば対処方法が見つかるものです。

しかし今回は探しても、探しても、同様のトラブルへの対処方法が見つかりません。

土曜日に始めたサーバ移行作業は、日曜日の深夜になってもこのトラブルのために完了せず、諦めて翌日エックスサーバーのサポートに相談しようかと考えていました。

しかし月曜の朝にしつこく作業をしていて解決策を思い付き、サポートに頼ることなくデータ移行が完了しました。

不具合はWordPressの新規インストールで解決

移転先のエックスサーバーには、WordPressの自動インストール機能があります。

この機能を使うと、エックスサーバー側のシステムがWordPress用のデータベースも自動作成してくれます。

とりあえず自動インストールを使えばWordPressの器はできると考えて実行。

自動生成されたデータベースに移行元のデータベースをインポートしたところ、無事情報が読み込まれました。

後はダウンロードしておいたテーマやプラグイン、画像などをアップロードして、ようやくサーバ移転が完了。と思いきや、もうひと山ありました。

wp-config.phpは移行元から持ってきたものをアップロードし、データベース情報などを新しいものに書き換えましたが、インポートした記事が表示されません。あともう少しのはずなのに…

移行元から持ち込んだwp-config.phpを書き換えるのはやめて、新規作成されたwp-config.phpをそのまま使うことに。

wp-config.phpにはデータベース名など以外に「WordPress データベーステーブルの接頭辞」という設定項目があります。

移行元のサーバからwp-config.phpを持ち込んだ場合は、同じく以降元のデータベースと接頭辞が一致しているはずなので書き換える必要はありません。

今回はwp-config.phpを新しいものに変えたため、接頭辞をインポートしたデータベースと同じものに書き換えました。

そして表示を確認したところ、記事の読み込みに成功!!まさか足掛け3日もかかるとは思いませんでした…

その後、動作確認を行って、サーバを切り替えました。(サーバ切替後にメール設定をしていないことに気付いて慌てて設定したw)

結局、不具合の原因はわかりませんでしたが、WordPressを新規作成し、必要なファイルだけを持ち込むという方法になったため、無駄なファイルを一掃でき、結果的にはかなりデータを綺麗にできました。

この方法なら、また数年後にWordPressを引っ越すときも大丈夫なんじゃないかと思います。

似たような感じで手詰まりになっている人は、ぜひ一度お試しください!