現段階(2019.7)でwordpressを移行したりする際は、「 All-in-One WP Migration 」というプラグイン一択です。
こちらのプラグインは以前からwordpressをいじっている人には画期的なプラグインではないでしょうか?使い方は検索してもらえればすぐ出てくると思うので、wordpressの移行には上記のプラグインを使いましょう。
さて本題です。
今回サイトのリニューアルを行っていて、リニューアル作業開始時にデモ用のサーバーにサイトをバックアップ・復元して、デモサイトを立ち上げました。
デモサイトがOKになって、さあ切替という際に、現状のサイトはリニューアルが終わるまでに、数記事追加されているわけで、その記事も新サイトに取り込まなければなりません。
画像のURLがきちんと移行しないのが嫌なので「DeMomentSomTres Export」というプラグインを入れ、Wordpress標準のエクスポート機能を使って、インポートしたところ、「メディアのインポートに失敗しました」と表示されてしまいました。
プラグインを疑う
wordpressで想定外のエラーが出たら、まずプラグインを疑いましょう。
記事はインポートされていて、画像がインポートされないので、画像系のプラグインを疑ってみます。
運よく一発で解決できてしまったので、他は検証できていませんが、メディアのインポートが失敗する原因のプラグインは以下のプラグインでした。
- EWWW Image Optimizer
また見つかったら追記していきたいと思います。
上記を停止して、もう一度インポートしてみましょう。
ファイスサイズチェックがエラーの原因の場合
すぐに解決したのですが、後学のため調べてみると「wordpressインポーター」プラグインのファイルサイズチェックがエラーを起こすこともあるようです。
プラグインを一度FTP等でダウンロードして修正してあげる必要があります。
wp-content/plugins/wordpress-importerのwordpress-importer.phpを開きます。
1016行目当たりのコードをコメントアウトして、アップロードしなおしましょう。
/*コメントアウト
if ( isset( $headers['content-length'] ) && $filesize != $headers['content-length'] ) {
@unlink( $upload['file'] );
return new WP_Error( 'import_file_error', __('Remote file is incorrect size', 'wordpress-importer') );
}
コメントアウト終わり*/
まとめ
ほとんどはプラグインの停止で何とかなると思います。
面倒ですが、あれこれ考えるよりまず停止して試してみましょう。