この記事では、Windows 上の App Service または外部ホスティング プロバイダーから App Service on Linux に WordPress を移行する 2 つの方法について説明します。
Note
コンテンツをテスト インスタンスに移行し、すべてのシナリオを検証し、すべてが期待どおりに動作する場合は、このインスタンスを運用スロットにスワップします。
Azure App Service でサイトを WordPress に移行するには、2 つの方法があります。
- WordPress プラグイン: オールインワン WP 移行
- 手動移行プロセス
オールインワン WP 移行プラグインを使用して WordPress を移行する
このプラグインは、サイトを簡単に移行するためによく使われます。 この方法は、256 MB 未満のサイトに推奨されます。 それ以上の場合は、プラグインの Premium バージョンを購入するか、手動移行プロセスで説明されている手順を使って手動で移行できます。
既定では、Linux App Services 上の WordPress のファイル アップロード サイズは 50 MB に制限されており、最大 256 MB (上限) まで増やすことができます。 ファイルのアップロード制限を変更するには、App Service で次のアプリケーション設定を追加して保存します。
アプリケーション設定の名前 | 既定値 | 新しい値 |
---|---|---|
UPLOAD_MAX_FILESIZE | 50 MB | 256M |
POST_MAX_SIZE | 128 M | 256M |
重要
ソースとターゲット両方のサイトにオールインワン移行プラグインをインストールします。
ソース サイトでデータをエクスポートする
- WordPress 管理ページを起動します。
- オールインワン WP 移行プラグインを開きます。
- [エクスポート] オプションをクリックして、エクスポートの種類をファイルとして指定します。
- バンドルをダウンロードします。
移行先サイトでデータをインポートする
- WordPress 管理ページを起動します
- オールインワン WP 移行プラグインを開きます
- 移行先サイトで [インポート] オプションをクリックして、前のセクションでダウンロードしたファイルをアップロードします
- W3TC プラグイン (またはその他のキャッシュ) でキャッシュを空にして、サイトの内容を検証します。
- 管理パネルの左側のサイドバーにある [Performance] (パフォーマンス) オプションをクリックして、W3TC プラグインを開きます。
- 次に、その下に表示される [Dashboard] (ダッシュボード) オプションをクリックします。
- ダッシュボードに、[Empty All Caches] (すべてのキャッシュを空にする) というラベルのボタンが表示されます。
手動移行プロセス
前提条件として、Linux Azure App Service 上の WordPress は、WordPress on Linux App Service から適切なホスティング プランで作成されている必要があります。
ソース サイトでデータを手動でエクスポートする
Note
コンテンツのサイズとインターネット接続によっては、この操作に数分かかる場合があります。
ソース サイトから wp-content フォルダーをダウンロードします。 FileZilla などの一般的な FTP ツールを使って、Web サーバーに接続し、コンテンツをダウンロードできます。
ソース データベースのコンテンツを SQL ファイルにエクスポートします。 このタスクは、HeidiSQL、MySQL ワークベンチ、PhpMyAdmin などの MySQL クライアント ツールを使って、またはコマンド ライン インターフェイスを使って実行できます。 データベースのエクスポートについて詳しくは、こちらのドキュメントをご覧ください。
移行先サイトでデータを手動でインポートする
WordPress on Linux App Service テンプレートを使って新しい WordPress アプリを作成します
Azure portal から WebSSH を使って SSH セッションを開きます。
次のコマンドを使って、/home/site/wwwroot/wp-content フォルダーの既存のコンテンツを削除します。
rm -rf /home/site/wwwroot/wp-content/*
ファイル マネージャーを使って、wp-content フォルダーの新しいコンテンツをアップロードします。 [Drag a File/Folder here to upload, or click to select one] (ここにファイル/フォルダーをドラッグしてアップロードするか、クリックして選択します) というラベルをクリックします。
既存の MySQL データベースを使うことも、App Service on Linux によって作成された新しい Azure MySQL フレキシブル サーバーにコンテンツを移行することもできます。
Note
Azure Database for MySQL - 単一サーバーは、2024 年 9 月 16 日までに廃止されます。 既存の MySQL データベースが Azure Database for MySQL - 単一サーバーでホストされている場合は、次の手順を使うか、Azure Database Migration Service (DMS) を使って、Azure Database for MySQL - フレキシブル サーバーに移行することを考えてください。
データベースを移行する場合は、ソース データベースからダウンロードした SQL ファイルを、新しく作成した WordPress サイトのデータベースにインポートします。 これは、<サイト名>.azurewebsites.net/phpmyadmin にある PhpMyAdmin ダッシュボードを使って行うことができます。 1 つの大きな SQL ファイルにできない場合は、ファイルをパーツに分けて、もう一度アップロードしてみてください。 phpmyadmin を使ってデータベースをインポートする手順については、こちらをご覧ください。
Azure Portal を起動し、[App Service] -> [構成] ブレードに移動します。 App Service の [アプリケーションの設定] でデータベース名を更新し、保存します。 これによりアプリが再起動され、新しい変更が反映されます。 詳細情報: WordPress アプリケーションの設定
アプリケーション設定の名前 更新が必要か Database_Name はい。ソースの (エクスポートされた) データベース名に置き換えます DATABASE_HOST 任意 DATABASE_USERNAME 任意 DATABASE_PASSWORD 任意
移行後のアクション
推奨されるプラグインをインストールする
これはオプションのステップです。サイトを移行した後、既定の推奨される、または同等のプラグインがアクティブ化され、以前と同じように正しく構成されていることを検証することをお勧めします。 ポリシーを管理する組織によって構成しないことを禁止されている場合は、プラグインをアンインストールできます。
W3TC プラグインがアクティブ化され、ローカル Redis Cache サーバーと Azure CDN/Blob Storage を使うように適切に構成されている必要があります (もともと、それらを使うように構成されていた場合)。 これらの構成方法について詳しくは、次のドキュメントをご覧ください。
WP Smush プラグインがアクティブ化され、画像の最適化のために適切に構成されている必要があります。 構成について詳しくは、画像の圧縮に関するページをご覧ください。
WordPress の推奨される設定
次のように WordPress を設定することをお勧めします。 ただし、ユーザーがカスタム サイトを移行する場合、これらの設定を使うかどうかを決めるのはユーザー次第です。
- WordPress 管理ダッシュボードを開きます。
- 固定リンクの構造を [day and name] (日と名前) に設定します。これにより、?p=123 という形式を使うプレーンな固定リンクと比べてパフォーマンスが向上します。
- コメントの設定で、コメントをページに分割するオプションを有効にします。
- フィードの投稿全体ではなく、抜粋を表示します。
検索と置換 (パスとドメイン)
ユーザーによる移行の間に発生する一般的な問題の 1 つは、古いサイトのコンテンツの一部で相対 URL やパスではなく絶対 URL またはパスが使われている場合です。 この問題を解決するには、Search and Replace などのプラグインを使って、データベース レコードを更新できます。
カスタム ドメインの構成
カスタム ドメインを使ってサイトを構成するには、既存のカスタム DNS 名のマップに関するチュートリアルで説明されている手順のようにします
カスタム ドメインの移行
ライブ サイトとその DNS ドメイン名を App Service に移行するとき、その DNS 名は既にライブ トラフィックを配信しています。 アクティブな DNS 名の移行に関する記事で説明されているようにして、アクティブな DNS 名をアプリにバインドすることで、DNS 解決のダウンタイムを回避できます。
SSL 証明書の更新
SSL 証明書を使ってサイトが構成されている場合は、TLS/SSL 証明書の追加と管理に関する記事に従って SSL を構成します。
次のステップ: .NET Web アプリの大規模な評価