簡単手順まとめ!xserverに建てたwordpressのドメイン変更!

2020/02/23

背景(最近やってたこと)

このブログのサーバーをOracle Cloudに移管する計画を立てていました。

Oracle CloudではAlways Free枠があり、その枠内であれば無料でサーバーが使えるのが魅力です。

しかしOracle Cloudに移管するにあたって、いくつかの心配事が発生します。
データの移動方法の勉強
・セキュリティ対策
・ネットワーク設定
・PV数が上がった時、スペックのスケールアップ方法
・障害への対応
などなど…

 

そんな心配はお金の力さえあれば不要でした。

そう、xserverを契約すれば。(訳:xserverに移管しました。)

 

xserverへwordpressを移管するのは拍子抜けするほど簡単で、
やり方を調べるまでもなくxserverのそれっぽいボタンを押して進めれば一瞬で終わりました。

そして、今なら契約完了でドメインが1個無料でした。
せっかくなので本ブログのドメインを変更することにしました。

ドメインの変更はそこそこ手順が多かったため、分かりやすく、簡潔にまとめます。

 

 

前提

この前提と同じ状況の人は全く同じ手順でドメイン変更が可能です。

・xserverでwordpressを構築している
・新ドメインを取得済み
・本文に出てくる fishcook.net は旧ドメイン。 ratelog.net は新ドメインのことです。

 

 

xserverにドメインを追加する

サーバーパネルのドメイン設定から、ドメインを追加します。

 

・「無料独自SSLを利用する」
・「高速化・アクセス数拡張機能「Xアクセラレータ」を有効にする」
は拘りが無ければチェックしたままで良いでしょう。

 

 

wordpressデータベースの移行

wordpressには記事のデータや、コメント情報などはデータベースに保管されています。
単なるファイルではないため、少し特殊な手順で移行する必要があります。

 

旧ドメインのデータベースをエクスポート

サーバーパネルのphpmyadminをクリックし、ID/PWを聞かれるのでデータベースのユーザー名とパスワードを入力します。
ユーザー名とパスワードはwp-config.phpに記載してあります。分からない場合はFTPからwp-config.phpの中身を確認しましょう。

 

エクスポートタブを開き、エクスポートの下準備をします。

「DROP TABLE / VIEW /PROCEDURE /FUNCTION /EVENT /TRIGGER コマンドを追加する」にチェック。

 

続いて、作成するクエリの最大長は1000に設定し、実行をクリック。

ダウンロードが始まるので、分かりやすいところにファイルを置きます。

 

新ドメイン用のデータベースを作成

サーバーパネルのMySQL設定をクリック。

 

MySQL追加タブを開き、MySQLデータベース名は適当な名前を付け、確認画面へ進んでデータベースを追加します。
文字コードは触らなくて良いでしょう。

 

新ドメイン用のデータベースをインポート

phpmyadminの画面から先ほど追加したデータベースがあることを確認する。

 

追加したデータベースをクリックし、インポートタブを開く。
先ほど旧ドメインからエクスポートしたデータベースファイルをアップロードする。
下のほうに実行ボタンがあるため押す。

 

 

wordpressデータの移行

ここからはSSHで作業します。

旧ドメインのwordpressデータを圧縮

cd fishcook.net

tar cvzf public_html.tar.gz public_html

 

圧縮したデータを新ドメインへ移動

mv public_html.tar.gz ../ratelog.net

自動生成のpublic_htmlは削除し、旧ドメインのデータを展開

cd ../ratelog.net

rm -rf public_html

tar zxvf public_html.tar.gz

データの中にある旧ドメイン文字列を、新ドメインの文字列に全置換

※このコマンドは失敗しないように慎重に行ってください。
もし失敗した場合はpublic_htmlを削除し、旧ドメインのwordpressデータ圧縮の箇所からやり直してください。

cd public_html
grep -rl 'fishcook.net' . | xartgs sed -i 's/fishcook.net/ratelog.net/g'

接続するデータベースの設定変更

vi wp-config.php

エディタが開くので、DB_NAMEの箇所を新ドメイン用のデータベースを作成で作ったデータベース名に変更します。

 

 

データベースの置換

データベース内には旧ドメインの文字列が残っており、
そのままだと記事内リンクが旧ドメインのアドレスになっていたりするため、置換する必要があります。
ただし、「エクスポートしてエディタで旧ドメイン名を置換して再度インポート」という手順ではダメです。
データベースの整合性が取れなくなるそうです。

データベースの整合性を保ちつつ、旧ドメイン名を置換するためには「Search and Replace for WordPress Database Script」というツールを使用します。

 

Search and Replaceのダウンロード

ダウンロード
https://interconnectit.com/search-replace-script-success-page/

リンクを開くと下記画像のような箇所があります。
3つのチェックボックスはセキュリティリスクに関する確認です。注意して読んでください。
チェックボックスを確認し、ほかの空欄も埋めればダウンロードリンクが入力したメールアドレスに届きます。
(※gmailだと迷惑メールに届いていました)

 

ダウンロードしたものを解凍し、FTPでpublic_htmlにコピー

コピー先は新ドメインのpublic_htmlフォルダ。

 

Search and Replaceで置換

https://[新ドメイン]/Search-Replace-DB-masterにアクセス。

 

ページが表示されたら下記のように操作します。

①→旧ドメイン名入力(置換対象)
②→新ドメイン名入力
③→データベース名入力(デフォルトで入っているものは旧ドメイン用のデータベース名になっていることがある)
④置換開始ボタン押下(①~③の内容を十分確認してから押してください)
⑤Search and Replaceを削除ボタン押下(Search and Replaceをそのままにしておくとデータベースを改変される可能性がありますので使い終わったら必ず削除しましょう)

 

 

ドメインの移行ができていることを確認

新ドメインのURLを入力し、最低限下記項目を確認する。

☑サイトが表示されること。
☑ログインページが表示できること。また、ログインできること。
☑記事が見れること。
☑記事に添付したメディアが表示されること。
☑固定ページが表示できること。
☑記事に添付した別記事へのリンクをクリックしてそのリンクへ飛べること。

これらがOKであればひとまずドメインの移行は完了です。

NGな場合。よくあるのが「データベース接続エラー」。
→データベース回りの手順を見直してください。特にwp-config.phpの設定は忘れがちです。

 

 

オプショナル作業

ドメインの変更作業はこれで完了です。

ただし、SEOを考えると他にも行ったほうが良い作業があります。

 

旧ドメインサイトのリダイレクト設定

こちらの記事をご覧ください。

ドメイン変更時の旧ドメインサイトからのリダイレクト設定

 

アナリティクスのドメイン変更

こちらの記事をご覧ください。

アナリティクスのドメイン変更設定方法

 

サーチコンソールのドメイン変更

こちらの記事をご覧ください。

サーチコンソールのドメイン変更

 

アドセンスのドメイン変更

こちらの記事をご覧ください。

アドセンスのドメイン変更

 

 

おわりに

ここまで作業お疲れ様でした!

ドメイン変更は手順こそ多いもののやってしまえば簡単です。

SEOの評価が落ちるので頻繁なドメイン変更は避けるべきですが、事情があってドメイン変更したい場合の参考になれば幸いです。

では。