WordPressサイトを別のサーバーなどに引っ越す際は、プラグインや引っ越しサービスを利用すると便利です。
しかし、事情があって手動でのWordPress引っ越しをしなければならないケースもあるでしょう。
手動でのWordPress引っ越しは、手間と時間はかかりますが手順通りにやれば失敗することはありません。この記事では、画像つきで引っ越し手順を説明しますので、参考にしてみてください。
旧サーバーでの作業
サーバー上のWordPress関連ファイルをすべてダウンロードする
FTPクライアントソフトを使って、WordPressを構成しているファイルをすべてダウンロードします。
ファイル数が多いため時間がかかる場合があります。
wp-config.phpの内容を書き換える
ダウンロードできたら、wp-config.phpという名前のファイルを探しましょう。このファイルには、WordPressで利用するMySQL(データベース)に接続するための情報が書かれています。
wp-config.phpをテキストエディタで開いてみると、以下のような記述があります。
// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** // /** WordPress のためのデータベース名 */ define('DB_NAME', 'ここにデータベース名'); /** MySQL データベースのユーザー名 */ define('DB_USER', 'ここにユーザー名'); /** MySQL データベースのパスワード */ define('DB_PASSWORD', 'ここにパスワード'); /** MySQL のホスト名 */ define('DB_HOST', 'ここにホスト名');
この部分を、新しいサーバーで使うデータベースの情報に合わせて書き換えておきます。
MySQLのデータをエクスポートする
MySQL(データベース)のデータをエクスポートするため、phpMyAdminにログインします。phpMyAdminへのログインのしかたは、サーバーによって異なるので分からない方は調べてみてください。
ログインしたら、旧サイトで利用しているデータベースの名前をクリックします。
続いて、上のツールバーから「エクスポート」をクリックします。
エクスポートの設定画面が出るので、「詳細」のラジオボタンを選択します。
続いて、エクスポートするテーブルを選択します。このデータベースを、引っ越ししたいWordPressサイトでしか利用していない場合は、全選択すればOKです。
別のWordPressサイトでも同じデータベースを利用しているなどで、別のデータも入っている場合は、引っ越したいWordPressサイトのデータのみを選択します。
どのテーブルが引っ越したいWordPressサイトのデータが分からない……という場合は、先ほど編集したwp_config.phpを開いてみましょう。以下のような記述があるはずです。
/** * WordPress データベーステーブルの接頭辞 * * それぞれにユニーク (一意) な接頭辞を与えることで一つのデータベースに複数の WordPress を * インストールすることができます。半角英数字と下線のみを使用してください。 */ $table_prefix = 'wp20201029071121_';
$table_prefix = '半角英数字の文字列';
の部分に注目してください。これは「データベーステーブルの接頭辞」として設定されています。つまり、この「半角英数字の文字列」の部分に書かれているものから始まるテーブルが、そのWordPressサイトで使われているテーブルということです。
WordPressで使われるテーブルの数は、インストールしてあるプラグインやテーマによって異なります。よく確認して、必要なテーブルをすべて選択しましょう。
少し下に「圧縮」という項目があるので、「zip形式」を選択します。
その他の項目は特に触る必要はありません。一番下へスクロールして「実行」をクリックすると、データベースの内容がzipファイルでダウンロードされます。
新サーバーでの作業
さて、ここまでできたら次は移行先での作業になります。
WordPress関連ファイルをアップロードする
先ほど、ダウンロードしたWordPress関連ファイルのすべてを、移行したいURLにアップロードします。
wp-config.phpも、書き換えたものをアップロードします。
MySQLのデータをインポートする
次に、MySQLのデータをインポートします。
移行先のphpMyAdminにログインし、上部のツールバーから「インポート」を選択します。
「アップロードファイル」から先ほどエクスポートしたデータを選択します。他の項目は触らなくても大丈夫です。最下部の「実行」をクリックすると、データがインポートされます。
ドメインを一緒に移行するなどで、WordPressサイトのURLに変更がない場合は、作業はここで終了です。サイトが間違いなく移行できたか、よく確認しましょう。お疲れ様でした!
WordPressサイトのURLが変更になる場合は、もう少しだけ作業が必要です。もう一息頑張りましょう。
サイトのURLが変わる場合に必要な作業
MySQL内の自分のサイトのURLを書き換える
MySQL内の、自分のサイトのURLが書かれている部分を、すべて新しいURLに書き換える必要があります。
しかし、手作業ではとても書き換えきれるものではありませんし、ミスも起こりやすいです。そこで、Database Search and Replace Script in PHPというツールを利用します。
ダウンロードサイトはすべて英語ですが、画像付きで解説しますので、手順通りにやってみてください。
このサイトを下へとスクロールすると「Download and/or Donate to Search Replace DB」という見出しと、名前やメールアドレスを記入する欄があります。ここに自分の名前やメールアドレスを記入して送信すると、ツールをダウンロードするためのリンクが送られてきます。
Risk Check:「私は開発者ツールの使用に伴うリスクを認識し、このスクリプトを公開サーバー上に残すべきではないことを受け入れます。」と書かれています。つまり、ツールを使用し終えたらすぐに削除してください、ということです。OKなら、チェックマークを入れてください。
Name:名前を入力します。
Email:メールアドレスを記入します。ここにダウンロード用のURLが送られてくるので、間違いなく受信できるものを入力しましょう。
Suggested donation:ツール自体は無料で利用できますが、気に入ったなら寄付をお願いします、というものです。デフォルトでは5ドルが設定されていますが、「Other or nothing」を選択すれば、無料でツールを手に入れることができます。
さらに下へスクロールして、赤いボタンをクリックすると、入力したメールアドレス宛てにメールが届きます。
「here」の部分のリンクをクリックすると、zipファイルがダウンロードされます。zipファイルを展開すると「Search-Replace-DB-master」という名前のフォルダができますので、これを移行先のWordPressサイトの入っている階層にフォルダごとアップロードします。
さらに、移行先のWordPressのURLの後ろに「Search-Replace-DB-master」をつけたURLにアクセスします。
すると、次のようなページが表示されます。
SearchReplace:置換したい文字列を記入します。左側のボックスに移行前のURL、右側のボックスに新しいURLを記入しましょう。
Database Details:データベースに接続するための情報を入力します。portは空欄で構いません。入力したら、「Test connection」ボタンをクリックしてデータベースに接続できることを確認します。
Which Tables?:置換を行うテーブルを選択します。基本的にはall tablesで大丈夫です。新しく使うデータベースにすでに他の情報が入っている場合は、select tablesを選択して、置換を行うテーブルを選択します。
Let’s go:「Do a safe test run」をクリックすると、置換を行うとどのテーブルが変更されるか等が確認できます。実際に置換を行う前に、こちらをクリックするのがオススメです。問題なければ「Search and Replace」をクリックすることで、URLの置換が始まります。
DELETE:「delete me」をクリックすると、サーバーからツールが削除されます。作業が全て無事に終わったことが確認できたら、クリックしてください。
全ての作業が終わったら、サイトにアクセスし、不具合やリンク切れなどの問題が起きていないことを確認して、終了です。お疲れ様でした!