昔から散々出尽くしたような話題ではあるのだが、プラグインを入れただけだと満足のいく最適化がなされなかったので。また、案外きちんとした解決手段が探しても見つからないと感じたので書き留めておく。

当サイト”せぐなべ“においても、定番のプラグインである”EWWW Image Optimizer“を用いている。無料でファイル数に制限なく使える点もあり、かなり広く使われているのではないだろうか。

基本的には、例えばブラウザから気軽に画像ファイルを最適化してくれるTinyPNGと同等にファイルサイズを小さくしてくれる。が、WordPressの機能で「画像をアップロード時に自動的にリサイズされたものを生成する」というものがあり、「それによって作成されたファイルに関してはあまり小さくはならない」というのを経験した人は恐らく自分だけではないのではないだろうか。例えば以下のように、元のファイルである”Full”よりも画像の大きさでは小さいはずの”Small_thumbnail”がほとんどファイルサイズが変わらないといった現象だ。*せぐなべでの画像ファイル(特にアイキャッチはほぼすべて)は基本的に担当者によってかなり最適化されてからアップロードしている。

現状のSEOにおいてもページの読み込み速度は速い方が良いとはされているし、何より読み込み速度は速いに越したことはない。「何が起きているのか」までは明確に出来なかったが、一応の対策手段は見つけてみた。

まず、WordPressが「画像をアップロード時に自動的にリサイズされたものを生成する」のような画像サイズ変換時には”WP_Image_Editor”というclassを使用する。
そして、その”WP_Image_Editor”はWordPressが動いているサーバー環境によって2種類のうちどちらかが使われている。

具体的には”GD”ライブラリに依存したclass-wp-image-editor-gd.phpと
“ImageMagick”に依存したclass-wp-image-editor-imagick.phpがあり、
“ImageMagick”が使用可能なら優先的にclass-wp-image-editor-imagick.phpが読み込まれるようだ。

上記の、「自動リサイズによる画像ファイルのファイルサイズが大きい」という現象が起きていたサーバーでは”ImageMagick”が入っていなかった。そのため、…

ログインして続きを読む