WordPress引っ越しで画像がコピーできない原因と対処法

WordPressを別のサーバーに移転するとき、All In One WP Migrationなどのプラグインを使って一括コピーしたのに、メディアライブラリの画像が正常にコピーできなくて困ったことはありませんか?

原因と解決方法を示します。

画像ファイルがコピーできない原因

コピー元WordPressのメディアライブラリに日本語ファイル名の画像をアップロードしていると、その画像だけコピーできない場合があります。

具体的には、アップロードされたファイルの情報(URLや、どの投稿に関連付いているかなど)だけコピーされて、実際のファイルはコピーされていない状態になります。

すると、メディアライブラリは情報だけが表示されてサムネイルが表示されない状態になります。

画像のデータだけがコピーされ、ファイルの実体がコピーされていないとこうなります。

多くの原因は、日本語サイトで必須とされているMultibyte Patchプラグインが、画像をアップロードしたときにファイル名の日本語部分を安全な形式に変換するためです。

しかし、Multibyte PatchプラグインはWordPressのプログラムが日本語に対して正常に動作するために必要なので、有効化しておかなくてはなりません。

安易に、Multibyte Patchプラグインを停止すればよいと考えてはなりません。必須とされているプラグインには、それなりの理由があります。

日本語ファイル名の画像を正常にコピーする方法

コピー元のWordPressでメディアライブラリに登録されている画像のファイル名を、日本語を含まない名前に修正します。それから、All In One WP Migration で移転先のサーバーにWordPressを丸ごとコピーすれば正常にコピーできます。

コピー元のWordPressで行う作業

メディアライブラリから画像ファイル名を変更できるプラグイン(下記)を使って、コピー元WordPressのメディアライブラリから、日本語ファイル名を含む全ての画像を、日本語を含まない名前に修正します。

プラグインの使い方はこちらの記事がわかりやすいでしょう。
https://novella.blog/word/phoenix-media-rename

メディアライブラリからサーバー上の画像ファイル名を変更できるプラグインです。

画像ファイル名の修正が終わってから行う作業

画像ファイル名の修正が終わったら、All In One WP Migration でコピー元のWordPressをエクスポートし、デスクトップなどわかりやすい場所にダウンロードしておきます。これがコピーに使う唯一のデータファイルです。

次に、移転先サーバーに新規でWordPressをインストールして、こちらにもAll In One WP Migrationプラグインをインストールして有効化しておきます。

最後に、コピー先のWordPressでAll In One WP Migrationのインポートを選択し、コピー元からダウンロードしておいたデータファイルをアップロードします。

あとは、画面の指示に従ってコピーが終わるのを待つだけです。