2026年6月2日
2026年6月2日
WP EngineからSiteGroundへWordPressを移行する手順と注意点
WP EngineからSiteGroundへの移行は、「SiteGround Migratorプラグインで丸ごと移す」か「WP Engineのバックアップを手動で移す」かのどちらかで進めるのが基本です。どちらの方法でも、WP Engine固有のファイルや設定(mu-plugins、wp-config.php、管理画面で設定したリダイレクト)を持ち込まないこと、DNSを切り替える前に新サーバーで表示を確認することが成功のポイントになります。この記事では、移行前の棚卸しから、2つの移行方法、DNS切り替え、移行後の確認までを順に解説します。
両社の管理画面の構成やメニュー名、プランごとの機能は変わることがあります。以下の手順は執筆時点(2026年10月現在)の一般的な流れとして読み、具体的な画面表記は各社の公式ドキュメントで確認してください。
移行前に棚卸ししておくこと
WP Engineはマネージドホスティングなので、WordPressの外側でサービスが肩代わりしている機能がいくつもあります。移行するとそれらは無くなるため、SiteGround側で代わりを用意する必要があります。作業を始める前に、次の項目を書き出しておきます。
- リダイレクト設定: WP Engineの管理画面(ユーザーポータル)で設定したリダイレクトルールは、WordPressのファイルにもデータベースにも含まれません。一覧を控えておき、移行後に
.htaccessやリダイレクト用プラグインで作り直します。 - キャッシュとCDN: WP Engineのページキャッシュや CDN はサービス側の機能です。SiteGroundでは、SiteGround Speed Optimizer プラグインやサーバー側のキャッシュ機能で代替します。
- ドメインとDNSの管理場所: DNSをどこで管理しているか(ドメイン業者、Cloudflare など)を確認します。WP EngineはメールのMXレコードを扱わないため、DNSの管理場所を変えない限り、メールの設定は通常そのままで構いません。DNSの管理場所ごと移す場合は、MXやTXT(SPF・DKIMなど)のレコードを漏れなく移します。
- PHPのバージョン: WP Engine側で使っているバージョンを確認し、SiteGround側でも同じか、プラグインが対応している範囲のバージョンを選びます。
- cron と外部連携: サーバー側の cron、外部サービスからの Webhook、IP アドレスで制限している API 連携がないか。移行するとサーバーの IP アドレスが変わるので、IP 許可リストを使っている連携は事前に更新の準備をします。
- サイズ:
wp-content/uploadsとデータベースの大きさ。大きいサイトほど、プラグインでの移行が時間切れになりやすくなります。
移行の前に両方でバックアップを取る
WP Engineではユーザーポータルからバックアップ(バックアップポイント)を作成し、ダウンロードできます。移行作業の直前に新しいバックアップを作成し、手元にも保存しておきます。万一移行先で問題が起きても、元のサイトはDNSを切り替えるまで動き続けるので、慌てずに済みます。
移行期間中は、コメントや注文、会員登録など、データベースが書き換わる操作をできるだけ止めておきます。移行後に増えた差分を手で反映するのは手間がかかるためです。ECサイトなら、アクセスの少ない時間帯に作業時間を設けて告知しておくと安全です。
方法1:SiteGround Migratorプラグインで移す
SiteGroundが公開している「SiteGround Migrator」プラグインを使う方法です。WordPress.orgで配布されている公式プラグインで、移行元にインストールして、SiteGround側で発行した移行用トークンを入力すると、ファイルとデータベースをまとめて転送します。
- SiteGroundの管理画面(Site Tools)でサイトを作成し、WordPressの移行ツールから移行用トークンを発行する。
- WP Engine上のWordPressに SiteGround Migrator をインストールして有効化する。
- プラグインの画面にトークンを貼り付け、移行を開始する。
- 完了すると、SiteGround側で確認用の一時的なURLが案内されるので、そこで表示を確認する。
手軽な反面、サイトが大きい、移行元のサーバー設定と相性が悪いなどの理由で途中で止まることがあります。その場合は無理に繰り返さず、方法2の手動移行に切り替えます。トークンは移行が終わったら使わないものなので、第三者と共有しないでください。
方法2:WP Engineのバックアップを手動で移す
1. バックアップのZIPを展開する
WP Engineからダウンロードしたバックアップには、wp-content 一式とデータベースのダンプが含まれています。ダンプは wp-content 直下の mysql.sql という名前で入っていることが多いですが、構成は変わる可能性があるので、展開後に中身を見て確認してください。
2. WP Engine固有のファイルを除外する
ここが手動移行で最も大事な手順です。WP Engine の環境用に追加されたファイルを持ち込むと、移行先でエラーや不要な処理の原因になります。
wp-content/mu-plugins/内の WP Engine 用ファイル(名前にwpengineなどを含むもの、ホスティング会社が配置したもの)。自分で作った mu-plugin だけを残します。wp-content/advanced-cache.phpとwp-content/object-cache.phpなどのドロップイン。どのプラグインやサービスが置いたものかを確認し、WP Engine のものであれば持ち込みません。wp-config.php。WP Engine 固有の定数や設定が含まれているため、流用せず SiteGround 側で新しく作ります。
迷ったファイルは削除せず、別のフォルダに退避して移行後に必要か判断します。
3. ファイルとデータベースを入れる
SiteGround側で空のWordPressを用意し(データベースも作成される)、wp-content をSFTPまたはSSHで転送します。データベースは phpMyAdmin で取り込むか、SSHで接続して WP-CLI を使います。
# SiteGround に SSH 接続した先での例(パスは自分のサイトに合わせる)
cd ~/www/example.com/public_html
wp db import ~/mysql.sql
取り込む前に、ダンプ内のテーブル接頭辞(wp_ など)を確認し、SiteGround 側の wp-config.php にある $table_prefix を同じ値にそろえます。ここがずれていると、インストール画面が表示されたり、データが見えなかったりします。
4. URLを置き換える(必要な場合だけ)
本番で独自ドメインを使っていて、移行後も同じドメインで公開するなら、URLの置き換えは不要です。WP Engineの一時ドメイン(xxx.wpengine.com など)で作業していたサイトや、ドメインを変える場合だけ置き換えます。
# まず --dry-run で件数を確認してから実行する
wp search-replace 'https://example.wpengine.com' 'https://www.example.com' --all-tables --dry-run
wp search-replace 'https://example.wpengine.com' 'https://www.example.com' --all-tables
wp search-replace はシリアライズされたデータの長さも調整するので、SQLファイルをエディタで一括置換するより安全です。
DNSを切り替える前に新サーバーで確認する
DNSを切り替える前に、手元のパソコンの hosts ファイルで、自分のドメインだけを SiteGround の IP アドレスに向けて確認します。こうすると、訪問者には旧サーバーを見せたまま、新サーバーの表示を本番と同じドメインで確かめられます。
# hosts ファイルの例(IPはSiteGroundの管理画面に表示されるものに置き換える)
203.0.113.10 example.com
203.0.113.10 www.example.com
この状態で、トップページ、投稿、固定ページ、管理画面へのログイン、フォームの送信、ECなら商品ページとカートまでを確認します。パーマリンクが404になる場合は、管理画面の「設定」→「パーマリンク」で何も変えずに保存すると、.htaccess のルールが書き直されて直ることが多いです。確認が終わったら hosts ファイルの記述を消します。
DNSの切り替えとSSL
DNSの切り替えは、反映待ちの時間を短くするために、数日前から該当レコードの TTL を短めにしておくとスムーズです。準備ができたら、Aレコード(または CNAME)を SiteGround の指定する値に変更します。
SSL証明書は、SiteGroundの管理画面から Let's Encrypt の証明書を発行できます。発行にはドメインが SiteGround を向いている必要がある場合が多いため、DNS切り替え後すぐに発行し、HTTPS で表示できることを確かめます。発行までの短い間に証明書の警告が出る可能性があるので、切り替えはアクセスの少ない時間帯に行います。
WP Engine側の契約は、新サーバーで数日問題なく動くことを確認してから解約します。DNSの反映には時間差があり、しばらくは旧サーバーにアクセスが届くこともあるためです。
移行後に見直すこと
- キャッシュ: SiteGround Speed Optimizer を入れる場合、ほかのキャッシュ系プラグインと機能が重ならないようにします。キャッシュ系を二重に有効にすると、表示崩れや更新が反映されない原因になります。
- セキュリティ: SiteGround Security プラグインなど、移行先で使うセキュリティ対策を決め、WP Engine で任せていた部分(ログイン試行の制限など)を補います。
- リダイレクト: 棚卸しで控えたルールを作り直し、旧URLが正しく転送されるか確認します。
- メール送信: フォームの通知メールが届くか確認します。届かない場合は、SMTP 送信用のプラグインと送信ドメイン認証(SPF・DKIM)の設定を見直します。
- Search Console: サイトのURLが変わらない移行なら、特別な手続きは通常不要です。移行後しばらくはカバレッジやクロールエラーの増減を見ておきます。
まとめ
- 移行前に、WP Engine側で肩代わりしていた機能(リダイレクト、キャッシュ、CDN)と DNS・メールの管理場所を書き出しておく。
- まずは SiteGround Migrator を試し、止まる場合はバックアップからの手動移行に切り替える。
- 手動移行では WP Engine 固有の mu-plugins、ドロップイン、wp-config.php を持ち込まない。
- hosts ファイルで新サーバーを確認してから DNS を切り替え、SSL を発行する。
- 旧サーバーの解約は、新サーバーで安定して動くのを確認してから。