会員制ウェブサイトを移行する方法
John Turner
John Turner
メンバーシップサイトを新しいホストに移行するのは、通常のWordPressブログを移行するのとは異なります。
そうあるべきです。リスクが高いからです。
標準的なサイトの場合、主に壊れたリンクや画像が見つからないことを心配します。確かに迷惑ですが、修正可能です。
メンバーシップサイトの場合、アクティブなサブスクリプション、支払い記録、そして人々がお金を払ったユーザーアカウントを扱っています。
ここで一つ間違いを犯すと、ログインできないメンバー、失敗した支払い、あるいはもっと悪いことに、購入したコンテンツにアクセスできなくなったことによるチャージバックに対処することになります。
データベースは、ユーザーの関係、メンバーシップレベル、サブスクリプション開始日、支払いトークン、アクセスルールを管理しています。それらのデータはすべて、クリーンに転送され、以前とまったく同じように機能し続ける必要があります。
このガイドでは、適切な移行ツールの選択から、新しいホストでのすべての重要な機能のテストまで、メンバーシップサイトの移行方法を順を追って説明します。
あなたのサイトを安全に移行しましょう!
主なポイントは次のとおりです:
- Duplicator Proのような大規模データベースに対応した移行プラグインを使用してください。汎用プラグインは、サイズと複雑さのためにメンバーシップサイトでは失敗することがよくあります。
- DNSを切り替える前に、ホストファイルを介して新しいサーバーでサイトを徹底的にテストし、アクティブなメンバーへの影響を回避してください。
- サブスクリプションの請求失敗を防ぐために、移行直後に支払いゲートウェイのWebhook URLを更新してください。
- 本番稼働前に、テストアカウントを使用して、すべてのメンバーシップアクセスルール、ユーザーログイン、支払い処理を確認してください。
- 正しく行われた場合、ダウンタイムは最小限に抑えられます。古いサイトは、新しいサイトを構築してテストしている間、稼働したままです。
目次
メンバーシップサイトを移行する理由
現在のホスティング状況がうまくいかなくなったため、メンバーシップサイトを移行しています。
技術的な問題かもしれません。経済的な問題かもしれません。いずれにしても、現状維持はリスクを伴う移動よりもコストがかかるという段階に達しました。
パフォーマンスの低下
遅いメンバーシップサイトは、訪問者をイライラさせ、機能を損ないます。
サーバーが追いつくのに苦労すると、支払い処理が遅くなります。メンバーはチェックアウト中にタイムアウトを経験します。StripeやPayPalからのWebhookが時間内に過負荷のサーバーに到達できないため、定期的な請求試行が失敗します。
3秒を超えるページ読み込み時間はコンバージョン率に影響を与え始めます。5秒を超えると、販売しているものを見る前にメンバーを失います。
ホストの限界を超える
共有ホスティングプランで50人のメンバー? 通常は問題なく動作します。
500人のメンバー? それは無理があります。
メンバーシップが増えるにつれて、データベースサイズも増加します。 ログイン、ページビュー、サブスクリプションの更新のすべてがデータベースに書き込まれます。 wp_usersテーブルとwp_usermetaテーブルが肥大化します。
かつてミリ秒で完了していたクエリが、数秒かかるようになります。 ローンチ時には完璧に機能していた安価なホスティングプランがボトルネックになります。
より多くのCPU割り当て、より多くのRAM、そしておそらくMySQLのパフォーマンスチューニングを実際に知っている専用サーバーまたはマネージドWordPressホストが必要になります。
機能またはサポートの不足
WordPressサイトを気にしないホストもいます。
スペースは売ってくれますが、メンバーシッププラグインがサーバー構成と競合した場合、あなたは自分で対処しなければなりません。
更新をテストするためのステージング環境はありません。 サーバーレベルのキャッシュもありません。 MemberPressのことを聞いたこともないスクリプトを読んでいる誰かから返信されるサポートチケット。
より優れたホストは、本番環境にプッシュする前にプラグインの更新をテストできるステージングサイトを提供します。 WordPressのアーキテクチャを理解している専門サポートチームを提供します。
WP-CLIアクセス、Redisキャッシュ、CDN統合などのツールを提供します。 これらはビジネスを実行する上での要件です。
コスト削減
時には計算は単純です。
他の場所で月額80ドルでより良いパフォーマンスと機能を得られるのに、平凡なホスティングに月額200ドルを支払っています。
1年間で、ポケットに1,440ドルが戻ってきます。ウェブサイトの移行には週末と慎重なテストが必要かもしれませんが、ROIは即効性があります。
価格だけで追いかけないようにしてください。 トラフィックを処理できない安価なホスティングは、月額料金の節約よりも収益の損失でより多くのお金がかかります。
メンバーシップサイトの移行方法
これは、WordPressメンバーシップサイトを移行するために私が従うプロセスです。 収益を生み出すサイトを移動する際に必要な、慎重で意図的に注意深い方法です。
- 大規模サイト向けに構築された移行プラグインをインストールする:1GBを超えるデータベースを処理し、汎用プラグインではタイムアウトするものをDuplicator Proで使用します
- メンバーシップサイトをバックアップする:新しいサインアップやトランザクションを見逃さないように、トラフィックの少ない時間帯にバックアップを作成します
- 新しい移行先を準備する:新しいホストで完全な権限を持つMySQLデータベースとユーザーを作成します
- hostsファイルを更新する:メンバーのために古いサイトをライブに保ちながら、テストのためにドメインを新しいサーバーのIPにポイントします
- バックアップファイルを新しいサーバーにアップロードする:アーカイブとinstaller.phpをFTP経由で転送し、インストーラーを実行します
- 移行後にメンバーシップサイトをテストする:DNSを切り替える前に、ユーザーログイン、支払いウェブフック、コンテンツ制限、およびすべての重要な機能を確認します
大規模サイト向けに構築された移行プラグインをインストールする
汎用移行プラグインは、メンバーシップサイトでは失敗する傾向があります。
問題はデータベースサイズです。 通常のブログのデータベースサイズは50MB程度です。 数千人のユーザーがいるメンバーシップサイト? 500MB以上を試してください。
トランザクション履歴、サブスクリプションレコード、およびメンバーシッププラグインからのユーザーメタデータを追加すると、簡単に1GBを超えます。
ほとんどの共有ホスティング環境には実行時間の制限があり、通常は30〜60秒です。移行プラグインがデータベース全体を一度にパッケージ化しようとすると、その制限に達してタイムアウトします。
Duplicator Proはバックアップを異なる方法で処理します。カスタムバックアップファイル(DupArchive)があり、サイトをより小さなチャンクで処理し、タイムアウト制限を回避します。

データベースのエクスポートを管理可能なピースに分割し、その後、反対側ですべてを再組み立てします。これは、失うわけにはいかないメンバーデータを扱っている場合に不可欠です。
このプラグインは、2つの重要なバックアップファイルを作成します。サイト全体を圧縮したアーカイブ(.zipまたは.daf形式)と、installer.phpというインストーラースクリプトです。
これらのファイルは together、新しいサーバーでサイトを再構築するために必要なすべてを含んでいます。
メンバーシップサイトのバックアップを取る
このバックアップは2つの目的を果たします。まず、何か問題が発生した場合のセーフティネットです。次に、サイトを再構築するために使用する実際の移行パッケージです。
バックアップを作成する前に、サイトのトラフィックパターンを確認してください。MonsterInsightsのようなGoogle Analyticsプラグインがある場合は、最もトラフィックの少ない時間帯、通常はタイムゾーンの早朝を見つけてください。

その後バックアップを作成してください。これにより、バックアップの実行中に発生する新しいサインアップやトランザクションを見逃す可能性が最小限に抑えられます。
Duplicator Proでは、バックアッププロセスは簡単です。Backups » Add Newに移動します。

Localストレージの場所を選択します。完全なメンバーシップサイトを移行するには、Full Siteバックアッププリセットを選択してください。

スキャンを実行し、バックアップをビルドさせてください。

バックアップが完了したら、アーカイブファイルとinstaller.phpの両方のファイルをローカルコンピューターにダウンロードします。

新しい移行先を準備する
新しいホスティングプロバイダーに移行する場合、WordPressをインストールする必要はありません。サイトを移行すると、DuplicatorがWordPressをインストールしてくれます。
必要なのはデータベースです。ホスティングコントロールパネルにログインし、新しいMySQLデータベースを作成してください。覚えておける名前を付けてください。

強力なパスワードを持つデータベースユーザーを作成します。

作成したデータベースにそのユーザーを割り当て、すべての権限を与えます。

3つのことを書き留めてください:データベース名、データベースユーザー名、パスワードです。これらは数分後に必要になります。
データベースホストもメモしてください。通常はlocalhostですが、ホストによっては異なるアドレスを使用する場合があります。
ホストファイルを更新する
コンピューターのhostsファイルは、テスト目的でDNSをオーバーライドできます。ドメインのネームサーバーを実際に変更することなく、ドメインを新しいサーバーのIPアドレスに向けることができます。
これにより、古いサイトが稼働してメンバーにサービスを提供し続ける間、新しいサイトを完全にテストできます。
hostsファイルの場所はオペレーティングシステムによって異なります:
- Windows: C:\Windows\System32\drivers\etc\hosts
- Mac/Linux: /etc/hosts
管理者権限で開きます(変更を保存するには管理者権限が必要です)。一番下に新しい行を追加します。
123.456.789.101 yourdomain.com
このIPアドレスを新しいサーバーのIPアドレスに置き換えてください。ホストから提供されます。通常はウェルカムメールまたはコントロールパネルに記載されています。yourdomain.com を実際のドメインに置き換えてください。
ファイルを保存します。これで、そのコンピューターのブラウザーにドメインを入力すると、古いサーバーではなく新しいサーバーにアクセスできるようになります。
心配いりません。世界中の他の人はまだ古いサイトを見ているので、メンバーが中断されることはありません。
バックアップファイルを新しいサーバーにアップロードする
FileZillaのようなFTPクライアントを使用して新しいサーバーに接続します。ホストから提供されるFTP認証情報(通常はFTPユーザー名、パスワード、ホスト名)が必要です。
サイトが配置される空のディレクトリに移動します。アーカイブとinstaller.phpの両方のファイルをアップロードします。

アップロードが完了したら、ブラウザーを開き、yourdomain.com/installer.php にアクセスします。hostsファイルを正しく更新していれば、Duplicatorインストーラーインターフェイスが表示されます。
データベースの認証情報を入力するように求められます。前のステップで書き留めたものを使用してください。

インストーラーが完了するまで待ちます。ブラウザーを閉じたり、中断したりしないでください。
完了したら、WP Adminボタンを使用して、新しく移行されたサイトに再度ログインしてください!

移行後の会員サイトのテスト方法
これには少なくとも2時間は確保してください。テストを急ぐと、支払ったコースにアクセスできないとメンバーから深夜にメールが届くことになります。
テストアカウントとログインをテストする
テストアカウントから始めてください。管理者アカウントではありません。まだ持っていない場合は作成し、アクティブな会員資格を付与してください。
WordPressから完全にログアウトします。シークレットまたはプライベートブラウジングウィンドウを開きます。そのテストアカウントの認証情報でログインを試みます。
最初の試行でうまくいきましたか?良いですね。次にアカウントページを確認します。表示されている会員レベルを確認してください。
会員資格の有効期限または更新日を確認します。これらを管理者パネルで表示されるものと比較してください。完全に一致しているはずです。
パスワードリセットフローもテストする必要があります。パスワードをお忘れですかをクリックして、リセットリンクをリクエストします。
メールが届くか確認します(1分以内に表示されない場合はスパムを確認してください)。リンクをクリックします。新しいサーバーのパスワードリセットページに移動しますか?実際にパスワードをリセットして再度ログインできますか?
これは2つの重要なことをテストします。メールサーバーの設定と会員プラグインのセッション処理です。パスワードリセットが失敗すると、メンバーはアカウントを回復できなくなります。これはサポートの悪夢につながる可能性があります。
サブスクリプションと支払いゲートウェイをテストする
WordPress管理画面にログインし、会員プラグインが購読データを表示する場所に移動します。MemberPressでは、MemberPress » Subscriptions です。
いくつかのアクティブな購読を確認します。ステータス、請求日、支払い方法を確認します。すべて、古いサーバーにあったものと完全に同じに見えるはずです。
さて、ほとんどの人が見落とす重要な部分です。Webhook URLです。
お使いの決済ゲートウェイ(Stripe、PayPalなど)は、支払い完了、支払い失敗、サブスクリプションキャンセルなどのイベントが発生した際に、サイトに通知を送信します。これらの通知は、サーバー上の特定のURLに送信されます。そのURLは、おそらくまだ古いサーバーを指しているでしょう。
StripeまたはPayPalのダッシュボードにログインします。Webhook設定を探します。ドメイン名を含むURLを探してください。古いサーバーのIPアドレスや一時的なドメインを含むURLが表示された場合は、実際のドメインに更新してください。
MemberPressでは、Webhook URLは通常、yourdomain.com/?webhook=stripe のようになります。
テストトランザクションを実行します。ほとんどの決済ゲートウェイにはテストモードがあります。お使いのものがそうでない場合は、100%オフのクーポンコードを使用して無料トランザクションを処理してください。
テストアカウントを使用してメンバーシップにサインアップします。サブスクリプションがメンバーシッププラグインに正しく表示されるか確認します。ユーザーのアクセスレベルが更新されるか確認します。
Webhookが正しく設定されていない場合、StripeまたはPayPalはメンバーのカードから正常に請求しますが、サイトは通知を受け取りません。支払いは行われたにもかかわらず、メンバーシップは期限切れとして表示されます。
コンテンツアクセスと制限ルールをテストする
アクティブなサブスクリプションを持つテストメンバーとしてログインします。
そのメンバーシップレベルでアクセスできるはずのコンテンツに移動します。ブログ記事、コースのレッスン、ダウンロードページなど、制限しているものなら何でも構いません。
見えますか? ファイルをダウンロードしたり、ビデオを視聴したりできますか?
次に完全にログアウトします。新しいシークレットウィンドウを開きます。ログアウトした訪問者として同じコンテンツにアクセスしてみてください。ペイウォール、ログインプロンプト、またはメンバー限定のコンテンツであるというメッセージが表示されるはずです。
ログインせずにコンテンツが表示される場合、メンバーシップルールが正しく移行されていません。これは、誰でも有料コンテンツに無料でアクセスできることを意味します。
複数のティアがある場合は、別のメンバーシップレベルを確認します。ベーシックメンバーシップを持つユーザーとしてログインし、プレミアムコンテンツにアクセスしてみてください。ブロックされるはずです。制限ルールは、適切にアクセスを許可し、そうでない場合はブロックするという両方向で機能する必要があります。
メンバーシップ登録ページもテストします。新規ユーザーはサインアップできますか? 支払いフォームは読み込まれますか? 実際の購入を完了する必要はありませんが、少なくともフォームは表示され、機能する必要があります。
一般的な整理整頓
設定 » パーマリンク に移動します。何も変更しないでください。一番下にある変更を保存ボタンをクリックするだけです。これにより、新しいサーバーの.htaccessファイルとリライトルールが再生成されます。
この手順をスキップすると、ホームページ以外のすべてのページで404エラーが発生する可能性があります。
メインナビゲーションをクリックします。壊れた画像を探します。これは通常、移行中にURLが正しく更新されなかったことを意味します。壊れたリンクも探してください。
お問い合わせフォームがある場合は送信します。フォームは送信されるがメールが届かない場合は、メール設定の調整が必要です。多くのホストでは、信頼性の高いメール送信のためにSMTPプラグインが必要です。
PHPエラーを確認します。URLの末尾に?debug=trueを追加して、警告が表示されるかどうかを確認します。
さらに良いのは、wp-config.php ファイルで一時的に WP_DEBUG を有効にすることです。見つかったエラーを修正してください。
SSL証明書が有効になっていることを確認してください。URLにはhttps://とブラウザの鍵アイコンが表示されるはずです。 安全ではありません という警告が表示される場合は、新しいホストにSSL証明書をインストールまたは有効にする必要があります。
GTmetrixやPingdomのようなツールを使って、最終的なページ読み込み速度を確認してください。新しいホストは、少なくとも古いホストと同等、できればそれ以上にパフォーマンスを発揮する必要があります。サイトが著しく遅い場合は、何か設定が間違っています。おそらくキャッシュまたはデータベースの最適化でしょう。
すべて確認できたら、本番稼働の準備が整いました。以下に手順を示します。
- コンピューターからhostsファイルのエントリを削除します。
- ドメインのDNS設定を更新します。
DNSの伝播には時間がかかります。数分から48時間かかる場合があります。
DNSを切り替えたら、古いサイトをメンテナンスモードにすることを検討してください。これにより、移行後に古いサーバーで新しい登録やコンテンツの変更が発生するのを防ぐことができます。
念のため、1週間ほどそのままにしておきます。その後、シャットダウンできます。
よくある質問(FAQ)
移行後、メンバーの定期購読は壊れますか?
正しく行えば壊れません。定期購読自体はWordPressサイトではなく、支払いゲートウェイにあります。支払いゲートウェイがWebhook URL経由で新しいサーバーに到達できる限り、定期請求は中断なく継続されます。
どのくらいのダウンタイムを想定すればよいですか?
ほぼゼロです。hostsファイルの方法を使用すると、古いサイトを稼働させたまま、新しいサイト全体を構築してテストできます。唯一避けられないダウンタイムはDNSの伝播ですが、その間も両方のサイトが機能しており、徐々に古いものから新しいものへと移行していきます。
メンバーシップサイトを新しいドメイン名に移行できますか?
はい、メンバーシップサイトを新しいドメイン名に移行できます。Duplicator Proは、インストールの際の検索と置換機能でこれを正しく処理します。古いドメイン名を検索して新しいドメイン名に置き換えてください。

メンバーシップサイトを移行する際に避けるべき最大のミスは何ですか?
不十分なテストです。DNSを切り替える前に、テストアカウントを使用してメンバーシップサイトのすべての重要な機能をテストしてください。そうしないと、後で問題が見つかる可能性があります。
コミュニティをより良い場所へ移行しましょう
メンバーシップウェブサイトを移行することで、メンバーにより良い体験を提供できます。
ページ読み込みが速くなれば、メンバーはより長く滞在します。信頼性の高い支払い処理は、処理失敗や解約の減少を意味します。より優れたホスティングインフラストラクチャは、技術的な問題との戦いに費やす時間を減らします。
既存のメンバーは、価値のあるコンテンツへのアクセスと支払い情報をあなたに信頼しています。ログインページが読み込まれなかったり、サブスクリプションの更新がサイレントに失敗したりすると、その信頼はすぐに失われます。
ここでツールが重要になります。大規模なデータベースで問題を起こしたり、シリアライズされたデータを破損させたりする移行プラグインは、あなたのビジネスにとってリスクとなります。
Duplicator Proは、このような移行のために構築されたため、特にメンバーシップサイトの複雑さを処理します。大規模なデータベース、メンバーシッププラグイン、支払い統合など、すべてを確実に処理し、本番稼働前にテストするために必要な制御を提供します。
移動する準備はできましたか?Duplicator Proを入手して、自信を持って移行を開始してください。あなたのメンバーは、あなたと同じくらい一生懸命働くサイトに値します。
せっかくなので、これらの厳選されたWordPressリソースも気に入ると思います: