ワードプレスサイトの引越方法
ドメイン名に合わせてサイト名は変更していますが、旧サイト「ワードプレスラボ」を丸ごと引越しましたので、 ついでにその方法も簡単に紹介してみようと思いました。
細かい部分は色々自分で設定し直す必要があるかもしれませんが、まぁ簡単に一括で引っ越しできる方法だけでも、実際に当サイトが行った方法を紹介していこうと思います。
サーバーはエックスサーバーを利用しています。
まずは下準備
必要な作業をざっくりと割ると、
- ドメイン取得とサーバーの用意
- サイト内のファイル
- データベース
- 各種設定
- コンテンツ内などのリンク編集
- Search Consoleへのサイトマップ登録
- 旧サイトからのリダイレクト
と言った感じでしょうか。一応実際に行った作業の順番通りに記載した筈です。
では、上から順番に見ていきましょう。
ドメイン取得とサーバーの用意
僕の場合だと、ドメインは「お名前.com」で取得し、サーバーは「エックスサーバー
」を利用していますが、これらは都合の良い環境を選んでも大丈夫な筈です。必要な作業は主にファイルとデータベースのコピーですので、FTPソフトとphpmyadminだけでも利用できれば問題ありません。
ドメインの取得が済みましたら、利用するサーバーのネームサーバーの設定を行います。これは既にお持ちのワードプレスサイトを始めた時に行っている作業だと思いますので、説明の必要はない筈です。
ただ、メールアドレスは引越し先のドメイン用に新しいものを作成しておきましょう。
FTPソフトでワードプレス全体のファイルをバックアップ
プラグインやアップロードしているメディアファイルなども含めると相当な量になると思いますが、ワードプレスサイト内のディレクトリ・ファイルを全てコピーする必要があります。
- wp-admin/~
- wp-content/~
- wp-include/~
- index.php
- などなど
がある部分で、引っ越ししたいサイトに関連するファイルは全てコピーします。
僕の場合、「FileZilla」を使いましたが、何度か処理が止まってしまって、全体をダウンロードし、新サイトにアップロードするのに随分と時間が要してしまいました。
phpMyAdminでデータベースをコピーして編集
サーバーの方は、同じサーバーを利用するのであれば、データベースをそのまま利用することもできますが、別の環境になった場合は同じサーバー上のデータベースに、前のサイトのデータベースをコピーします。
旧サイトが使用しているデータベースを「phpMyAdmin」でデータベースを丸ごとエクスポートします。日本語の場合は「SJIS エンコーディングへ変換する」にチェックが必要かもしれません。エクスポートするファイルは「sql」形式でも「zip」形式でも良いと思います。そして、これを新しいデータベースにインポートします。
これでデータベースが用意できたと思いますが、新しいデータベースにある「{prefix}_options」というテーブルを少し編集する必要があります。{prefix}のデフォルトは「wp_」ですので、ワードプレスをインストールする時に何も編集していなければ「wp_options」というテーブルが左側に表示されていると思います。
そして、テーブルを選択したら、上のタブを「表示」に切り替えます。そこで「option_name」というカラムに「siteurl」「home」という項目が確認できると思います。
ワードプレスはこれらの設定値へ自動的にリダイレクトするようになっていますので、これを新サイトのドメインに変更する必要があるんです。ええ、実はワードプレスサイトの管理画面の「設定」->「一般」ページで編集できる「WordPress アドレス (URL)」「サイトアドレス (URL)」はここに保存されているんです。
では、これを新しいドメインに変更しておきましょう。
また、「admin_email」という項目も新しい管理用のメールアドレスに変更しておきましょう。
各種設定
次に各種設定ですが、まず、管理画面にログインできるようになっていると思いますので、以前と同様の「ユーザー名」「パスワード」でログインします。
何をしなくちゃいけないかというと、実はパーマリンクの設定です。その理由は説明するより芋一度見た方が分かりやすいと思いますので、フロントページ以外で、投稿ページなどへ一度アクセスしてみるとよく分かると思います。ええ、ページが存在しない状態になっています。
ですので、管理画面から「設定」->「パーマリンク設定」ページへ移動し、以前と同じパーマリンク設定値になっていることを確認して「変更を保存」ボタンをクリックしましょう。
すると、さっき確認して表示されなかったページが復活している筈です。
ただ、僕の場合、固定ページの一部のページのデータが飛んでしまっていたのを確認しましたので、データベースをエクスポート・インポートしてコピーした場合、一部ページが破損してしまっている可能性があります。ええ、一度確認する必要があります。僕の場合は「寄付(Donations)」というページのデータが消えていて、タイトルとコンテンツ部分が削除されていました。まぁPayPalボタンを貼っただけの重要じゃないページだったんで良かったですんですが、重要なページは前のサイトの管理画面から該当するページを探して、コンテンツをコピペしておきましょう。
さて、恐らくこれで新しいワードプレスのURLにアクセスすると、以前と同様に表示されているんじゃないかと思います。一度試してみてください。
コンテンツ内などのリンク編集
各投稿ページなどにも、恐らく他のページへのリンクを張っている場合などが考えられますので、ここはプラグイン「Search Regex」でドメインを対象に一括編集してしまいましょう。
これ本当に便利です。旧ドメインを全ての項目を対象にして新ドメインへ一括編集できてしまいますから。
Search Consoleへのサイトマップ登録
まぁ一応ですが、忘れないように書いているだけですので、すっ飛ばしても問題ありません。
引っ越しとはいえ、ドメインから変更されているので、新しく登録し直す必要があります。
僕が引き継ぐ方法を知らないだけかもしれませんが、まぁクローラさんを召喚するのに便利なツールもありますから、一応サイトを追加してサイトマップも登録しておきましょう。
旧サイトからのリダイレクト
まず、一応各ページのURLの変更点がドメインだけだということを確認しておきましょう。
それから、旧サイトのルートにある「.htaccess」に以下のコードを追記します。
<Files ~ "^\.ht"> deny from all </Files> # 新サイト"http://your-new-domain.com/"への移転の場合 Redirect permanent / http://your-new-domain.com/
リダイレクト用のコードが生成できるページが有りましたので、他のコードもそちらで生成してみてはどうでしょうか。
ちなみに上のコードは「サイト全体の移転」を選択した場合のコードです。
これで各ページがそれぞれ新サイト上の各ページにリダイレクトしてくれるようになっている筈です。
その他の設定項目
実はちょっと失敗してしまったこともあって、それがプラグインの設定です。
何が問題だったかというと、プラグインにはプラグイン有効化によって読まれる独特のトリガーが用意されている場合など、上記の方法ではそのまま移転しても再設定する必要がある場合があります。ええ、恐らくデータベース上にある全体の設定値から「旧ドメイン」を検索して「新ドメイン」に編集する処理が必要だったのかもしれませんし、ディレクトリのパーミッションなどを要求するものもあります。
僕の場合、「Jetpack」と「EWWW Image Optimizer」が再設定の必要ありでした。
「EWWW~」は一度停止して削除、それから再インストールして有効化しました。ただ、「Jetpack」の方はサイトの移転によりデータを引き継ぐボタンが表示されていたんですが、ボタンがエラーとなってしまったので、最初から設定し直しました。
不安な場合はプラグインを全て一度更新してしまった方が良いかもしれませんね。
といった感じで、若干失敗してしまったんですが、概ね成功じゃないでしょうか。駄目?
追記(2017/02/08):やっぱりデータベースは編集の必要ありでした。REPLACEなどで各テーブルで使用されているドメインを新ドメインへ変更する必要があります。例えば、各ページのGUIDやメディアファイルのURLなども、スラッグからではなくドメインから保存されていますので、新ドメインに全て変更する必要があります。