Let's create! WordPressサイト制作とメンテ/エラー対応から、PHP/CSS/javascriptプログラミング、動画・音・イラスト等制作まで扱うコラム

【WordPress別サーバー引っ越し】SQLエクスポート/インポート&Redirectionプラグインを使った方法

更新: 2024/02/10 3928文字

【WordPress別サーバー引っ越し】SQLエクスポート/インポート&Redirectionプラグインを使った方法

今回は、WordPress別サーバー引っ越しについてです。管理人が以前『スターサーバーで無料WordPress使えるプランがあった』ということでテスト用にサイトを作りましたが、プラン終了がアナウンスされた模様です。サーバー引っ越しが必要になったので、サクッとやってみました。さっそく、手順を確認していきましょう。

引っ越しが必要になった経緯→無料ホスティングによくある『プランの提供終了』

引っ越しが必要になった経緯→無料ホスティングによくある『プランの提供終了』 WordPress別サーバー引っ越しが必要になった経緯は『プランの提供終了』でした。管理人がテスト用に作った『スターサーバーフリーWPプラン』のサイトですが、こちらのプランが提供終了になったということでメールが来ました。

無料ホスティングサービスには良くあることなので、こういうリスクは押さえておくと良いと思います(プランが完全終了した後はサイトが見れなくなる)。

アナウンスを読んだところ、 『2022年3月31日正午をもってプラン提供を終了・サイトへのWebアクセスを停止』 『2022年9月30日(金)正午まで、サーバーへのFTP接続・データベースのバックアップ機能が使える』 ということだったので、忘れないうちにサイトの引っ越しをしてしまいます。

WordPress別サーバー引っ越しの下準備

新たにサイトをのせるサーバーを契約し、WordPressをインストールしておく

使っていたのがスターサーバーだったので『WordPress対応・無料フリーPHP+MySQLプラン』というのがありました。しかし『フリーだけあって容量少ない』『スマートフォンなどモバイルデバイス時、8秒間の広告表示が義務付けられている』というのがあったので、他の有料プランにすることにします。

スターサーバーの他プラン(オールSSD・ただしエコノミーはデータベースが無い)でもいいし、『ヘテムル・エックスサーバー・ロリポハイスピード』あたりだと、値段の割に速度や安定性が高いと思います。

サーバーを準備したら、『簡単インストール・手動インストール』などでWordPressをインストールします。状況によっては『新しく使うサブドメイン設定や、新サーバーへのドメイン紐付け(前使っていたドメインを使う場合)』も行ってください。

画像・テーマファイルなどをダウンロード・新サーバーにアップロードしておく

画像・テーマファイルなどをダウンロード・新サーバーにアップロードしておく あとは、旧サイトから画像をダウンロードし、新サーバーに同じパス・同じファイル名でアップロードします(/wp-content/uploads/)。記事が少ない場合は手作業でも十分対応できますが、『画像が1000枚以上』などのときは、FTPでダウンロード・アップロードが楽でした。

なお、『フォルダ名が2020とか、年・月になっている』のは、メディア設定で、『アップロードしたファイルを年月ベースのフォルダーに整理』にチェックをつけているからです。

同様にテーマもダウンロードし『/wp-content/themes/』に同じパス・同じファイル名でアップ。プラグインは管理画面から落とす感じにしました。カスタマイズを入れていなくて、設定は全部データベースに残っているからです。

phpmyadminや管理画面を使って、データベースSQLのエクスポート/新サイトインポートを行う

旧サイトからのSQLエクスポート

旧サイトからのSQLエクスポート 通常(または、管理画面からバックアップデータエクスポートができないとき)の方法です。phpmyadminを使って、SQLファイルを出力してみます。『該当のデータベースで、エクスポートタブ→フォーマットをSQL→実行』のように操作します。

管理画面からデータベースバックアップ また、今回はスターサーバー・フリーWPとのことだったので、『管理画面からデータベースバックアップ』を使っても大丈夫です。

ローカルにSQLファイルを保存 こんな感じで、ローカルにSQLファイルを保存しておきます。全テーブルを出力したので『WPやプラグイン設定(wp_options)・ユーザー情報(wp_users)・記事情報(wp_posts)・記事メタデータ(wp_postmeta)』などが全部入ります。

新サイト・phpmyadminで、SQLインポート

新サイト・phpmyadminで、SQLインポート 次は、事前に準備しておいた、新サイトの方のデータベースを設定します。インポートタブをクリックし、先ほどローカルに落としたSQLファイルをアップします。文字セットは、utf-8になっていたので、特に変更しませんでした。

新サイト・phpmyadminで、SQLインポート 下にスクロールして、フォーマットを合わせ、実行。各種テーブル内に、旧サイトの情報が反映されました。

設定・画像/ファイルパスなどの調整について

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を入れて対応しました。

あとがき・まとめ

  • スターサーバーフリーWPプランが提供停止になった。無料プランではこういうのはよくあるので、サイト引っ越しの必要が出てくる
  • 画像・テーマファイルなどをダウンロード・新サーバーにアップロードし、SQLエクスポート/インポートで、サックリ対応できる
  • 旧サイトのアドレスやファイルパスが残っている部分だけは直す
  • .htaccessファイルが使えないときは、Redirectionプラグインなどで対応

まとめると、このようなところでしょうか。サイトのサーバー引っ越しは、転送設定やファイル切れなど、気にする部分が多いですが、SQLエクスポート/インポートだと、設定などをまるまる移せるので、ミスる可能性が低くなります。 プラン終了以外でも、『サーバーをパワーアップさせて、より多くのユーザーに情報を届けたい』等の場合も、ぜひご検討ください。


【カテゴリ】- PHP
【タグ】- ,

関連記事