ホームページのリニューアルとか、より良いサーバー環境に移動するときとか、テスト環境から本番環境に移すときとか、ホームページを運用しているとたまにはWordpressの移行作業って必要になるので、同じようなことがあった場合のために知っておくといいと思います。
今回は、すべての画像が表示されないのではなくて一部の画像だけが表示されなかったので、その画像について調べてみると画像のファイル名が日本語名でした。
つまり日本語のファイル名の画像が表示されなかったということ。
一般的にはホームページを作るときに日本語のファイル名なんていうのは入れないんだけれど、Wordpressではお客さんに記事を書いてもらってて、お客さんはやっぱりそこまでリテラシーは高くないので日本語のファイルでそのまま上げてしまってるものも多かった。
以前のサーバー環境ではうまくいってたんですが、新しいサーバー環境に移動させたらうまく表示されなかったというわけ。
※今回は日本語のファイル名が原因となるものについて説明するんだけれど、Wordpressの移動で画像が見れないっていうのは結構あって、おそらく多くはファイルを移動した際にドメインが変わっちゃってファイルの参照先が違ってしまうとかそういった基本的な問題だと思うんだけど、それについてはまた書きたいと思います。
WordPressの移動
WordPressの移行は、
・データーベースの移動
・ファイルの移動
この2つのことをすればいいんだけど、
その中で今回についてはファイルの移動の際に問題があったみたいです。
さらに、ファイルの移動については
・旧サーバーからファイルをダウンロードする
・ダウンロードしたファイルを新しいサーバーにアップロードする
この手順になります。
日本語ファイルの問題
で、どこで問題が起こっているのか。
問題はこのファイルをアップロードするところにあって、ファイルのアップロード時に日本語のファイル名ではローカルとサーバーの環境の違いで、文字コードの部分でサーバーがうまく解釈できなかったよう。
これは、サーバーの環境によるもので同じようにファイルの移動したとしてもサーバーによっては問題が起きない場合もある。
今回問題となったのは桜サーバーで、例えばXServerで同じようなことしても問題なかったです。
さくらサーバーが悪いとかそういう話ではなくて、サーバーの環境によるものなので他のサーバーでも同じようなことが起こるかもしれません。
適切に画像ファイルを上げることでこの問題を回避することができました。
で、具体的な対策方法については以下のリンクで詳しく書いてるので読んでください。
サーバーに日本語のファイル名を上げると見れないのはこうやって解決。
日本語ファイルのアップロードの仕方
僕はFTPをFileZillaというものを使ってつないでいるので、それで説明します。
ここで説明するのは、WordPressの移動工程のうち、ダウンロードしてきたファイルを新しいサーバーにアップロードする際にやることね。
この部分で問題が起こっているので。
FileZillaの左上から設定できるサイトマネージャーの画面。
ここで、各サーバーに接続するための設定をするんだけれど、その中の文字コードというタブがあるのでそこの設定を変更します。
初期値では自動検出が選択されていると思います。
ここに書かれているようにサーバーの状況によって文字コードを自動検出するようで、これが問題だったみたいです。
なので、今回は真ん中にあるUTF-8を強制というものを選びます。
このように、ダウンロードしたファイルをアップロードする際に、画像についてはUTF-8で強制にして上げると問題なく表示されます。
この問題の原因はWordpressじゃなくって、日本語名のファイルをサーバにあげるときに起こってること。
だけど、普通にFTPでファイルを上げるときに日本語のファイルを上げる人なんてなかなかいないと思うから、一般的にはこの問題が起こる事はあまりないと思う。
Wordpressに関しては、そこにアップされてるファイルはホームページの知識がある人ではなくて、そうでない普通の人がWordpressで日本語のファイルを上げていたりするのでこういう問題がおこりやすい。
頻度としてはあまり多くは無いかもしれないけど、起こったときには結構はまりそうな箇所なので参考になればと思います。
中島美嘉の名曲「雪の華」から生まれた映画『雪の華』の公開で、ラジオとかでも何度もこの曲流れてる。
久しぶりにYouTubeで寝る前にゆっくり聞いてみたけど、一人で聴いて一人感動してる。