WordPressの移行に便利なプラグイン、All in One WP Migration。
無料版だとある程度の制約がありますが、有料版だとかなり大きいサイトでも簡単に移行することが可能です。
ただ、移行環境によってはエラーも発生してしまうことがあり、私も先日苦戦をしました…。
今回はインポート時によく発生するエラーの解消方法についてをまとめてみました。
「アーカイブファイルが壊れています。」になる場合
エクスポートをしたファイルをインポートする時、アップしてすぐに「アーカイブファイルが壊れています」と表示されてしまい、インポートに進めない場合があります。
よくある原因
このエラーで考えられるよくある原因は下記の通りです。
- エクスポート時の環境が不安定でファイルに欠損がある
- データ量が多く、ファイルサイズが大きすぎる
- phpのバージョンがそれぞれの環境で一致していない
ファイルサイズが大きい場合、ブラウザではなくFTP経由でデータを落とすこともあると思いますが、そもそもエクスポート段階で圧縮しきれず、欠損したファイルになってしまうこともあるようです。
解消方法
ファイルサイズが大きすぎる場合
メディアを抜いたデータでエクスポートを行い、メディアファイルはFTP経由で移行。
ファイルサイズが大きくなる原因になりがちなメディアファイルを除外することで、半分以下のサイズに抑えて欠損することなくダウンロードすることができるようになります。
phpバージョンが一致していない場合
phpバージョンを揃えてデータを移行。
細かく記述を確認することで回避もできますが…可能であればバージョンを揃えてしまった方が早いですね。
「99%」から進まなくなる場合
順調にエクスポートが進んでいても、99%のところで止まってしまう場合もあります。
よくある原因
何度かこちらの事情に出くわしたのですが、ほとんどの場合がphpバージョンの不一致やバージョン差が原因でした。
そして、主に原因になっているのが下記の内容です。
- テーマファイル内に書いた記述がphpバージョンに対応していない
- インストールしているプラグインがphpバージョンに対応していない
一見問題なくインポートが進んでいるように見えても裏側でエラーが発生すると進まなくなってしまうようです。
(厄介なことに、エラー表示もされないので気が付きにくいんですよね…)
解消方法
完了していないインポート画面をそのままにした状態で、下記の対応を行うと解消ができることもあります。
WordPressからのメールで指摘のあった内容の改善
致命的なエラーが発生した場合、Wordpressから自動的にメールが届きます。
All-in-One WP Migrationでの移行中も完了前にエラーが発生するとメールが送られる場合もあり、そこに原因が記載されています。親切ですね…!
FTP経由で該当箇所を修正した後にインポート画面を確認すると、完了の表示になっていることがほとんどです。
(インポートが完了していない状態でもトップページのURLを開くとページを見られる場合があるため、エラーの解消ができたかも確認できます)
テーマファイル一式をまっさらにしてみる
わりと力技にはなりますが、作成したテーマファイルの記述に不備がある場合は、テーマファイルの中身をまっさらにするとインポートが進む可能性があります。
一旦、インポートを終わらせてWordpressにデータを移した後、エラー記述を探すことになります。
functions.phpなどのコアファイルに原因がある場合もあるため、カスタマイズをかなり行っている場合は、慎重に行ってください。
まとめ
Web制作の現場ではWordpressの移行作業は日常茶飯事なので、このエラーと戦ったエンジニアさんも多いのではないでしょうか?
私自身もいろんなエラーパターンを見てきたとは思っていますが、バージョンが変わればまた新しいエラーが起こって…一生追いかけっこになりますね。
All in one WP Migrationは便利でとてもお世話になっているので、使い方についてもいずれ書きたいと思います。
ではまた(*´ ³ `)ノシ