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

公開日: 使い方など
Knowledge Base トラブル 対処

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

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

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

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

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

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

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

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

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

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

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

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

「WordPress Popular Posts」プラグインの閲覧View数を個別投稿やページ内、投稿一覧に表示する方法

【WordPress】決まったアイキャッチ画像(サムネイル画像)を投稿作成時に自動挿入する方法

WordPressの「Simplicity」テーマでコメント欄へ表示する文字列を変更する方法


「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. 特にエラーの出た行内に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があり、Wordpressのエディタチェックではこれを「’」や「)」など閉じ子のエラーとして認識され更新できないことがあります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。
  7. 「何かが間違っています...」と表示され、更新できないときは
  8. このエラーは本当に何がエラーなのかをWordpressのチェックが判断できない場合に発生します。解決策としてはその画面を開き直すことなのですが、その際希に元のコードがすべて削除されてしまう場合がありますので、今表示されているコードを一旦どこかへコピーしてからページの再読み込みをするようにしてやり直します。
    ※このエラーは不明なエラーなので予期せぬ動きをする可能性がありますので特に慎重な対処が必要です
これらのエラー対処については以下のページが参考になるかも知れません

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

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

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

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

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

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

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

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

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

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

  1. コードの中に全角の記号が入っていませんか?
  2. 半角にすることで解消できます
  3. コードの中に全角の空白(スペース)がありませんか?
  4. 半角にすることで解決できます
  5. コードは合っているはずなのに更新できないときは
  6. 特にエラーの出た行内に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があり、Wordpressのエディタチェックではこれを「’」や「)」など閉じ子のエラーとして認識され更新できないことがあります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。
  7. 「何かが間違っています...」と表示され、更新できないときは
  8. このエラーは本当に何がエラーなのかをWordpressのチェックが判断できない場合に発生します。解決策としてはその画面を開き直すことなのですが、その際希に元のコードがすべて削除されてしまう場合がありますので、今表示されているコードを一旦どこかへコピーしてからページの再読み込みをするようにしてやり直します。
    ※このエラーは不明なエラーなので予期せぬ動きをする可能性がありますので特に慎重な対処が必要です
これらのエラー対処については以下のページが参考になるかも知れません

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

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

を追加します。

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. コードの中に全角の記号が入っていませんか?
  2. 半角にすることで解消できます
  3. コードの中に全角の空白(スペース)がありませんか?
  4. 半角にすることで解決できます
  5. コードは合っているはずなのに更新できないときは
  6. 特にエラーの出た行内に日本語での文字列が入っている場合には全角での文字列があるということでエラーになる場合があり、Wordpressのエディタチェックではこれを「’」や「)」など閉じ子のエラーとして認識され更新できないことがあります。エラーとして返される行の先頭に空白がある場合には空白をなくすことできちんと認識され更新されるようになることが多いです。
  7. 「何かが間違っています...」と表示され、更新できないときは
  8. このエラーは本当に何がエラーなのかをWordpressのチェックが判断できない場合に発生します。解決策としてはその画面を開き直すことなのですが、その際希に元のコードがすべて削除されてしまう場合がありますので、今表示されているコードを一旦どこかへコピーしてからページの再読み込みをするようにしてやり直します。
    ※このエラーは不明なエラーなので予期せぬ動きをする可能性がありますので特に慎重な対処が必要です
これらのエラー対処については以下のページが参考になるかも知れません

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

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

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

ひまあーと(管理人)
  • 記事の作者: ひまあーと(管理人)

  • ☆最後までお読みいただきありがとうございました。記事作者のひまあーとです。
    ☆Wordpressでサイトをカスタマイズしていく上で有用な情報を配信しつつ、「ココナラ」でサイトカスタマイズのお手伝い、不具合の修復、サイト引っ越し代行などをさせていただいております。
    ☆Wordpressネタが多いですが、趣味の「園芸」「卓球」などの情報や日々の出来事などもどんどん増やしていきますのでよろしくお願いいたします。


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

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

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


【スポンサーリンク】


記事の拡散にご協力をお願いします

閲覧いただきありがとうございました。役に立つ情報でしたら是非SNSでシェアをお願いします

関連情報