私が管理しているWordPressサイト(当ブログとは別サイトです)のドメインを変更することになりました。WordPressの場合、ファイル以外にデータベースの存在があったり、URLの置き換えを行わなければならないので若干手間がかかります。その他の状況は
- サイトを設置するサーバーは変更前後で同じ(さくらインターネット)
- データベースの名前も新ドメインに合わせて更新する
このような条件です。
目次
ファイルのバックアップ
まずサイトのバックアップを取っておきます。サーバー変更を伴う場合はFTPクライアントソフト(代表的なものはFFFTP)を使用してダウンロードとアップロードをしなければなりませんが、同サーバー内なので適当な場所にコピーを作ればよいだけです。ダウンロードとアップロードは結構時間がかかるので、それだけで済むのはありがたいことです。
新ドメイン用の新しいデータベースの作成
新ドメインで使用する新しいデータベースを作成します。この作業はデータベースをそのまま使用する場合は必要の無いものです。
旧データベースの取得
phpMyAdminにアクセスし、旧データベースのページでエクスポートの項目へ移動します。基本的にいじる所は無いと思いますが、念のため
- 「DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT を追加」にチェック
- ファイルの保存をzip形式に変更
しています。「実行する」のボタンでデータベースがダウンロードできます。
新データベースの上書き
phpMyAdminのページのまま、今度は新データベースのページのインポートの項目に移動します。
上記の項目でダウンロードしたファイルを、今度はアップロードしてインポートします。これで上書きされました。
ファイルマネージャーでの変更
ファイルを保存しているフォルダの名前を、新しいドメインに設定したフォルダの名前に変更します。(必要ならばフォルダの場所も移動します)
フォルダ内のwp-config.phpの設定を変更します。ファイル内のdefine(‘DB_NAME’, ‘旧データベースの名前’);の旧データベース名を新データベース名に変更します。今回は必要ありませんでしたが、ユーザ名やMySQLのホスト名などで変更がある場合はこちらも変えておきます。
スクリプトで旧ドメインを全て新ドメインに置き換える
スクリプトDatabase Search and Replace Script in PHPを利用して旧URLを全て新URLに置き換えます。
WordPressでサーバ移行時にデータベース上のドメインを書き換える方法 via Webcre Archive
上記のリンク先を参考にさせていただきました。
スクリプトを使用したシンプルなやり方だと思いますが、「新旧URL入力の際に最後のスラッシュ(/)を入れない」あたりが間違えやすいかもしれません。
新しいドメインでサイトを開く
ページを開くと新ドメインでサイトにアクセスできます。これで完了です。