エックスサーバーには「WordPress簡単移行」という機能があり、移行元に設置されているワードプレスのファイルとデーターベースを自動的にコピーすることができる機能があります。
エックスサーバーのマニュアルには他社サーバーで運用中のWordpressを自動的にエックスサーバーへ移行できます、と書いてありますが、今回はエックスサーバーで運用中で、サブドメインにしたサイトをメインサイトへ移動してみます。
つまり、同ドメイン間のWPの移動に使えるか、ということです。
まぁ、考え方としてはサブドメインはフォルダ分けされているわけですから、WPのインストールフォルダをサブディレクトリフォルダということにして、index.phpと.htaccessの設定でできそうな気もしますが、お試しという意味も含めて、試してみたいと思います。
やりたいこと
・サブディレクトリに入っているWP(sub.hogehoge.net)をトップドメインにしたい(www.hogehoge.net)、www.hogehoge.net/site内に入れた後、サイトアドレスをwww.hogehoge.netにする。
では、試してみます。
エックスサーバーのサーバーパネルにログインする
1.エックスサーバーのサーバーパネルにログインし、変更したいドメインを選択します。
メニュー内にある「wordpress簡単移行」をクリック。
2.移動元のWPのURLとユーザー名、パスワードを入力、移動後のURLも入力。
「確認画面へ進む」をクリックすると、一旦確認画面が出ますので、「移行を開始する」ボタンを押してスタートします。
すると、画面が切り替わってステータスが表示されます。
ドキドキ・・。この時、「PC・ブラウザ固まらないでくれー!」とか考えちゃいます。
エックスサーバー側で行われている作業なので、関係ないのですけど。
3.待つこと数分。データ移行が完了します。
体感的には2分くらいでステータスが100%になりました。早い・・
「確認」ボタンを押してみます。
「移行済みWordpress一覧」のところに移行後のURLと管理画面のURLが記載されています。
今回、インストールディレクトリを「site」としましたが、管理画面URLがWPインストールディレクトリではなく、トップディレクトリになっていたのが少し戸惑いました。
移行元のWPサイトはどうなっているのか?
気になったので、移行元のWPサイトはどうなっているのかアクセスしてみますと、普通に表示されました。
新しいWPもアクセスしてみますと、ちゃんと移行されていました。
移行というと、元のサイトは削除されて新しいサイトへ移動する、というようなイメージになりますが、複製、ですね。これは。
したがって、大本のサイトは後程削除しなければなりません。
じゃないとミラーサイトになっちゃうんじゃないかな?(今回はページ数も少なく、大したサイトではないのだけれど)
移行後のWPの管理画面をクリックしたら404になっていた
先ほどお伝えしたように、エックスサーバーの移行後に出た「移行済みWordpress一覧」表示に、「管理画面URL」がサブディレクトリになっていない、というのが気になったんですが、そのままクリックしたら404画面が出ました^^;
上の画像の赤く囲った箇所。
エックスサーバーが「管理画面はこちらですよー」とお伝えいただいているURLをクリックすると・・・
404画面が見事に出ました^^;
そりゃ、そうですよね?
設定上はサブディレクトリにしたのだから、勝手に管理画面URLがトップディレクトリに行くわけない。
試しに
https://hogehoge.net/site/wp-admin/にアクセスしたら、出ましたよ、管理画面。
なので、もしエックスサーバーでWordpress簡単移行をした後、管理画面に入れないよー!と焦っても心配いりません。
冷静に移動したディレクトリに/wp-admin/を追加してアクセスしてみてください。
ここまでの作業で、エックスサーバーでエックスサーバー内、同ドメイン内でのWP移行も管理画面から簡単にできる、ということが分かりました。
お次はWordpressアドレスとサイトアドレスの変更作業です。
今回はドメイン/site/にWPを移行しましたが、このサイトのURLをトップディレクトリにしたいと思います。
この作業はWPでサイトを作るなら、結構する作業ですが、なかなか覚えられません^^;
1.ダッシュボードから「一般設定」に進む
サイトのタイトルやURLを設定する画面です。
エックスサーバーでWordpress簡単移行をしたサイトですが、ここのURLもご丁寧に変更してくれています。
今回は
WordPressアドレスをhttps://hogehoge.net/site
とWPをインストールしたURLそのままに、
サイトアドレスをhttps://hogehoge.net/ と
トップディレクトリに設定します。
WPでは、サイトアドレス欄の下にご丁寧にリンクが貼られていますので、そこをクリックすると、Wordpresscodexの説明ページが表示されますので、その手順に従って進めて行きます。
2.サイトアドレスを変更する
サイトアドレス(URL)の欄の
https://hogehoge.net/site を https://hogehoge.net/ に変更し、保存をします。
3.FTPでつなげて必要ファイルをダウンロード&アップロード
index.phpと.htaccessファイルを一旦ダウンロード。
この際、先にルートディレクトリに.htaccessが存在する場合、サブディレクトリにあった.htaccessを上書きしてしまうと、サイトが表示されなくなる恐れがあるため、ルートディレクトリの.htaccessもダウンロードし、バックアップを取っておく。
4.ダウンロードしたindex.phpを改編する
WordPress codexの説明では、なぜか一旦index.phpをルートディレクトリへコピーさせていますが、結局は変更する必要があるので、先にやっちゃいます。
テキストエディタでindex.phpを開き、
修正前:
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
修正後:WordPress コアファイルの新ディレクトリ名を使います。
require( dirname( __FILE__ ) . '/wp/wp-blog-header.php' );
として、保存する。
また、.htaccessに関しては、私の場合はルートディレクトリに既に.htaccessがあるため、サブディレクトリにあったものと内容を比較し、異なる部分だけ変更することにします。(ベースは最初からルートディレクトリにあった.htaccess)
要は
# 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
この部分が、
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /site/index.php [L]
</IfModule>
# END WordPress
になっていれば良いと思います。
※赤文字部分が異なる部分。siteはあくまで私の例。
5.index.phpと.htaccessをルートディレクトリにアップロード
改編した両データをルートディレクトリにアップロードします。
※何かあったときに元に戻せるように改編前のデータも必ず取っておきましょう。
6.WPに再度ログインしてパーマリンクを更新する
新しい方のWPのダッシュボードに戻り、「設定」→「パーマリンク設定」へ進み、一度「変更を保存」しておく
ここまでがWordpress codexに書かれた手順で、概ねURLの変更作業は済んだことになります。
ただし、私の場合は以下の手順も行っておきます。
7.一度以前のURLが残っていないか検索してみる
手動でリンクを貼った場合など、以前のURLが残っている可能性もありますので、旧URLで検索をします。プラグインの「Search Regex」を使うと検索→置換が一篇に出来るので便利ですし、WPの表に出ている検索ボックスなどでも検索をかけてみると、思いがけないところのURLの記載が拾えたりします。
ソース画面にして検索してみるのも手です。
8.動作確認が済んだら、以前のサイトから転送設定する
ミラーサイトにならないように、以前のサイトから転送設定をします。
プラグインの「Redirection」を使うと良いと思います。
ただ、わたくしの場合、今回変更したサイトは数ページしかない弱小サイトなので、削除してしまってもいいかなーと思っています。
ただ、次にご紹介するグーグルサーチコンソールにてURLの変更をする際に、転送設定してあるのが条件のようだったので、一旦転送設定をかまします。
全体の設定類や動作確認をした後、削除しちゃおうかなーと思っています。
9.グーグルアナリティクス、グーグルサーチコンソールの設定を変える
URLが変わったわけですから、アナリティクスの設定、サーチコンソールの設定も替えます。
また、ブログランキングなど各種設定したものも変更していきます。
結構、手間がかかる作業ですが、一通り作業が済んだら完了です!
コメント