【WordPress別サーバー引っ越し】SQLエクスポート/インポート&Redirectionプラグインを使った方法
| 更新: 2024/02/10 | 3928文字
今回は、WordPress別サーバー引っ越しについてです。管理人が以前『スターサーバーで無料WordPress使えるプランがあった』ということでテスト用にサイトを作りましたが、プラン終了がアナウンスされた模様です。サーバー引っ越しが必要になったので、サクッとやってみました。さっそく、手順を確認していきましょう。
目次
引っ越しが必要になった経緯→無料ホスティングによくある『プランの提供終了』
WordPress別サーバー引っ越しが必要になった経緯は『プランの提供終了』でした。管理人がテスト用に作った『スターサーバーフリーWPプラン』のサイトですが、こちらのプランが提供終了になったということでメールが来ました。
無料ホスティングサービスには良くあることなので、こういうリスクは押さえておくと良いと思います(プランが完全終了した後はサイトが見れなくなる)。
アナウンスを読んだところ、 『2022年3月31日正午をもってプラン提供を終了・サイトへのWebアクセスを停止』 『2022年9月30日(金)正午まで、サーバーへのFTP接続・データベースのバックアップ機能が使える』 ということだったので、忘れないうちにサイトの引っ越しをしてしまいます。
『スターサーバーフリー』「フリーWPプラン」「フリーWPプレミアムプラン」の提供終了のお知らせ
https://www.netowl.jp/news_detail.php?view_id=2887
WordPress別サーバー引っ越しの下準備
新たにサイトをのせるサーバーを契約し、WordPressをインストールしておく
使っていたのがスターサーバーだったので『WordPress対応・無料フリーPHP+MySQLプラン』というのがありました。しかし『フリーだけあって容量少ない』『スマートフォンなどモバイルデバイス時、8秒間の広告表示が義務付けられている』というのがあったので、他の有料プランにすることにします。
スターサーバーの他プラン(オールSSD・ただしエコノミーはデータベースが無い)でもいいし、『ヘテムル・エックスサーバー・ロリポハイスピード』あたりだと、値段の割に速度や安定性が高いと思います。
サーバーを準備したら、『簡単インストール・手動インストール』などでWordPressをインストールします。状況によっては『新しく使うサブドメイン設定や、新サーバーへのドメイン紐付け(前使っていたドメインを使う場合)』も行ってください。
画像・テーマファイルなどをダウンロード・新サーバーにアップロードしておく
あとは、旧サイトから画像をダウンロードし、新サーバーに同じパス・同じファイル名でアップロードします(/wp-content/uploads/)。記事が少ない場合は手作業でも十分対応できますが、『画像が1000枚以上』などのときは、FTPでダウンロード・アップロードが楽でした。
なお、『フォルダ名が2020とか、年・月になっている』のは、メディア設定で、『アップロードしたファイルを年月ベースのフォルダーに整理』にチェックをつけているからです。
同様にテーマもダウンロードし『/wp-content/themes/』に同じパス・同じファイル名でアップ。プラグインは管理画面から落とす感じにしました。カスタマイズを入れていなくて、設定は全部データベースに残っているからです。
phpmyadminや管理画面を使って、データベースSQLのエクスポート/新サイトインポートを行う
旧サイトからのSQLエクスポート
通常(または、管理画面からバックアップデータエクスポートができないとき)の方法です。phpmyadminを使って、SQLファイルを出力してみます。『該当のデータベースで、エクスポートタブ→フォーマットをSQL→実行』のように操作します。
また、今回はスターサーバー・フリーWPとのことだったので、『管理画面からデータベースバックアップ』を使っても大丈夫です。
こんな感じで、ローカルにSQLファイルを保存しておきます。全テーブルを出力したので『WPやプラグイン設定(wp_options)・ユーザー情報(wp_users)・記事情報(wp_posts)・記事メタデータ(wp_postmeta)』などが全部入ります。
新サイト・phpmyadminで、SQLインポート
次は、事前に準備しておいた、新サイトの方のデータベースを設定します。インポートタブをクリックし、先ほどローカルに落としたSQLファイルをアップします。文字セットは、utf-8になっていたので、特に変更しませんでした。
下にスクロールして、フォーマットを合わせ、実行。各種テーブル内に、旧サイトの情報が反映されました。
設定・画像/ファイルパスなどの調整について
WordPress アドレス・サイトアドレスを新サイトのurlに直す
上記の方法では旧サイト情報が全部入りますが、wp_optionsテーブル『siteurl/home』の値が、旧サイトのままです。このままでは新しいurlでサイトを見られなくなるので、新しいurlに直します。
画像・ファイル・内部リンクを新サイトurlで表示できるように
あと、気をつけたいのが『記事内の画像や音声などの添付ファイル・内部リンク』です。旧サイトが残っているうちは良いんですけど、サービス停止で旧サイトデータが消えたとき、『ファイルを旧サイトから読み込んでた』という場合は、ファイルのリンク切れや、画像が表示されない状態を起こしてしまいます。
『https://旧サイトドメイン/wp-content/uploads』の形式で記事内に入っている場合は、書き換えるか『/wp-content/uploads』の形式に直してやる必要があります。
プラグインで一括置き換えもできるんですけど(少し重い)、サクラエディタで『旧サイトのurlを検索し、空の状態に置き換える』というのをやってみました。(少しめんどくさいけど、記事をすべて確認して、ファイルリンク切れが無いかチェックする、というのも含んでいます。)
置換前の入力欄に、旧サイトのアドレス(例でこのサイトのアドレスになっています)を入れて、『すべて置換』を押します。画像が40枚くらいの記事のときは、手作業で入力するより早くておすすめです。
こんな感じで『/wp-content/uploads/〇〇』の形式になります。あとはショートカットキーでコピペ。
新サイトアドレスに対して、リダイレクトするように設定する
(一般的な方法).htaccessファイルで
パーマリンクやカテゴリ構造などもすべて同じで入ったので、ドメインの部分だけ新サイトに『Redirect permanent(301,恒久的なリダイレクト)』で飛ぶようにします。一般的には、この方法で行うことが多いと思います。
しかし、フリーWPプランでは、FTPで『テーマやアップロードファイルが入っている階層』までしか入れなかったので、ほかの方法も考えてみましょうか。
Redirectionプラグインを使って、新しいurlに転送する
リダイレクト系の動作をするプラグインと言えば『Redirection』がおなじみです。.htaccessファイルを操作しなくてもよく、パーマリンク・スラッグ変更などのルールにも対応できます。
今回は、パーマリンク・スラッグは一緒で、ドメイン部分だけが変わるので、『サイト』タブの『サイトを引っ越し』に、新サイトurlを入れて対応しました。
Redirectionプラグイン(WordPress公式)
https://ja.wordpress.org/plugins/redirection/
あとがき・まとめ
- スターサーバーフリーWPプランが提供停止になった。無料プランではこういうのはよくあるので、サイト引っ越しの必要が出てくる
- 画像・テーマファイルなどをダウンロード・新サーバーにアップロードし、SQLエクスポート/インポートで、サックリ対応できる
- 旧サイトのアドレスやファイルパスが残っている部分だけは直す
- .htaccessファイルが使えないときは、Redirectionプラグインなどで対応
まとめると、このようなところでしょうか。サイトのサーバー引っ越しは、転送設定やファイル切れなど、気にする部分が多いですが、SQLエクスポート/インポートだと、設定などをまるまる移せるので、ミスる可能性が低くなります。 プラン終了以外でも、『サーバーをパワーアップさせて、より多くのユーザーに情報を届けたい』等の場合も、ぜひご検討ください。
【カテゴリ】- PHP
【タグ】- URLの転送, WordPress