wordpressのサーバー移行時に日本語名の画像ファイルが表示されない時の解決法
目次
All-in-One WP Migrationを使用したのに上手くいかない
ワードプレスを利用している方がサーバー移行をする際によく使用しているプラグインとして「All-in-One WP Migration」が考えられます。
クリックするだけでデータベースやプラグイン、画像などを全てを復元できるのでphpmyadminやFTPの知識がない方でも簡単にサーバー引っ越しをすることができます。(DNSやサーバーの各種設定はまた別ですが)
ただし無料版だと512mbまでの容量しか利用できないので画像ファイルが多いサイトですと工夫しないと使えません。
プラグインの説明はまた今度にして、、
このAll-in-One WP Migrationは初心者向けのプラグインであると同時に初心者泣かせのプラグインであるともいえます。
画像の移行が上手くいかない
プラグインを利用しても移行先のサーバーで画像が表示されないという事例をよく見かけます。
サーバー移行の方法が分からないからプラグインを利用したのに、移行先で画像が表示されなくなってしまったら初心者の方にはお手上げでしょう。
原因の多くは画像ファイル名が日本語で書かれていること
例えば、「wordpress.jpg」ではなく「ワードプレス.jpg」のように画像のファイル名が日本語で定義されているとサーバーによっては移行時に文字化けを起こしエラーが生じます。
さくらサーバーは日本語のファイル名を英語に修正してからアップロードするように指摘しています。
つまり、移行前のサーバーで日本語名のファイルを全て英語に変換してからアップロードをすればいいということですね。
ファイル名とタイトルは違います
メディア一覧から画像をクリックしてタイトルを日本語から半角英数に変更しても、上のファイル名は変わりません。
エラーの原因は上のファイル名が日本語であることなのでそこを修正する必要があります。
WP Multibyte Patchのプラグインを最初から有効化していれば問題は生じない
このプラグインは日本語でアップロードされたメディアファイルをランダムな英数字に自動で変換してくれます。
「日本語ファイル」という名前でアップロードしても英数字の羅列のファイル名に変換されています。
ただし、このプラグインを導入した後にアップロードした画像ファイルが対象になるので、プラグインを有効化する前にアップロードしたファイルに関しては修正されません。
ワードプレスでサイト制作の際は真っ先に有効化しましょう。
変換されていないファイルはプラグインで編集する
「Phoenix Media Rename」を使えばメディアのファイル名そのものをメディア一覧画面から編集することができます。
画像ファイルが多すぎて手動で全部変更することが厳しい場合
私の場合もそうでしたが、依頼していただいたサイトの画像ファイルが3000個以上などある場合は手動でファイル名を日本語から英語に変更する作業など無理です。
そんな状況の時にファイル名が日本語のまま移行先のサーバーで画像を表示させる方法をお伝えします。
手順:all in one wp migrationにてメディアファイル以外をエクスポートし、メディアファイルはFTPでダウンロード&アップロードをします。
「メディアファイル以外をエクスポート(ファイル)」を選択してエクスポートします。
この方法はサイトの容量が512mbを超えてしまってall in one wp migrationを無料版では使用できないというという場合にも有効です。
FTPのソフトは私の場合「WINSCP」や「FileZilla」を使用しています。
FTPソフトのインストール方法や使い方は検索して調べてください!
今回はWINSCPを用いて説明いたします。
サーバー移行の手順は以下の通りです。
all in one wp migrationでメディアファイル以外をエクスポートする
↓
FTPで旧サーバーにある「uploads」を全てダウンロードする
↓
新サーバーにワードプレスをインストールし、all in one wp migrationで先ほどエクスポートしたファイルをインポートする。
この場合、512mbを超えているとインポートできません。ネット上ではプラグインのconstants.php、MAX FILE SIZEを編集して無料で容量上限を増やす方法などの記事がありますが、私の場合は上限の表記が変更するだけで512mbを超えるファイルはアップロードできませんでした。
↓
FTPのセッションの作成(選択)→設定にて「ファイル名をUTF-8でエンコードする」をオンにして保存する。
この設定は新サーバーにアクセスするセッションの設定です。
※この作業が一番大事です。
設定完了後、FTPで先ほどダウンロードしたuploadsを新サーバーにアップロードする。
これで日本語名のファイルを編集することなく表示させることができました。
※日本語名のファイル非推奨のさくらサーバーでできました。
文字コードをUTF-8に強制することで、日本語ファイルの文字化けなどの不具合を回避したというわけです。
サーバーやファイルの状況などによってこれでもエラーになってしまう可能性がありますが、私の場合は成功したので一例として参考にしてください!
※備考 FileZillaをお使いの場合
左上のアイコンをクリックしてサイトマネージャーを開き、文字コードタブのUTF-8 を強制を選択します。
こうすることでアップロードファイルが日本語でも正常に読み込めるようになります。