🔧 画像をFTP転送しても更新されないときのチェックポイント
1. ブラウザキャッシュが残っている
最も多い原因です。
- ブラウザが古い画像をキャッシュしているため、新しい画像が表示されない
- 特に同じファイル名で上書きした場合に起こりやすい
対処:
- Ctrl + F5(Macは Cmd + Shift + R)で強制リロード
- シークレットモードで確認
- 画像URLの末尾に
?v=2のようなクエリを付けて確認
2. WordPress のキャッシュプラグインが影響している
WP Super Cache、W3 Total Cache、LiteSpeed Cache などを使っている場合、キャッシュが古い画像を保持していることがあります。
対処:
- キャッシュプラグインの「全キャッシュ削除」を実行
- サーバー側のキャッシュ(ConoHa、Xserver など)もクリア
3. CDN(Cloudflare など)が古い画像を保持している
CDN を使っている場合、CDN 側のキャッシュが更新されていない可能性があります。
対処:
- CDN のキャッシュをパージ(削除)
4. パーミッション(権限)が正しくない
FTP でアップしたファイルのパーミッションが不適切だと、WordPress が読み込めないことがあります。
推奨設定:
- ファイル:644
- ディレクトリ:755
5. アップロード先のパスが間違っている
WordPress の画像は通常:
コード
/wp-content/uploads/年/月/
に保存されます。
テーマ内の画像を差し替える場合は:
コード
/wp-content/themes/テーマ名/images/
など、テーマごとに異なります。
パスを間違えると当然反映されません。
6. 同名ファイルの上書きがサーバー側で反映されていない
サーバーによっては、同名ファイルの上書きが即時反映されないことがあります。
対処:
- 一度ファイルを削除してから再アップロード
- ファイル名を変えてアップロードし、テーマやHTML側の参照を変更
WordPress のサイト画像を差し替えるために FTP でファイルをアップロードしたところ、なぜかブラウザ上でまったく更新されないという状況に遭遇しました。同じファイル名で上書きしているのに反映されず、キャッシュを削除しても変化なし。サーバー側の設定を疑ってみても原因が見つからず、しばらく悩むことに。
結論から言うと、原因は FTP の転送モードでした。
最初は「アスキー転送」や「自動判別(オート)」でアップロードしていたのですが、これらのモードでは画像ファイルが正しく転送されず、結果として WordPress が読み込めない状態になっていたようです。
試しに バイナリー転送に切り替えて再アップロードしたところ、すぐに画像が正常に反映されました。WP=バイナリー転送。
画像やPDF、ZIPなどのバイナリデータは、必ず「バイナリー転送」で送る必要があります。アスキー転送はテキストファイル向けのモードなので、画像を送るとデータが壊れてしまうことがあります。自動判別も万能ではなく、今回のように誤判定されるケースもあるようです。
同じように「画像をFTPで上書きしたのに反映されない」という現象に悩んでいる方は、転送モードを一度チェックしてみると解決につながるかもしれません。


