ワードプレス(WordPress)のドメインを変更するとなると、ワードプレスはデータベースが絡んでいるので、通常のHTMLサイトに比べるとだいぶハードルが上がります。
でも、何らかの理由があってどうしてもドメイン変更しなくてはいけない・・・。
しかも、サーバーも移転したい・・・。
ドメインは変更しなくていいんだけど、サーバーだけ移転したい・・・。
色々なやりたいことがあると思います。
そこで、私が実際に「ドメイン変更」と「サーバー移転」にトライしてみました。
前提条件
まずは、前提条件です。
◎ドメイン
(例)aaa.com → bbb.com
◎サーバー
(例)A社サーバー(移転元) → B社サーバー(移転先)
新しいドメインはすでに取得していて、ネームサーバーの設定も完了しており、新サーバーもすでに契約している前提でいきます。
移転元サーバーから「phpmyadmin」でデータベースをエクスポート
最初にやることは、移転元サーバーからデータベースをエクスポートすることです。
実は、いきなりここから初心者には意外とハードル高かったりします・・・。
まず、サーバーの管理画面にログインしてから、データベースの「phpmyadmin」にログインします。
エックスサーバーの場合なら、赤矢印の「phpmyadmin(MySQL5.5)」をクリックします。
すると、「phpmyadmin(MySQL5.5)」にログインするための「名前」と「パスワード」を求められます。
ちなみに、私はパソコンは「MacBook」、ブラウザは「Safari」を使っています。
この「phpmyadmin(MySQL5.5)」にログインするための「名前」と「パスワード」を知るためには、FTPソフトを立ち上げて「wp-config.php」ファイルを開く必要があります。
ちなみに、「config」はコンピューター用語では「設定」という意味で、初期設定として必要なデータが「wp-config.php」には書かれています。
「wp-config.php」をダウンロードして開くと、以下のような情報が書かれています。
- DB_NAME(WordPressのためのデータベース名)
- DB_USER(MYSQLデータベースのユーザー名)
- DB_PASSWORD(MYSQLデータベースのパスワード)
- DB_HOST(MYSQLのホスト名)
「phpmyadmin(MySQL5.5)」にログインするためには、2番目の「ユーザー名」と3番目の「パスワード」を入力します。
- 名前 → DB_USER(MYSQLデータベースのユーザー名)
- パスワード → DB_PASSWORD(MYSQLデータベースのパスワード)
「phpmyadmin(MySQL5.5)」にログインできました。
この画面、初めて見る人には「???」って感じだと思います。
でも、見慣れれば大丈夫です。
ここでは、左側のデータベース名をクリックします。(information_schemaの上)
ハードル高めの画面が続きますが、このページでは「エクスポート」タブをクリックします。
赤枠の「DROP TABLE / VIEW / PROCEDURE / FUNCTIONを追加」と「ファイルに保存する」にチェックを入れて、右下の「実行する」ボタンをクリックします。
これで、ワードプレスのデータベースがローカルにダウンロードされます。
記事数が多い場合は、ダウンロードに時間がかかるかもしれません。
ローカルに「データベース名.sql」というファイル名のデータベースがダウンロードされました。
これで移転元サーバーからのデータベースのダウンロードは完了です。
でも、まだまだ先は長いですが・・・
移転元サーバーから「wp-content」ディレクトリをダウンロード
移転元サーバーからデーターベースをダウンロードした後は、今度は移転元サーバーからワードプレスのコンテンツ部分をダウンロードします。
これはすごく簡単です。
FTPソフトで「wp-content」ディレクトリをまるごとダウンロードするだけです。
この「wp-content」ディレクトリの中身はこんな感じです。
覚えておくといいのは、以下の3つです。
- plugins(プラグインが入っているディレクトリ)
- themes(テーマが入っているディレクトリ)
- uploads(画像が入っているディレクトリ)
「languages」と「upgrade」はあまり気にしなくてOKです。
人によっては、「wp-content」ディレクトリのダウンロードもけっこう時間がかかるかもしれません。
画像が多い人は特にダウンロードには時間がかかります。
使っていないプラグインやテーマを事前に削除しておくのも1つの手です。
それと、念のため「.htaccess」 もダウンロードしておきましょう。
このままのファイル名だとダウンロードできないので、FTP内で「htaccess.txt」とリネームしてダウンロードします。
その後、FTPでアップロード後に「.htaccess」と元のファイル名に戻します。
移転先サーバーでワードプレスをインストール
さて、ここから移転先サーバーでの作業となります。これから使う新しいサーバーでの作業です。
すでに新しいドメインも設定済みという前提で進めていきます。
ワードプレスを新規ドメインにインストールするのですが、最近はどのサーバーでも「簡単インストール機能」が付いているので、特に問題ないかと思います。
ちなみに、月額1000円前後のレンタルサーバーでワードプレスを使うなら、エックスサーバーかMixHostがオススメです。
というのも、この2つのサーバーはWPに最適化されているのか、ページの表示速度がすごく早いからです。
ワードプレスサイトにありがちなもたつき感がありません。
プランは複数ありますが、一般の人がブログを運用する程度なら、上の2つのサーバーなら一番安いプランかその1つ上のプランで十分です。
ワードプレスを新規ドメインにインストールできたら、今度はこちらのデーターベースに入ります。
移転先サーバーから「phpmyadmin」でデータベースをインポート
さて、今度はこれから使う移転先サーバーでデータベースの「phpmyadmin」にログインして、先ほど移転元サーバーからダウンロードしたデーターベースファイル(データーベース名.sql)をインポートします。
先程、移転先サーバーにワードプレスをインストールしましたが、まずはFTPソフトで「wp-config.php」を開いて、データーベースの設定情報をチェックします。
先述した通り、ログインに必要な情報は「DB_USER(MYSQLデータベースのユーザー名)と「DB_PASSWORD(MYSQLデータベースのパスワード)」でした。
移転先サーバーにログインして、データベースの「phpmyadmin」をクリックします。
「phpmyadmin」にログインしたら、左側の「データーベース名」をクリック。
先程は移転元なので「エクスポート」でしたが、今度は移転先なので「インポート」をクリック。
このページで先程、移転元サーバーからダウンロードしたデーターベースファイルをインポートします。
「ファイルを選択」ボタンをクリックして、データーベースファイル(データベース名.sql)を選択します。
データーベースファイルがアップロードされたのを確認したら、ページ下の「実行」ボタンをクリック。
インポートが完了しました。
FTPソフトで「wp-content」を上書きアップロード
次に、先程、移転元サーバーからダウンロードした「wp-content」ディレクトリを、移転先サーバーでFTPソフトで上書きアップロードします。
これで、新サーバーにプラグインやテーマ、画像がアップできました。
ここまでの作業を再確認
ここで、一旦、今までの作業の流れをまとめますねっ!
- 移転元サーバーからワードプレスのデーターベースをエクスポート
- 移転元サーバーからFTPソフトで「wp-content」をダウンロード
- 移転先サーバーに新ドメインを設定
- 移転先サーバーの新ドメインにワードプレスをインストール
- 移転先サーバーで先程エクスポートしたデーターベースをインポート
- 移転先サーバーでFTPソフトで先程ダウンロードした「wp-content」を上書きアップロード
ここまでの作業で、新ドメイン(移転先サーバー)に旧ドメイン(移転元サーバー)の記事や画像がアップロードされていることに気づくはずです。
これだけ見ると、「やっとワードプレスのドメイン変更&サーバー移転が完了した」と思いがちなのですが、まだやらなければならない作業があります。
それは、データーベース内のドメイン名の変更です。
新ドメイン(移転先サーバー)を見てもらえば気づくと思いますが、各記事やサイドバーなどのリンク、画像のアドレスなどは旧ドメインのままのはずです。
新ドメイン(移転先サーバー)でワードプレスの管理画面にログインしようとしても、旧ドメインのログインページが表示されるはずです。
これは全て、データーベースファイル内のドメイン名が旧ドメインのままだからです。
なので、データーベースファイル内のドメイン名を旧ドメインから新ドメインに変更する必要があるのです。
「Database Search and Replace Script in PHP」でURL(ドメイン名)を新しいものに変更
データーベースファイル(データーベース名.sql)はテキストエディタで開いて、ドメイン名を一括変換しようと思えばできますが、この方法だと後々トラブルが発生することもあるので、「Database Search and Replace Script in PHP」を使って、データーベース内のドメイン名を変更します。
↑まずは、クリックしてページを開きます!
英語のサイトなので、「おっ・・・」と思うかもしれませんが、、このページでは右上の「DOWNLOAD」をクリックするだけです。
すると、「Search-Replace-DB-master」というディレクトリがダウンロードされます。
この「Search-Replace-DB-master」を移転先(新サーバー)のワードプレスがインストールされている箇所にFTPソフトでアップロードします。
そして、ブラウザで「http://ドメイン名/Search-Replace-DB-master/」を入力して、ページを表示します。
あなたの新ドメインが「aaa.com」なら「http://aaa.com/Search-Replace-DB-master/」をブラウザで開きます。
すると、こんなページが表示されます。
まず、「replace(search for…)」に「旧ドメイン」を入力します。
次に、「with(replace with…)」に「新ドメイン」を入力します。
「detabase」には「wp-config.php」を参照して、自動でデータがすでに入っているので、何もしなくてOKです。
「tables」も何もしなくてOK。
「actions」では「dry run」がテストとなり、何個くらいドメイン名が変更されるのかが分かります。
でも、これはテスト(予行演習)なので、この時点ではまだデーターベース内のドメイン名は変更されていません。
「live run」が本番なので、データーベース内のドメイン名を変更するには、「live run」ボタンをクリックします。
これで、データーベース内のドメイン名の変更が完了しました。
新ドメインでリンクや画像のアドレスが変更されているか確認してみて下さい。
旧ドメインから新ドメインに変更しているはずです。
この後、絶対に忘れちゃいけないことは、FTPソフトで「Search-Replace-DB-master」を削除することです。
じゃないと、いつか誰かにハッキングされるかもしれません。。
ワードプレス管理画面で調整
ここまでの作業が管理すれば、新ドメイン(移転先サーバー)のワードプレス管理画面にログインできるはずです。
旧ドメイン(移転元サーバー)で使っていたプラグイン「jetpack」がセーフモードになっていますが、新ドメインで新たに連携すれば、問題ありません。
ここまでくれば、ほぼ98%くらい完成なのですが、あとはワードプレス管理画面で「設定」をチェックしたり、「プラグイン」や「ウィジェット」を確認します。
リンクなども問題なければ、これで「ワードプレスのドメインの変更」と「ワードプレスのサーバーの移転」が完了です。
慣れるまでは大変かもしれませんが、慣れてくるとサクサクっとできるようになります。
ただ、使っているサーバーの仕様によっては、上手くできないこともあるかもしれません・・・。