「EWWW Image Optimizer」プラグインを有効にして画像をアップロードしたらサイトが重くなる現象と対策

公開日: 更新日: Wordpress
Knowledge Base トラブル 対処




WordPressのサイトで「EWWW Image Optimizer」に限らずアップロードした画像を自動で縮小(圧縮)するプラグインを導入されている方は非常に多いと思います。

でも私と同じようにいつも通り画像をアップロードしたら管理画面(バックエンド)、表示画面(フロントエンド)ともなんだか非常に動作が重くなったという方もいるのではないでしょうか??

私の場合「何だろう・・」と思ってサーバーの状況を確認したら、なんとすごい高負荷状態になっていました(つまりサーバーの処理が追い付かず、CPUもメモリも全開状態)。自分で立てているサーバーならともかく、他の契約者とシェアしているレンタルサーバーですからこの状況が続いたり、頻発したりすると最悪契約解除なんてこともありますから早めに対処しないといけません。

幸いその時アップロードしたのは2つの画像をアップロードした時だったのでしばらくして処理が終われば元通りにはなりましたが、これがたくさんの画像をアップしたときだったらと思うとちょっとドキドキしました。

今回は同じような現象で困っている方がいたら・・ということで私の行った対策を紹介しておこうと思います。

画像をアップロードしたらサイトが重くなった原因

今回の高負荷はデジタル一眼レフで撮ったビッグサイズの画像をそのままアップロードしたことが原因でした。

画像のアップロードを行うとWordpress側では

  1. 画像の紐づけ(Wordpressのメディアに認識されるようにする)
  2. 指示されているいろいろな大きさの画像を作る

という作業をします。「EWWW Image Optimizer」はこの処理の間に画像の最適化を行います。詳しくどの段階でというのは不明なのですが、通常のアップロード作業と比べてWordpressの動作に負荷がかかる=サーバーに負荷がかかるのは確かです。

事前にそれなりなサイズの画像へ圧縮してからアップロードすればこの問題は起こりにくくなるのは間違いないですが、事前に圧縮や加工するのが面倒だからアップロードした時に自動で圧縮されたらと思ってこうした圧縮プラグインを使う方が多いわけでしょうから何とかしたいところではあるものの、こればかりはサーバーの処理能力(契約)によるところなので、何が何でも・・・とお考えでしたらより高額なプラン(CPUやメモリの容量が大きいプラン)へ変更するしかなさそうです。

そうではなく、単純に画像アップロードと同時に走る最適化のみを停止して、アップロード処理が完了してから任意で画像の最適化ができる方法を次で紹介します。

「EWWW Image Optimizer」でアップロードと同時に最適化をしないようにする方法

「EWWW Image Optimizer」の昔のバージョンでは、同時最適化(圧縮)をしない設定がプラグインの設定画面からできたようですが、現在のバージョン(私の場合は4.8.0)ではメニュー項目から削除されていますので、特殊な設定が必要です。

※この作業はWordpressを動かすための重要なファイル「wp-config.php」へ直接指示する方法となりますので、「wp-config.php?」という方や編集に自信のない方にはおすすめしません。

FTPで「wp-config.php」をダウンロードして開いた後、以下のようにコードを追加し、元の場所へアップロードすることで「EWWW Image Optimizer」のアップロード同時圧縮処理を停止することができます。

編集するコード

define('WP_DEBUG', false);
【注意】コードをコピーして使用する前に必ずお読みください

この記事内にコードが記載されている場合、コードはそのままコピー(いわゆるコピペ)してお使いいただいても構いませんが、以下の件にご留意ください。

使用については自己責任でお願いします

コードの確認は私の管理するサイト、またはテスト環境で問題が起こらなかったものですので、お使いの環境での動作等を保証するものではありません。

万が一このコードを使用してサイトに重篤なトラブルが生じても当サイト、当サイト管理者は一切責任を負いません

コードの変換エラーなどにより動作しない場合、更新エラーが出る場合があります

コードをそのままコピーしても問題なく使えるよう文字列変換を行った上で掲載しておりますが、希に変換できていない場合があり、コードエラーとなることがあります

その場合には以下の方法で修正を行ってみてください

  1. コードの中に全角の記号が入っていませんか?
  2. 半角にすることで解消できます
  3. コードの中に全角の空白(スペース)がありませんか?
  4. 半角にすることで解決できます
  5. 上のようなことがないのに更新できない
  6. 特に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。

コードを転載する場合には

ご自身のサイトで当ページのコードを転載される場合には必ず当ページへのリンクを入れていただきますようお願いいたします

の下に
define('EWWW_IMAGE_OPTIMIZER_NOAUTO',true);
【注意】コードをコピーして使用する前に必ずお読みください

この記事内にコードが記載されている場合、コードはそのままコピー(いわゆるコピペ)してお使いいただいても構いませんが、以下の件にご留意ください。

使用については自己責任でお願いします

コードの確認は私の管理するサイト、またはテスト環境で問題が起こらなかったものですので、お使いの環境での動作等を保証するものではありません。

万が一このコードを使用してサイトに重篤なトラブルが生じても当サイト、当サイト管理者は一切責任を負いません

コードの変換エラーなどにより動作しない場合、更新エラーが出る場合があります

コードをそのままコピーしても問題なく使えるよう文字列変換を行った上で掲載しておりますが、希に変換できていない場合があり、コードエラーとなることがあります

その場合には以下の方法で修正を行ってみてください

  1. コードの中に全角の記号が入っていませんか?
  2. 半角にすることで解消できます
  3. コードの中に全角の空白(スペース)がありませんか?
  4. 半角にすることで解決できます
  5. 上のようなことがないのに更新できない
  6. 特に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。

コードを転載する場合には

ご自身のサイトで当ページのコードを転載される場合には必ず当ページへのリンクを入れていただきますようお願いいたします

を追加します。

設定後私のサイトで試したところ自動最適化が止まっており高負荷もなくなりました。

この対応でアップロード時の自動最適化は行われなくなりますから、後からメディアを開いて手動で最適化する必要は出てきます。が、サイトが高負荷で停止してしまったり、最悪サーバー契約が危うくなるという懸念は払しょくされるわけですから、同じ現象が出ているようでしたら早めに対応した方がいいでしょう。

「EWWW Image Optimizer」そのほかにもいろいろと設定画面にない項目の制御ができるようです。

の公式ページに掲載されています。

※基本的に今回の自動最適化と同じように

define('オプション名',動作);
【注意】コードをコピーして使用する前に必ずお読みください

この記事内にコードが記載されている場合、コードはそのままコピー(いわゆるコピペ)してお使いいただいても構いませんが、以下の件にご留意ください。

使用については自己責任でお願いします

コードの確認は私の管理するサイト、またはテスト環境で問題が起こらなかったものですので、お使いの環境での動作等を保証するものではありません。

万が一このコードを使用してサイトに重篤なトラブルが生じても当サイト、当サイト管理者は一切責任を負いません

コードの変換エラーなどにより動作しない場合、更新エラーが出る場合があります

コードをそのままコピーしても問題なく使えるよう文字列変換を行った上で掲載しておりますが、希に変換できていない場合があり、コードエラーとなることがあります

その場合には以下の方法で修正を行ってみてください

  1. コードの中に全角の記号が入っていませんか?
  2. 半角にすることで解消できます
  3. コードの中に全角の空白(スペース)がありませんか?
  4. 半角にすることで解決できます
  5. 上のようなことがないのに更新できない
  6. 特に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。

コードを転載する場合には

ご自身のサイトで当ページのコードを転載される場合には必ず当ページへのリンクを入れていただきますようお願いいたします

で機能を有効/無効にできるようですが、公式ページの参考コードのままコピーして使うと、きちんとコードがエンコードされていないためエラーが出ます(サイトが表示されなくなります)ので気を付けてください。

いつでもご相談・サイトカスタマイズの依頼を受け付けています

Wordpressのカスタマイズ、不具合解消のご相談はすべてココナラのダイレクトメッセージからお受けしております。まずはこちらのバナーからお気軽にお問い合わせください。

※一度もココナラを使ったことがない方はココナラへの無料登録が必要です。こちらから登録後、上のリンクをクリックする、またはココナラトップページから「ひまあーと」を検索してお問い合わせください。


【スポンサーリンク】