🖥️ 移行パターン② 開発者向け URL置換が必須

WordPressローカル環境から
本番サーバーへの移行完全手順

XAMPP・Local by Flywheel・MAMPなどのローカル環境で制作したWordPressを本番サーバーへ公開する手順を完全解説します。サーバー間の移管と最大の違いはURLが localhost から本番ドメインへ変わることです。そのためデータベース内のURL一括置換が必須の作業になります。プラグインを使った方法と手動移行の両方を解説します。

難易度
⭐⭐⭐☆☆
所要時間
1.5〜3時間
ダウンタイム
なし(新規公開)
URL変更
あり(必須)
SEO影響
なし(新規)

📋 目次

⚠️ 1. ローカル→本番移行の特徴と必須作業

ローカル環境から本番サーバーへの移行は、URLが変わるという点でサーバー会社間の移管と大きく異なります。

🖥️ ローカル環境のURL
http://localhost/mysite/
または http://mysite.local
🌐 本番サーバーのURL
https://example.com/
本番ドメイン

WordPressのDBには記事本文・設定・ウィジェット・テーマ設定など多くの場所にURLが絶対パスで埋め込まれています。ファイルとDBを移すだけでは画像が表示されない・リンクが壊れる・管理画面にアクセスできない問題が発生します。必ずURL一括置換を行ってください。

⚠️ ローカル→本番移行で必須の追加作業:
  • DBの http://localhost/mysite/https://example.com/ に一括置換
  • wp-config.php のDB接続情報を本番サーバーのものに書き換え
  • SSL証明書の設定(本番でhttpsを使う場合)
  • 本番サーバーのPHPバージョン確認
💡 新規公開なのでダウンタイムゼロ:ローカル→本番は既存サイト移管ではなく新しく公開する作業です。本番サーバーにまだ誰もアクセスしていないため、DNS切り替えやhostsファイル操作は基本的に不要です。

🛠️ 2. ローカル環境ツールの比較・選び方

WordPressのローカル開発環境には主に3つのツールがあります。これからローカル開発を始める方の参考にしてください。

🚀Local by Flywheel初心者おすすめ

WordPress専用のローカル開発ツール。GUIのみで操作でき、ワンクリックでWordPressが起動。Live Linkでスマホ確認も可能。移行後の本番公開機能(Connect)も充実。

GUI操作のみ設定不要Windows/Mac対応
⚙️XAMPP

Apache・MySQL・PHPをセットでインストールできる老舗ツール。軽量で動作が速い。Windowsユーザーに人気。初期設定の手間がやや多め。

軽量設定の手間ありWindows向き
🍎MAMP

Mac専用に開発されたAMP環境。Macユーザーにとっては最も馴染みやすいツール。MAMP PROを使うと複数サイト管理が便利になる。

Mac向きPRO版は有料
ツール対象OS操作難易度WordPress専用無料
Local by FlywheelWindows / Mac★☆☆(やさしい)✓ 専用✓ 無料
XAMPPWindows / Mac / Linux★★☆(ふつう)汎用✓ 無料
MAMPMac(Windows版もあり)★★☆(ふつう)汎用基本無料(PRO有料)
💡 本ページの手順について:基本的にどのツールでも同じ手順で本番移行できます。ローカルのURLとファイルパスは各ツールで異なりますが、DB操作とファイルアップロードの考え方は共通です。

🔌 3. 【方法A】All-in-One WP Migrationで移行(おすすめ)

All-in-One WP Migrationを使えば、ローカル→本番移行もほぼ同じ手順で行えます。プラグインがURL置換も自動で処理するため、最も簡単な方法です。

1
ローカルWordPressにプラグインをインストール・エクスポート⏱ 5〜20分
1
All-in-One WP Migrationをインストール・有効化

ローカルWordPressの管理画面 → プラグイン → 新規追加 で「All-in-One WP Migration」をインストール・有効化します。

2
エクスポートを実行する

管理画面 → All-in-One WP Migration → エクスポート → 「ファイル」をクリック。.wpressファイルがPCにダウンロードされます。ローカルのURLは後でプラグインが自動置換します。

2
本番サーバーにWordPressをインストール⏱ 10〜20分
1
本番サーバーでドメイン設定・DB作成・WP仮インストール

本番サーバーの管理パネルから対象ドメインを設定し、DBを作成し、WordPressを簡単インストールします。

2
SSL証明書を発行する

本番サーバーで無料SSL(Let's Encrypt)を発行します。https://でアクセスできる状態にしておきます。

3
本番WordPressにインポートする⏱ 10〜30分
1
本番の管理画面にログインしプラグインをインストール

本番サーバーのWordPress管理画面にログインし、All-in-One WP Migrationをインストール・有効化します。

2
インポートを実行する

管理画面 → インポート → 「ファイル」から.wpressファイルを選択します。警告が出たら「開始」をクリック。インポート完了後「パーマリンク構造を保存する」を必ずクリックしてください。

3
ローカルのID・パスワードで再ログイン

インポート後はログイン情報がローカルのものに上書きされます。ローカルで使っていたユーザー名・パスワードでログインしてください。

💡 URL置換について:All-in-One WP Migrationはインポート時に自動でURLを置換します。ローカルのlocalhostのURLが本番ドメインに自動変換されるため、手動置換は不要です。
4
本番サーバーで動作確認⏱ 15〜30分

全ページ・画像・フォームが正常に動作することを確認します。特にSSL(https://)で鍵マークが表示されることを確認してください。

🔧 4. 【方法B】手動移行(FTP+phpMyAdmin)

512MBを超える大容量サイト、または移行をより細かく制御したい場合は手動移行を選択します。

1
本番サーバーの準備⏱ 20〜30分
1
本番サーバーにドメインを設定する

本番サーバーの管理パネルから公開するドメインを設定します。新規ドメインの場合はドメインのネームサーバーを本番サーバーに向けておきます。

2
MySQLデータベースを作成する

本番サーバーの管理パネルでMySQLデータベースとユーザーを作成します。DB名・ユーザー名・パスワード・ホスト名は必ずメモしてください(後でwp-config.phpに使用)。

3
SSL証明書を発行する

サーバーパネルからLet's Encryptの無料SSL証明書を発行します。発行後にhttps://でアクセスできることを確認してください。

2
ローカルのファイルをFTPでアップロード⏱ 30分〜数時間(容量による)
1
ローカルのWordPressフォルダを確認する

各ツールのWordPressファイルの場所:
・XAMPP(Windows):C:\xampp\htdocs\サイト名\
・XAMPP(Mac):/Applications/XAMPP/htdocs/サイト名/
・Local by Flywheel:~/Local Sites/サイト名/app/public/
・MAMP:/Applications/MAMP/htdocs/サイト名/

2
FileZillaで本番サーバーに接続してアップロード

FileZillaで本番サーバーのFTPに接続します。本番サーバーの公開フォルダ(通常 public_html/)に対して、ローカルのWordPressファイルを丸ごとアップロードします。

⚠️ wp-config.phpはこの段階でアップロードしない:wp-config.phpにはローカルのDB情報が書かれています。後のSTEP4で本番用に書き換えてからアップロードするか、アップロード後に上書き保存します。
3
DBをエクスポート→本番サーバーへインポート⏱ 10〜20分
1
ローカルのphpMyAdminを開きDBをエクスポート

XAMPP/MAMPなら http://localhost/phpmyadmin/、Local by Flywheelなら管理画面の「DATABASE」タブ→「ADMINER」を開きます。WordPressのDBを選択し「エクスポート」→「実行」で.sqlファイルを保存します。

2
本番サーバーのphpMyAdminを開き作成したDBにインポート

本番サーバーの管理パネルからphpMyAdminを開き、作成したデータベースを選択して「インポート」タブから.sqlファイルを読み込みます。「正常に実行されました」と表示されれば完了です。

4
wp-config.phpを本番用に書き換える⏱ 5〜10分

ローカルのwp-config.phpにはローカル環境のDB情報が書かれています。本番サーバーのDB情報に書き換えます。

1
ローカルのwp-config.phpをテキストエディタで開く

VS Codeなどのエディタで wp-config.php を開きます。以下の4項目を本番サーバーのDB情報に書き換えます:

/* ローカル環境の値(変更前)*/
define( 'DB_NAME',     'local_db_name' );
define( 'DB_USER',     'root' );
define( 'DB_PASSWORD', '' );
define( 'DB_HOST',     'localhost' );

/* 本番サーバーの値(変更後)*/
define( 'DB_NAME',     '本番のDB名' );
define( 'DB_USER',     '本番のDBユーザー名' );
define( 'DB_PASSWORD', '本番のDBパスワード' );
define( 'DB_HOST',     'localhost' ); // 多くの場合はlocalhostのまま
2
書き換えたwp-config.phpを本番サーバーにアップロード

FTPで本番サーバーのWordPressルートディレクトリにあるwp-config.phpを上書きアップロードします。

🚨 元のwp-config.phpはバックアップを取っておく:書き換え前のファイルを別名(例:wp-config-local.php)で保存しておくと、ローカルに戻す際に楽です。
5
データベース内のURLを一括置換する⏱ 5〜10分

これが最重要手順です。DBに記録されているローカルURLを本番URLに一括置換します。

方法①:Better Search Replace プラグイン(推奨)

1
本番の管理画面にログインしプラグインをインストール

この時点で本番サーバーにアクセスできることを確認。管理画面 → プラグイン → 新規追加 で「Better Search Replace」をインストール・有効化します。

2
テスト実行で影響件数を確認してから本番実行

ツール → Better Search Replace を開きます。
・「検索」:http://localhost/mysite(ローカルURL)
・「置換」:https://example.com(本番URL)
全テーブルを選択し、まず「ドライラン」にチェックを入れて件数確認。問題なければチェックを外して「値を置換」を実行します。

方法②:WP-CLI(上級者向け・サーバーSSHアクセス可能な場合)

wp search-replace 'http://localhost/mysite' 'https://example.com' --all-tables
💡 なぜ専用ツールが必要なのか:WordPressのDBにはPHPのシリアライズ形式(例:s:20:"http://localhost/...")で保存されたデータがあります。単純なSQL文での置換だとシリアライズデータが壊れてサイトが動かなくなります。Better Search ReplaceやWP-CLIはこれを正しく処理します。
6
動作確認・公開⏱ 15〜30分
1
パーマリンク設定を保存する

管理画面 → 設定 → パーマリンク設定 → 「変更を保存」をクリック。.htaccessが再生成され、URLが正常に機能するようになります。

2
全ページ・機能の動作確認をする

トップページ・記事・固定ページ・画像・フォーム・SSL(🔒マーク)を確認します。

3
Google Search Consoleにサイトを登録する

新規公開後はSearch ConsoleでサイトマップをGoogleに送信し、インデックスを促進します。

✅ 5. 移行後の確認チェックリスト

🌐 表示・動作

📊 外部連携・SEO

🔒 セキュリティ

🔨 6. よくあるトラブルと対処法

❌ 本番サーバーでサイトにアクセスすると「データベース接続確立エラー」が出る

wp-config.phpのDB接続情報が間違っています。DB_NAMEDB_USERDB_PASSWORDDB_HOST の4つを本番サーバーの正確な値に設定し直してください。DB_HOSTは多くのサーバーで localhost ですが、一部サーバーでは異なるホスト名が指定されている場合があります(サーバーパネルで確認)。

❌ 画面が真っ白になる(White Screen of Death)

PHPエラーが表示されていない状態です。wp-config.phpに以下を追記してエラーを表示させてください:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_DISPLAY', true );
原因が判明したら必ず false に戻してください。主な原因はDB接続エラー、プラグインの競合、PHPバージョンの不一致です。

❌ 移行後も画像がローカルURLのまま(画像が表示されない)

URL置換が正しく行われていません。Better Search Replaceで再度実行してください。ローカルURLのパターンが複数ある場合(http://localhost/http://localhost/mysite/ など)は、パターンごとに置換を実行してください。

❌ 管理画面にログインできない・無限リダイレクトになる

WordPressのサイトURLとWordPressアドレスがローカルURLのままになっている可能性があります。phpMyAdminで wp_options テーブルを開き、siteurlhome の値を本番URLに直接変更してください。URL置換後は解消されることが多いですが、置換前にログインしようとした場合に発生します。

❌ 「本番サーバーへのアップロードが遅すぎる」

ローカルに大量の画像がある場合はFTP転送に数時間かかることがあります。画像のみ wp-content/uploads/ フォルダを圧縮してからアップロードするか、本番サーバーのファイルマネージャーでzip解凍する方法が速いです。あるいはAll-in-One WP Migrationプラグインを使うとファイル転送が高速化されるケースもあります。

❌ 「検索エンジンにインデックスされていない」

ローカル開発時に「検索エンジンにサイトをインデックスさせない」設定がONになっていた可能性があります。WordPress管理画面 → 設定 → 表示設定 で「検索エンジンがサイトをインデックスしないようにする」のチェックをはずして保存してください。

❓ 7. よくある質問(FAQ)

Q. ローカルで使っていたテーマ・プラグインはそのまま本番でも使えますか?

はい、FTPでアップロードしたファイルにテーマとプラグインが含まれているため、そのまま本番でも使えます。ただし、ライセンス認証が必要な有料テーマ・プラグインは、本番ドメインで改めてライセンス認証が必要な場合があります。

Q. ローカルでWP_DEBUGをtrueにしていましたが、本番でも有効になりますか?

はい、wp-config.phpをそのまま移行するとデバッグモードが本番でも有効になります。本番公開前に必ず define( 'WP_DEBUG', false ); に変更してください。デバッグモードがONのままだとPHPエラーが一般ユーザーに表示されてしまい、セキュリティリスクになります。

Q. ローカルとサーバーのPHPバージョンが違う場合どうすればいいですか?

本番サーバーのPHPバージョンをローカルに合わせるか、両方でサポートされているバージョンに設定します。本番サーバーの方が新しいPHPバージョンの場合、古いプラグイン・テーマが非対応でエラーになることがあります。移行前に使用中のプラグイン・テーマの対応バージョンを確認してください。

Q. ローカルにはなかったメールサーバー機能が本番では必要です。

ローカル環境は通常メール送信機能がありません。本番公開後はフォームのテスト送信で実際にメールが届くか確認してください。WordPressのメール送信には通常サーバーのsendmail機能が使われますが、迷惑メールに入ってしまう場合はSMTPプラグイン(FluentSMTPなど)を使って確実にメール送信できる環境を整えることを推奨します。

Q. 本番公開後もローカルで開発を続けたいです。どうすればいいですか?

本番公開後は「本番→ローカルへの反映」という逆方向の移行も定期的に行うことで、ローカルと本番を同期できます。手順はほぼ逆で、本番のDB・ファイルをエクスポートしてローカルにインポートし、URLをlocalhostに置換します。All-in-One WP MigrationやDuplicatorはこの双方向の移行をサポートしています。

← 前のページ
サーバー会社間の移管
次のページ →
ドメイン変更を伴う移管