WordPressのサポートチケット8,000件以上が明らかにする、移行が失敗する理由
John Turner
ジョン・ターナー
WordPressの移行が失敗した場合、通常は何が起こりますか?私たちはそれを答えるためのデータを持っていたので、調べました。
Duplicatorは、150万以上のサイトで稼働しているWordPressの移行およびバックアッププラグインです。その規模は、WordPressサイトの移行時に何が起こるかについての、大規模で一次的な記録という、特定の希少なものを生み出します。
過去数年間で、8,000件以上の構造化されたサポートリクエストを記録してきました。移行と復元の問題は、私たちの技術的なカテゴリの中で最も大きな割合を占めており、このレポートでは、サイト所有者自身の言葉でタグ付け、分類、説明されたチケットを掘り下げています。
このレポートは、そのデータが示すものです。一部は従来の知見を確認するものですが、多くはそうではありません。
目次
主な発見事項
分析の前に数字を知りたい方のために、WordPressの移行中に何がうまくいかなくなるかについて、データが示すことを以下に示します。すべての数値はDuplicator独自のサポート記録に基づいています。
- 移行と復元の問題は、技術サポートカテゴリの中で最も大きな割合を占めています。 8,000件以上のサポートリクエストのうち、約40%が技術的なものであり、そのうちの3分の1弱が移行であり、他のどの技術カテゴリよりも多いです。
- 移行がダウンロード段階で失敗することはめったにありません。 失敗するのは、展開中と新しいサイトへの最初のログイン時です。
- 最も一般的な障害点は、展開段階で発生するホスト制限です。 移行チケットの5件に1件近くで、PHPタイムアウトまたは宛先サーバーのメモリキャップが、サイトを展開中に停止させます。
- 正常に移行されたサイトへのアクセスができなくなることが、2番目に一般的な問題です。 チケットの10件に1件近くで発生します。
- ホスト制限が主な原因ですが、めったに公表されません。 PHPタイムアウトを直接指摘するチケットは50件に1件程度ですが、リストの上位にある停止したインストールのほとんどは、ホストのPHPまたはメモリ制限が原因です。
- マネージドWordPressホストは、移行サポートキューにはほとんど見られません。 低価格の共有ホスティングがそれを支配しています。
- 移行チケットの約14件に1件は、ローカル開発環境からサイトを移動することに関係しています。
- 移行の問題は迅速に解決されます。 移行および復元チケットの約3件に2件は、1時間以内に解決されます。
これらすべてに関する1つの注意点ですが、データの読み方を形成するため、最初に述べます。これらはサポートチケットです。問題が発生した移行を捉えており、移行全体を網羅しているわけではありません。
問題なく完了した多くの移行は、チケットを生成しませんでした。したがって、このデータは移行がどこで失敗するかを説明するものであり、どのくらいの頻度で失敗するかを説明するものではありません。
移行はWordPressユーザーが報告する最大の技術的問題です
サポートチケットは、粗雑な手段です。物事がうまくいっているときに誰もチケットを送信しないため、正直でもあります。
すべての技術チケットをカテゴリ別にグループ化しました。移行と復元の問題が、バックアップとクラウドストレージよりも上位に来ました。
WordPressユーザーがヘルプを求めるほど深刻な技術的な壁にぶつかった場合、その最も可能性の高い理由は移行です。
それはタスクの性質に合っています。移行は、ファイル、データベース、URL、サーバー設定、PHPバージョン、権限など、すべてを一度に移動します。
単一の不一致でも移動が失敗する可能性があり、多くの場合、複数の不一致が同時に発生します。
最大のカテゴリであることが、最も難しいことと同じではない
サポートキューのトップに来るカテゴリは、チケットがどのようにクローズされるかを見ると、驚くほどではありません。量と難易度は同じではありません。
移行と復元のチケットは、私たちが受ける最も一般的な技術的なリクエストです。また、解決が最も速いものの一つでもあります。
ほとんどの移行チケットは即日解決され、多くの場合1回の返信で完了します。
その組み合わせ、つまり高ボリュームと迅速な解決は、移行の問題について何か特定のことを示しています。それらは一般的ですが、めったに謎ではありません。
ほとんどは、サポートチームが一目で認識できる短い原因リストにたどり着きます。これはまさに、このレポートが基づいているリストです。
これも、私たちがこの記事を書くことができる正直な理由です。移行が失敗する理由について推測しているわけではありません。私たちはこれらの何千もの問題を解決しており、そのほとんどは1時間以内に完了しています。
移行が通常失敗する場所と、それぞれがどのように修正されるか
多くのサイト所有者は、移行の失敗の原因をPHPタイムアウト、ファイアウォール、またはディスク容量のせいだと非難します。私たちのチケットでは、それらはマイナーな要因です。
実際に問題が発生するのはより具体的であり、ほとんどすべてのケースで、移動自体ではなく、宛先環境に起因します。
ここにランク付けされた内訳を示します。通常、それぞれの背後にあるものと、サポートチームがどのようにそれをクリアするかを示します。
| 移行失敗の原因 | おおよその頻度 | 通常、その背後にあるもの | どのように解決されるか |
|---|---|---|---|
| ホスト制限により、インストール/抽出ステップが停止する | 5件に1件 | 宛先サーバーのPHPタイムアウトまたはメモリキャップが、抽出途中でプロセスを停止させている | PHP制限を引き上げるか、抽出中に大規模なアーカイブを問題なく処理できるように設計されたインストーラー(DupArchive)を使用する |
| 移行後にwp-adminからロックアウトされる | 10件に1件 | データベースのサイトURLの不一致またはリダイレクトループであり、移行の失敗ではない | WordPressアドレスとサイトアドレスの設定を修正する。Cookieをクリアする |
| 移行中にプログレスバーがフリーズする | 約10件に1件 | サーバーが長時間実行されているリクエストを中断している | 実行制限を増やすか、移行をチャンクモードで実行します |
| ファイルまたはフォルダの権限エラー | 約15分の1 | 宛先の所有権が間違っているか、書き込み可能なフォルダがない | 新しいサーバーでフォルダの権限を修正する |
| PHPバージョンの不一致 | 30分の1未満 | ソースは、宛先が実行しているPHPよりも新しいPHPで構築されました | 移行前に両端のPHPバージョンを一致させる |
| データベース接続エラー | 40分の1未満 | wp-config.phpファイル内のデータベース認証情報が間違っている | インストール中に認証情報を修正する |
| PHPタイムアウトが直接指定されました | 約50分の1 | ホストの実行制限がサイトサイズに対して低すぎます | 制限を引き上げるか、作業を分割する |
| 500内部サーバーエラー | 60分の1未満 | 通常は古い.htaccessファイルまたは権限の問題です | パーマリンクとファイル権限を再生成する |
インストールまたは抽出ステップが停止する
これは私たちが目にする最も一般的な移行の失敗であり、ホストの制限が隠されています。ファイルは正常にダウンロードされ、プロセスが開始されますが、宛先サーバーのPHPタイムアウトまたはメモリキャップが最も重い作業時にプロセスを中断するため、抽出中に途中で停止します。
修正するには、より多くのヘッドルームが必要です。宛先サーバーでPHPのmax_execution_timeとmemory_limitを引き上げてから、再度実行してください。
これらの設定は、ホストのコントロールパネルにあります。通常は、PHPオプション、MultiPHP INIエディター、またはそれに類するセクションの下にあります。見つからない場合は、ホストのサポートが引き上げることができます。
また、これらの制限に違反せずに大きなアーカイブを抽出するように構築されたインストーラーを使用することもできます。Duplicator ProのスタンドアロンインストーラーとDupArchive形式はまさにそれを目的としており、DupArchiveは最大400GBの実際の移行を処理しました。

移動後にwp-adminにロックアウトされる
これは、人々が最もパニックになり、最も必要としない失敗です。移行は完了し、新しいサイトにログインしようとすると、ログインが失敗するか、リダイレクトループが発生します。
これは、移行が失敗したことを意味することはほとんどありません。URL設定が間違っていることを意味します。データベースに保存されているサイトURLが、サイトが現在存在する場所と一致しないため、WordPressは存在しない場所にリダイレクトし続けます。
「設定」>「一般」の下にある「WordPressアドレス」と「サイトアドレス」フィールドを確認し、新しいURLに修正して、Cookieをクリアしてください。

ダッシュボードにまったくアクセスできない場合は、wp-config.phpで両方の値を一時的に設定できます。確認に2分かかります。再移行ではありません。
移行中にプログレスバーがフリーズする
抽出スタールに似ていますが、進行状況バーが表示され、移動が停止し、無期限に同じパーセンテージで停止します。
原因は通常、ステップが完了する前にサーバーが長時間実行されているリクエストをカットすることです。作業が大きすぎて、ホストが単一のプロセスを実行できる時間に収まりません。
宛先の実行制限を引き上げるか、作業をより小さなチャンクに分割するモードで移行を実行して、単一のリクエストが長すぎて終了しないようにします。
Duplicatorでは、バックアップを作成するときにこれを設定します。Database SQL ModeをPHP Codeに、Multi-Threadedに変更します。

サーバーリソースが限られている場合、同じ設定でServer ThrottleをMediumまたはHighに設定することをお勧めします。

ファイルまたはフォルダの権限エラー
移行により、新しいサーバーにファイルを書き込めないか、フォルダーを作成できないと報告され、プロセスが停止します。
これは、宛先の所有権と書き込みアクセスの問題です。Webサーバーユーザーがターゲットフォルダーを所有していないか、書き込み可能でない場合、ファイルを適切な場所に配置できません。
宛先フォルダーをホストに適した所有権に設定し、ディレクトリが書き込み可能であることを確認してください(通常、フォルダーは755、ファイルは644)。
これらは、FTPクライアントまたはホストのファイルマネージャーを介して変更します。どちらも、フォルダーを右クリックすると、アクセス権またはCHMODオプションが表示されます。ホストのドキュメントで、不明な場合は適切なWebサーバーユーザーを確認してください。
PHPバージョン不一致
復元されたサイトが特定のプラグインまたはテーマ機能を使用するページでエラーを発生させ始めるまで、すべて問題なく見えます。
通常の原因は、環境間のPHPのギャップです。サイトは、宛先サーバーが実行しているバージョンよりも新しいPHPバージョンで構築されたため、古いホストで機能していた関数が新しいホストでは非推奨または欠落しています。
移行前に、両方のエンドのPHPバージョンを確認してください。異なる場合は、新しいサーバーのPHPを更新するか、バックアップのPHPを更新してください。
これは、ほとんどのホストが数回のクリックで切り替えられるようにしているホスティングコントロールパネルで見つけることができます。

データベース接続エラー
新しいサイトは、コンテンツの代わりに「データベース接続を確立できません」メッセージを読み込みます。
移行後、これは壊れたデータベースではなく、設定ファイル内のデータベース認証情報が間違っていることがほとんどです。wp-config.phpのデータベース名、ユーザー、またはパスワードが、新しいホストが実際に作成したものと一致しません。
新しいホスティングアカウントからデータベース名、ユーザー名、パスワード、およびホスト値を確認し、一致するようにwp-config.phpを更新してください。
そのファイルはサイトのルートフォルダーにあり、ホストのファイルマネージャーまたはFTPクライアントからアクセスできます。Duplicatorのインストーラーを使用した場合は、これらの値はインストールステップ中に設定されるため、そこに入力された値を確認してください。

PHPタイムアウトまたは最大実行時間制限
明示的な苦情としてはあまり一般的ではありませんが、上記のいくつかの障害の隠れた原因であるため、名前を付ける価値があります。
ホストの実行時間制限がサイトのサイズに対して低すぎるため、長いステップが完了する前に終了してしまいます。
移行先のmax_execution_timeを上げるか、単一のステップが制限時間に達するほど長く実行されないように移行を分割してください。非常に制限の厳しい共有ホスティングでは、ホストが設定に関係なく制限を設けている場合があるため、サポートにハードリミットを確認してください。
500 内部サーバーエラー
新しいサイトは、詳細のない一般的な500エラーを返すため、通常よりも悪く感じられます。
移行後、原因のほとんどは、破損したサイトではなく、古い.htaccessファイルまたはファイル権限の問題です。
設定 » パーマリンク設定にアクセスし、何も変更せずに保存してパーマリンクを再生成してください。これにより.htaccessファイルが書き直されます。

それでも解決しない場合は、ファイル権限の問題が同じ一般的なエラーを引き起こすため、ファイル権限が正しいこと(フォルダは755、ファイルは644)を確認してください。サーバーのエラーログにアクセスできる場合は、500を引き起こしている正確な行を特定できます。
ホスティングパターン:ブランドよりもカテゴリが重要
また、これらの移行チケットがどのホストから来たのかも調べました。これは誤解しやすい部分なので、慎重に扱います。
落とし穴は単純です。最も多くの移行チケットを生成するホストは、最も広く使用されているホストの1つでもあります。
サイトが多いほどチケットも多くなります。これは、平均的な失敗率が同じであっても同様です。チケットの生数は品質ランキングではなく、そのように見せかけることもありません。
その注意点を考慮しても残るのは、ブランド別ではなく、カテゴリ別のパターンです。
- 予算重視の共有ホスティングが移行キューの上位を占めていますが、これはそもそもWordPressサイトがそこにどれだけ多く存在しているかを部分的に反映しています。
- マネージドWordPressホスティングはほとんど見られません。主要なマネージドプラットフォームは、移行データセット全体でそれぞれ数回しか登場しません。
- クラウドおよびVPS環境は中間に位置し、それ自体に設定関連の問題があります。
独自に言及する価値のあるパターンもあります。移行チケットの約14枚に1枚は、Local、XAMPP、またはMAMPのようなツールを使用してローカル開発環境からサイトを移動している人々からのものです。
ラップトップからライブサーバーへの移行には、それ固有の障害モードがあり、思ったよりも頻繁に発生します。
マネージドホスティングで移行のトラブルが全くないとは主張しません。しかし、サポートキューでのほとんど沈黙は、より厳格なサーバー構成と一貫したPHPバージョンから期待されるものと一致しています。これにより、移行を中断させるような予期せぬ問題が少なくなります。
実際に発生する失敗に備える方法
データは2つの障害点を明確に示しているため、準備はそこに集中すべきです。チケットが実際に何が壊れるかを示していることに焦点を当ててください。
- 両方のエンドでPHPバージョンを一致させてください。 PHP 8.2で構築されたサイトが、まだ7.4を実行しているサーバーに配置されると、移行後にエラーが発生します。各ホストのコントロールパネルでバージョンを確認できます。開始前に両方を確認してください。
- 移行先が抽出を完了できることを確認してください。これが最も多い障害点です。十分なディスク容量、PHPメモリ制限、およびプロセスを途中で中断しない実行時間を与えてください。
- 移行前に新しいサイトのログイン情報を用意しておきましょう。 移行後の最も一般的な失敗の2番目は、移行後のロックアウトです。管理者資格情報と新しいサイトのURLを事前に把握しておいてください。
- 移行先のファイルパーミッションを確認してください。 所有権の間違いや書き込み不可のフォルダは、十分に頻繁に発生するため、簡単に確認する価値があります。FTPクライアントまたはホストのファイルマネージャーで、フォルダを右クリックするとそのパーミッションが表示されます。
これは、移行ツール自体が実際に作業を行う場所でもあります。Duplicator Proのスタンドアロンインストーラーは、WordPressがインストールされていないサーバーにサイトを移行するように構築されています。これにより、抽出に関する問題のカテゴリ全体が排除されます。
そのDupArchive形式には理論上のファイルサイズ制限がなく、400GBの実際の移行を処理してきたため、大規模サイトでもほとんどの移行が停止するステップで問題が発生することはありません。
そして、移行がロックアウトを引き起こした場合でも、災害復旧URLを使用すれば、WordPressにまったくアクセスできない場合でも、正常に機能するサイトを復元できます。

よくある質問(FAQ)
WordPressの移行はどのくらいの頻度で失敗しますか?
このデータはその質問に答えることはできませんし、どのサポートデータセットも答えることはできません。サポートチケットは問題が発生した移行のみを記録し、成功した移行はチケットを生成しません。データが示すのは、移行のヘルプを求める人々の間で、問題が抽出ステップと新しいサイトへの最初のログインに集中しているということです。
WordPressの移行で最も一般的なエラーは何ですか?
サポートデータの中で最も一般的なエラーは、インストールまたは抽出ステップ中に移行を停止させるホスト制限であり、移行チケットの約5分の1に存在します。これは、サイトの展開中に移行先のサーバーのPHPタイムアウトまたはメモリキャップがプロセスを中断したときに発生します。2番目に一般的なのは、移行が正常に完了した後、新しいサイトにログインできないことです。
PHPタイムアウトはほとんどの移行失敗の原因となりますか?
見た目以上に重要です。サイト所有者がPHPタイムアウトを明示的に言及しているのはチケットの約50分の1にすぎませんが、ホストのPHPまたはメモリ制限は、リストの上位にあるインストール停止の最も一般的な原因です。ほとんどの人は、名前付きのタイムアウトエラーとして表示されるのではなく、インストーラーがフリーズしたように見えるため、それに気づいていません。
マネージドWordPressホスティングは移行に適していますか?
マネージドWordPressホストは、移行サポートキューにはほとんど現れません。これは、それらのプラットフォームでの移行問題が少ないことを示唆しています。その理由は、一貫したサーバー構成とPHPバージョンである可能性が高いです。これはマネージドホスティングが免除されるという証明ではありませんが、データセット全体でパターンは一貫しています。
WordPressサイトを移行した後、なぜログインできないのですか?
これは、移行後に最もよく見られる問題の1つです。通常はデータベースのURLの不一致、リダイレクトループ、またはパーミッションの問題であり、移行の失敗ではありません。移行が失敗したと仮定する前に、WordPressアドレスとサイトアドレスの設定を確認し、Cookieをクリアしてください。
8,000件以上のサポートチケットが移行アドバイスをどのように変えるか
このデータの価値は、単一の統計ではありません。それは、注意を向けるべき場所の修正です。
データは常に同じ2つの瞬間に焦点を当てています。抽出ステップと最初のログインです。ほとんどの準備が心配しているファイル転送ではなく、実際に人々が立ち往生するのはそこです。
転送が途中で停止したり、ログインページから再度ログインできなくなったりするため、多くの人が行き詰まります。
これほど具体的に何がうまくいかないのかを説明できるのには理由があります。これらの問題はサポートキューに絶えず寄せられ、ほとんどが1時間以内に解決されます。
数千もの移行の問題を解決すると、パターンは推測ではなくなり、地図になります。このレポートはその地図です。
正直さを保つために、制限を最後に一度だけ述べます。これは成功の記録ではなく、失敗の記録です。人々が自身の困難を説明するために使う言葉に依存しているため、不完全です。しかし、それは現実であり、直接的なものです。
次の移行の前に、戻る方法を組み込む
ほとんどの移行の問題は、原因がわかればすぐに修正でき、データがそれを裏付けています。私たちが目にする移行の問題の大多数は、1時間以内に解決されています。
何かが停止したときに、戻る方法がないことからストレスが生じます。
Duplicator Proは、150万人以上のWordPressのプロフェッショナルによって、サイトのバックアップ、移行、復元に使用されています。スタンドアロンインストーラーと災害復旧ツールは、このデータが表面化する2つの障害点、つまり抽出ステップとロックアウトされたログインのために構築されています。
せっかくなので、これらの他のWordPressリソースも役立つと思います。