先日のWordPressの再インストールを行ったのですが、その後遺症として、ブログのサムネイル画像、本文中に貼り付けていた画像がことごとく表示されなくなってしまいました・・・。

正確に言うと、以下のように「alt属性の文字は表示されているのに、画像は表示されていない」という状況でした。

その後あれこれ調べて回復することができましたが、今回の原因と回復するために行ったことをお伝えいたします。

EWWW image optimizerの設定を見直す

EWWW image optimizerのWebP変換

当社のウェブサイトにはプラグインとして「EWWW image optimizer」を導入しており、以前に画像のWebP変換をしました。当時は変換に成功し画面上に WebP と表示されていたのですが、今回のWordPress再インストール後に見てみるとその表示が無くなっていました。

そこで、一旦WebP変換の✅を外して、設定を保存しました。

.htaccessの記述を見直す

EWWW image optimizerでWebP変換を設定する際に、FTPを使って.htaccessに以下の記述をしていたので、その記述も一旦クリアし、.htaccessを上書きしました。

<IfModule mod_rewrite.c>
	RewriteEngine On
	RewriteCond %{HTTP_ACCEPT} image/webp
	RewriteCond %{REQUEST_FILENAME} (.*)\.(jpe?g|png|gif)$
	RewriteCond %{REQUEST_FILENAME}\.webp -f
	RewriteCond %{QUERY_STRING} !type=original
	RewriteRule (.+)\.(jpe?g|png|gif)$ %{REQUEST_FILENAME}.webp [T=image/webp,L]
</IfModule>
<IfModule mod_headers.c>
	<FilesMatch "\.(jpe?g|png|gif)$">
		Header append Vary Accept
	</FilesMatch>
</IfModule>
AddType image/webp .webp

その結果、ウェブサイト上の画像は元通りに表示されるようになりました。

まとめ

画像が表示されなくなる原因は様々あるようですが、今回原因を探る中でGoogle検索した結果、多くの方がまず疑ってみるのは「画像処理系またはキャッシュ系のプラグイン」と記述されています。

まずは画像処理系プラグイン(EWWW Image Optimizer など)やキャッシュ系プラグイン(WP Fastest Cache、WP-optimizer など)を一つずつOFFにして原因を絞り込むことが解決までの早道だと感じました。

画像が表示されていないと気づいた時は焦りますが、その原因は必ずどこかにあります。

焦る気持ちを抑えて、あちこちいじらず落ち着いて対応していきましょう。