WordPressでサイト移転やサイトコピーなどで活躍するAll in One Migrationと言うプラグインがあります。
このプラグインとても便利なのですが、2つ問題があります。
②日本語ファイル名の画像ファイルが移転先で認識されない
この記事では、②のケースについて対策をまとめておきます。
All in One Migrationで日本語ファイル名が上手く移転できない場合の解決策
メディアなどのファイル名が日本語で、wp mutibyte patchのプラグインが有効になっていないと移転後に問題が起きます。
陥りがちな間違いのケース
少し詳しい方ならメディアフォルダを丸ごと移転するのだったら、フォルダ毎圧縮して移転すればよいのではと思うと思います。
SSHアカウントが無くても、ファイマネージャーと言うプラグインがあるのでそれを使えば誰でもできます。
例えばこんな感じで、
- 移転元でファイルマネージャーなどを使用し、uploadフォルダを圧縮(zipなど)
- 圧縮ファイル(upload.zipなど)をダウンロード
- 移転先にアップロードしてから(upload.zipなど)解凍する。
私も上記の方法を最初にしました。
しかし、なぜか、これだと上手くいきません。新しく展開したuploadフォルダを見るとAll in One Migrationで移転した時と同じように日本語ファイル名が変わってしまっています。
メディアフォルダを一括移転する場合の正しいやり方
日本語ファイル名をそのままにして、uploadフォルダを入れ替えるにはどうしたらよいのか?
実は簡単です。
- 移転元サーバーにFTPで接続します。
- メディアフォルダ(upload)を丸ごとダウンロード
- 移転先サーバーにFTP接続します。
- メディアフォルダ(upload)を丸ごとアップロード
これで終わりです。
ファイル数がとても多いので、時間がかかりますが、この方法でやるのが確実。
FTPソフトで大量のファイルを処理すると時間がかかります。
多くの場合、FTPソフトは同時処理できるファイル数を変更できるので、その数値を大きくすると時短になります。同時処理数を増やすとエラーになることがありますが、エラーになったファイルだけ再送してあげればよいので、同時処理数を増やす方が幸せになれます。
まとめ
メディアなどのファイル名が日本語で、wp mutibyte patchのプラグインが有効になっていないと移転後に画像を認識しません。その時に、メディアフォルダを丸ごと再度uploadすればよいのですが、FTPを避けると上手くいきません。FTPを使うと簡単に解決します。