WordPressでアップロードした画像の圧縮率を変更する

 

 Web技術

WordPressで画像をアップロードしてページを見ると
どうにもその画像の画質が悪い。。。

この画質の劣化の原因と解決方法を調べました。

劣化の原因はWordPressの標準画質設定

アップした画像は
自動的にリサイズ(サムネイル・中・大サイズなど)されて保存されますが、
標準の設定ではリサイズされる際にオリジナル画像の90%の容量に圧縮してしまうそうです。

ちなみに画質が変化するのはWordPressがリサイズする画像のみに反映されるようで
フルサイズ(元データ)の画質は劣化しないようです。

解決方法

functions.phpに下記のコードを追加します。

※【注意】既にアップロードされている画像の劣化は解消されません。

「return 100;」の部分が圧縮率になります。
100で無圧縮・無劣化になり、
数値を下げると圧縮率が高くなり画質が劣化します。

わざわざ数値を下げて画質を落とす必要はないと思いますが(笑)

実際に検証してみる

アップした画像(元サイズ1200X800px)の大サイズ(幅の上限600指定)で見ていきます。

無圧縮・無劣化の100%(return 100)

WordPress標準の90%(return 90)

50%(return 50)

10%(return 10)

90%と100%で容量の差も数百KB程度だったりしますし
綺麗な画質に越したことはないと思いますので
テーマ構築時には記述しておいても良いかと思います。

こちらの処理と合わせると良いかもですね。
WordPressで画像アップロードの自動生成を停止・リサイズして容量を減らす

 


▼参考にさせていただきました。ありがとうございました。

 この記事の投稿者

taka

taka

Webサイト作ってます。
最近のモットー「決して無理をしないスタイル」

twitter: @taka_sbs

  • このエントリーをはてなブックマークに追加
  • 2 follow us in feedly

コメント

  • Madda より:

    初めまして。
    同じ問題で困っていてこちらに辿り着きました。

    当方SiteOriginのUnwindテーマを使っているのですが、takaさんが記載しているfunction phpのコードが見当たらないのですが、そのどう対応すればいいでしょうか。

    もしご教示いただけましたら幸いです。
    よろしくお願いします。

    • taka taka より:

      Madda 様
      遅くなってしまい申し訳ございません。
      元々は入っていないコードですので
      コピーしてfunction.php内に張り付けて確認してみてください。
      ※サーバーのPHPのバージョンの確認を忘れずに

      よろしくお願いいたします。

  • イチオカノブユキ より:

    コメント失礼します。
    function phpにはワードプレスの設定から辿り着きましたが、何行目に貼り付ければよいのでしょうか?
    試しにphp5.2のパターンで1行目に貼り付けましたが効果なし。
    PHP5.2、PHP5.3の見分け方もわかりません。
    ちなみに「PHP5.2 PHP5.3 見分け方」で検索しましたが、そのような情報はなし。
    どのコードを何行目に貼ればいいのか謎です。

    • taka taka より:

      イチオカノブユキ 様

      PHPのバージョンについてはレンタルサーバーによるので
      ご利用のサーバー契約とスペックなどをご確認いただくとよろしいかと思います。

      functions.phpへの追加ですが特に何行目ということも無いようですが
      自分は最後尾に追加して動作したので
      最後尾に追加して試してみると良いと思います。

メッセージ

入力エリアすべてが必須項目です。
メールアドレスが公開されることはありません。

*コメント

*名前

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

ページ最上部へ