【WordPress】ドメイン名を変更する方法
この度、WordPressサイトのドメイン名を変更したので備忘録として残しておきます。
具体的にはサブディレクトリ(○○○.com/△△△/)で運営していたWordPressを新規取得したドメイン「□□□.jp」に変更しました(「○○○.com」から「□□□.jp」の場合も同じ方法でできます)。
なお、サーバーはエックスサーバーで、サーバーの移転はありません。WordPressのバージョンは3.7.0です。
1.現在のWordPressサイトのバックアップ
WordPressでサイト移転やドメイン名を変更するときは必ずバックアップをとってください。
具体的には、データベースとWordPressフォルダ一式をバックアップします。
2.現在のWordPressサイトのアドレス変更を行う
バックアップが終了したら、現在のWordPressサイトにログインし、設定→一般で「一般設定画面」にいき、アドレス変更を行います。
- WordPressアドレス(URL)
現在のアドレス http://○○○.com/△△△/
↓
新アドレス http://□□□.jp - サイトアドレス(URL)
現在のアドレス http://○○○.com/△△△/
↓
新アドレス http://□□□.jp
この操作を忘れた場合、新ドメインにおいてWordPress管理画面にログインできなくなるという大ダメージを喰らいます。
この変更を行うと、直後に404エラーとなりますが、正常な動作なので心配する必要はありません(WordPressのアドレスを変更したので当たり前のことです)。
【補足】
なお、このアドレス変更でデータベースのどこが変わるのか?についてですが、「wp_options」の「siteurl」が変わります。
そのため、万が一設定ミス等があれば、phpMyAdminから「wp_options」の「siteurl」を元に戻せば良いです。
3.WordPressフォルダのアップロード
「1.現在のWordPressサイトのバックアップ」でバックアップしたWordPressフォルダ一式を新規ドメイン「□□□.jp」のルートフォルダにアップロードします。
この時点で、新規取得したドメイン「□□□.jp」のDNS設定(ここのサーバーで使うよ!っていう設定)が完了していれば、新規ドメインにアクセスしてみてください。
4.「.htaccess」の修正
「WordPressのドメイン変更可能だ~!トップページも表示されたしね♪」と舞い上がっておりましたが、
500 internal error
記事ページを見てみると見れない!!!なぜ?
いろいろ原因を探した結果、「.htaccess」が原因でした。
「○○○.com/△△△/」のWordPressフォルダにあった「.htaccess」は以下のようになっています(紫文字の部分はエックスサーバー独自のものです)。
赤文字部分に注目してください。
suPHP_ConfigPath /home/契約ID/○○○.com/xserver_php/
AddHandler x-httpd-php5.3 .php .phps
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /△△△/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /△△△/index.php [L]
</IfModule>
# END WordPress
当然サブディレクトリから「□□□.jp」に変更したので、階層が変わっています。なので上記赤文字部分を以下のように変更します(エックスサーバーの場合は、ピンク文字のとこも変更が必要です)。
suPHP_ConfigPath /home/契約ID/□□□.jp/xserver_php/
AddHandler x-httpd-php5.3 .php .phps
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
5.リダイレクト
これで完全にWordPressサイトのドメインを変更できたと思います。
しかし大事なことをしていません。それは元のURLから新規URLへのリダイレクトです。
これを行わないとSEO的な面で大ダメージでアクセス数が激減します。
なので元のドメイン「○○○.com」にある「.htaccess」に以下の1行を追加してあげます。
Redirect Permanent /△△△ http://□□□.jp
この一行で記事のURLやらアーカイブページのURLやらカテゴリーページのURLやら全部新ドメインの該当ページにリダイレクトされます。
あわせて読んでほしい!
コメント
2:管理人:2014/07/21 23:39:30
貴重なご意見ありがとうございます。
手順3はWordPressの管理画面へのログインは不要ですので、先に手順2にてWordPressサイトのアドレス変更を行いました。
しかし手順2でWordPressサイトのアドレス変更を行った場合、そこからはWordPressの管理画面にログインできなくなる&サイト自体の閲覧もできなくなるので、少しでもタイムラグを減らすためには手順3を先に行った方がいいかもしれません。
私は夜中の影響が少ない時間にドメインの変更を行ったので、記事のような手順を行いました。
3:名無しさん:2015/05/06 22:59:20
独自ドメインの設定がなかなか上手くいかなかったのですが、こちらのページを参考に「.htaccess」の修正とリダイレクトの手順でやっと設定が出来ました!
内容も凄く分かりやすくすんなり出来ました。
一度出来てしまえばこんなもんかって感じですね。
本当にありがとうございました!!
4:名無しさん:2015/06/17 18:55:20
今このブログを拝見して試しています。
状況は筆者様と全く同じでxserverを使用しており、既存のxserver.jpアドレスから独自ドメインへの移行にチャレンジ中です。
既にwordpressでサイトは構築しており、それをそのままxserver内で独自ドメインに移行したいと考えています。
そこで質問なのですがバックアップをとった「データベース」というものはどうするのでしょうか?インポートとかは必要なのでしょうか?
全くのド素人でございます。
どうかご教示お願い致します。
5:管理人:2015/06/17 23:49:22
「データベース」のバックアップは念のためのものなので、インポートは必要ありません。
WordPressの本体ファイルにある「wp-config.php」にデータベースへの接続情報が入っているので、記事の方法でWordPressのドメインを変更できると思います。
6:まさと:2016/04/25 22:27:46
このブログの情報にて無事に旧ブログサイトのコンテンツを新ドメインに移管できました。ありがとうございました。
私もXSERVERを利用していますが私の場合には旧ドメイン名はいずれ廃止してしまい、新ドメイン名のみで運用しようと思っています。今回新ドメイン上にはXSERVERの自動インストールでのWordPressインストールは実施しておらず、旧ドメイン配下のデータを新ドメイン配下にアップロードした状態なのですが、旧ドメインがなくなっても新ドメインだけで運用可能でしょうか?
新ドメインフォルダ配下にすべてのデータが存在しているので問題ないとは思っていますが念のためご見解をお教えください。(XSERVERのサーバーパネルからは新ドメインに対してWordPressはインストールしていないことになっているためサーバーパネルからダッシュボードにアクセスできないくらいであれば問題ないと思っています。)
以上よろしくお願いします。
7:管理人:2016/04/27 14:55:50
>旧ドメインがなくなっても新ドメインだけで運用可能でしょうか?
新ドメインでページが問題なく表示されていれば、旧ドメインがなくなっても運用可能なので安心してください。
>XSERVERの自動インストールでのWordPressインストールは実施しておらず
私もXSERVERの簡単インストール機能を使わずにWordPressを使っていますが、特に支障はありません。
8:まさと:2016/04/28 23:10:19
返信ありがとうございました。
安心しました。今後ともよろしくお願いいたします。
1:名無しさん:2014/07/15 1:03:57
手順の3番目というやつを先にやった方がいいのではないでしょうか?
ド素人ですが2番目を先にやって、ログインできず、
大変でした。