こちらのブログはWordPressでというコンテンツマネジメントシステム(CMS)を使って公開しています。ブログを公開するCMSの中では非常にメジャーなプログラムで無償で利用することができます。最初はMovableTypeというプログラムを使っていたのですが、10年ほど前にこちらのWordPressに乗り換えました。
このWordPressで一つだけ不可解なことが起こっています。2010年頃の記事でしか発生しないのですが、アップロードして表示されるようにしていた写真がいつの間にかブログの画面から消えているのです。消えてしまった原因をhtmlを読みながら探してみると、IMGタグは残っているのにSRC属性がなくなってしまっているので、表示されなくなってしまっていました。
不思議なことに記事の冒頭に貼り付けている写真は特に問題は発生せず、2枚目以降の写真はすべて表示されなくなってしまっていました。現在は消えてしまった写真のタグにソース属性を復活させる作業を手で実施しています。幸いなことにクリックすれば大きな画像にリンクするhtmlも書かれているので、こちらのURLをソース属性のところに書き込むことで画像が表示されるようになります。
本当はマクロか何かを組んで作業をした方が効率的なのは間違えなさそうな作業ですが、少し怖いので手作業に倒しました。結構、大変な作業です。
原因として考えられるのは、MovableTypeからWordPressに移行した際に、何らかの不具合でSRC属性が消えてしまったケースが考えられます。また、段階的に見えている範囲に絞って写真を公開するプラグインなどの機能で消えてしまったケースも考えられます。EWWW Image Optimizerのようなプラグインで一括して写真をコンパクトにした際に使い方を誤って何らかの不具合が発生した可能性も考えれます。
ネットで検索しても同様のケースはなかなか見つからないので、さほど一般的なことではないのでしょう。幸いなことに最近になってsrc属性が消える事象が新たに増えている様子はないようです。
消えてしまった場所を見つけつつ丁寧に対応したいと思います。
【2021/01/24追記】
見つけるたびに消えてしまったsrc属性を書き込んでいき、現時点ではほとんどを復旧できたのではないかと思います。新たにsrc属性が消えてしまう事象は発生していないようですが、今後とも再発することがないか注意をしていきたいと思っています。
【2024年7月3日追記】
EWWW Image Optimizerを再度設定
EWWW Image Optimizerプラグインをインストールし有効化しました。src属性が消えるというトラブルがあって以来、画像周りの設定を変えるのは怖かったのですが、久しぶりの挑戦です。インストールした直後は、画像が表示されなくなってしまい、とてもヒヤッとしたのですが、原因は画像の遅延読み込みを有効にしていたためでした。別のプラグインの設定とバッティングしていたのかもしれません。現在は、EWWWの遅延読み込みの設定はオフにすることで画像が表示できています。
対応しているブラウザではWebpで表示をしたかったので、.htaccessにWebpルールの挿入を試みたのですが、「WebP ルールは検証されましたが、セルフテストは失敗しました: PNG の応答が MINEタイプ のテストに失敗しました」というエラーメッセージが出ています。現在、一括最適化を続けているのですが、最適化が終わった後で原因を究明するようにします。
コメント