はじめに|「画像を差し替えたのに、変わらない…?」
WordPressでサイト制作やリニューアルをしていると、こんな「怪奇現象」に遭遇することはありませんか?
「FTPで画像を上書きした。管理画面でも新しい画像に見えている。
でも、表側の表示だけがなぜか古い画像のまま…」
- ブラウザのキャッシュは削除した(スーパーリロードもした)。
- キャッシュ系プラグインはそもそも入れていない。
- サーバー側(Xserver等)の静的キャッシュもクリアした。
「…なんで!?」
と、モニターの前で頭を抱えること数十分。
実はこれ、WebP(ウェッピー)変換系プラグイン特有の“落とし穴”でした。
今回は、私が制作途中で無駄に時間を溶かしてしまった実体験をもとに、「何が起きていたのか」そして「どうすれば一瞬で解決できるのか」を共有します。
発生した事象|制作途中に「画像が変わらない」沼
今回、私がハマった状況は以下の通りです。
- 制作フロー: テーマフォルダ(
/images/)やメディア(/uploads/)に画像を配置してデザイン確認。 - 修正作業: 「ちょっと色味が違うな」と思い、同じファイル名で修正画像を上書きアップロード。
- 確認: ブラウザをリロード。
- 結果: 画像が変わらない。
最初は「アップロード失敗かな?」程度に思っていましたが、FTPで見てもファイルは更新されています。
「ブラウザのキャッシュか?」「サーバーのキャッシュか?」と疑い、すべてクリアしても状況は変わらず。
ここで貴重な制作時間を30分ほど溶かしました。
原因|WebPプラグインが「別フォルダ」で旧画像を握りしめていた
結論から言うと、犯人は画像圧縮・WebP変換プラグインの定番、
「WebP Converter for Media」(WebP変換プラグイン)でした。
このプラグインは、有効化すると非常に優秀な動きをします。
- 元画像(JPG/PNG)がアップされると、自動でWebP画像を生成する。
- 生成したWebPは、元画像とは別の
/wp-content/uploads-webpc/というディレクトリに保存する。 - ブラウザがWebP対応なら、元画像のURLへのアクセスを、内部的にその「別ディレクトリのWebP」へすり替えて表示させる。
ここが落とし穴の正体
つまり、こういうことが起きていました。
- 私が「元画像(JPG)」を上書きして新しくする。
- しかし、プラグインが生成済みの「古いWebP画像」は、別フォルダに残ったまま。
- ブラウザは「WebPを見せて」と要求するため、システムは「古いWebP」を表示し続ける。
「元画像は変わっているのに、表示が変わらない」という矛盾は、「裏側で別の画像が読み込まれていた」ことが原因だったのです。
これ、管理画面上では元画像(JPG)が表示されるため、「WebP専用フォルダ」の存在を意識していないと完全に沼ります。
解決策|uploads-webpc 内の該当ファイルを消すだけ
原因さえわかれば、解決策は一瞬です。
【対処手順】
- FTPソフト、またはサーバーのファイルマネージャーに接続する。
- 以下のディレクトリを開く。/wp-content/uploads-webpc/(※プラグインによって名称が異なる場合がありますが、uploads階層にあるWebP用フォルダです)
- 該当する画像(同じファイル名のWebP)を削除する。
- サイトを再読み込みする。
これだけです。
削除されたことを検知して、プラグインが「新しい元画像」から「新しいWebP」を自動再生成してくれます。
あれだけ悩んだのが嘘のように、一瞬で最新のデザインが反映されました。
教訓|制作フローでの「対WebP」対策
「WebP Converter for Media」自体は、サイトの高速化に欠かせない非常に優秀なプラグインです。
ただ、「画像を頻繁に差し替える制作途中」においては、この仕様が仇になります。
無駄な時間を溶かさないために、以下のルールを推奨します。
- 対策A:WebPプラグインは「デザイン確定後」に有効化する制作中はOFFにしておき、最後にまとめて変換するのが最も安全です。
- 対策B:「画像差し替え時はWebPも消す」と心に刻むすでに運用中のサイトなどでプラグインを止められない場合は、FTPで uploads-webpc も一緒にメンテナンスする癖をつけましょう。
まとめ
- 画像を差し替えても反映されない時、WebP変換プラグインが入っていないか確認する。
- 元画像を変えても、生成済みのWebPキャッシュが残っていると表示は変わらない。
- 解決策は
/uploads-webpc/内の古いWebPを削除すること。
同じように「なんで変わらないんだ…!」とモニターの前で絶望している方の、救いになれば幸いです。