WordPressサイトのドメインやサーバー変更する場合の作業手順

wordpress-move2
WordPressを使用しているウェブサイトにおいてドメインやサーバーの変更をする場合、データベースやプラグインなどの移動作業が必要になる。

最近その作業をして問題なく成功したのだが、おそらく今後再びその作業をする機会があると思うので、自分のためにも備忘録として書き留めておきます。

サイト移転の手順と必須項目について

以下の作業のうち、サーバー変更の際に必須になるのは、1、2、3、4です。
ドメイン変更の際に必須になるのは5です。

1、(サーバー変更に必須) テーマディレクトリ内のファイルをすべてバックアップし、移動させる。

自分で作ったオリジナルのテーマの場合、この作業を忘れるような人はおそらくいないだろう。

2、(サーバー変更に必須) データベースのデータをエクスポート(出力)し、新サーバーのデータベースにインポート(入力)させる。

この作業も基本なので、おそらく忘れる人はいないだろう。
この作業によって投稿記事の本文やWordPressの設定などを移動させることになります。

サーバーの変更だけでなくドメインの変更も伴う場合は、下記5の作業を先に実行した後にインポートしてください。

3、(サーバー変更に必須) uploadsディレクトリ内のファイルをすべてバックアップし、移動させる。

uploadsディレクトリにはWordPress管理画面からアップロードした画像ファイルなどがすべて格納されている。
つまり、WordPress管理画面の「ライブラリ」に表示されるものがこのディレクトリにある。

上記2の作業によって投稿記事の本文は移動できますが、この3の作業を行っていないと投稿記事内の画像は表示されません。
決して忘れないようにしましょう。

4、(サーバー変更に必須) テーマディレクトリ以外で追加したものや初期設定から変更しているファイルがあればバックアップし、移動させる。

WordPressのルートディレクトリにある.htaccessやwp-config.phpなどもバックアップを取っておくと良いだろう。

例えば.htaccessにてBasic認証やアクセス制限を追記しているような場合はWordPressインストール直後の.htaccessとは内容が異なるので、新サーバーのほうに上書き移動させる。

5、(ドメイン変更に必須) データベースファイル(sqlファイル)内の旧ドメインに関する部分を新ドメインに書き替える。

データベースファイル内に投稿記事の本文が保存されていることは上記のとおりですが、その中での内部リンクや画像ファイルへのパスはhttp:からはじまるフルパスになっています。
つまり、旧ドメインの記述がある。ということです。

旧ドメインから新ドメインへの書き換えをするのに、テキストエディタの置き換え機能ではダメらしいです。
というのも、データベースファイル内にはドメインの記述をもとにシリアライズされた記述もあるらしく、単純にドメインの記述の部分だけを書き換えれば良いわけではないらしいのです。

これを書き換えるには「Database Search and Replace Script in PHP」というツールを使用します。
これがWordPress Codexに書かれている公式の方法になります。
WordPress コデックス
参考URL:WordPress の引越し – WordPress Codex 日本語版

ダウンロードはこちらのページから。
WordPress Serialized PHP Search Replace Tool

追記:プラグインについて

プラグインファイルはpluginsディレクトリにすべて入っているはずですが、これはFTPソフトによって移動させるだけだとエラーが発生する場合があります。

そのため、新サーバーでのWordPress管理画面から新規インストールするほうが無難でしょう。

プラグインを独自にカスタマイズしている場合には、新規インストールして動作を確認した後に、カスタマイズをしたファイルだけを上書き移動するのが良いと思います。