Image Quality Control | Still BE

説明

WordPress では、画像をアップロードするとさまざまなサイズの画像が自動生成されます。このプラグインは、各サイズの画質を適切なレベルに調整することで、画質を損なうことなく、ファイルサイズを抑えてページの読み込みを高速化します。
インストールして有効化すれば、すぐに適切な設定で動作します。使い始めるのに、面倒な設定は一切必要ありません。

すべて自分のサーバで完結

処理はお使いのサーバ上で行われます。クラウド利用料、クレジット購入費用、サードパーティの透かしなどは一切ありません。
画像が再生成される際、プラグインは常に元のアップロードデータから再生成処理を行います。設定を変更して何度再生成を繰り返しても、世代を経るごとに画質が低下することはありません。(世代劣化が発生しません)
これにより、コスト削減と長期的な画質維持の両方が実現されます。

WebP / AVIF の自動生成

WebP と AVIF は、ファイルサイズを小さく抑えつつ高い画質を維持できる次世代フォーマットです。
対応しているサーバ上では、このプラグインがこれらの形式の画像を自動生成し、対応しているブラウザに配信します。その際、コンテンツ内の画像 URL を書き換える必要はありません。

設定の調整 (オプション)

デフォルト設定のままで十分に最適化されます。サイズや形式 (JPEG、PNG、WebP、AVIF) ごとに品質レベルを自分で調整することも可能です。
これは特に、WooCommerce やその他の商品販売サイトなどにおいてとても有用です。こうしたサイトでは、商品一覧ページを高速表示するために商品サムネイルを軽量化しつつ、詳細表示では大きな商品写真をシャープに保つことができます。
また、設定を自分の目で比較したい場合のために、「品質レベルのテスト」を行うことができます。

自動最適化 (オプション、β機能)

アップロード後も、プラグインはバックグラウンドで動作を続け、画質を維持しつつファイルサイズが小さい設定を探し出します。
2種類の異なったアルゴリズムによる画質評価によりブロックノイズや色飛び (バンディング) を抑えることができます。
進捗状況とファイルサイズの削減量は、画像ごとに記録されます。

プライバシー保護

写真データには、GPS 位置、カメラ機種、撮影日時などの EXIF メタデータが含まれていることがよくあります。
デフォルトでは、このプラグインは画像の処理時に EXIF データを削除します。これにより、例えば撮影場所から自宅がばれてしまうことを防ぎ、プライバシー保護に役立ちます。
EXIF データを保持する必要がある場合は、設定でこの機能を無効にすることができます。

追加オプション

  • セキュアなファイル名の保証 (マルチバイトのファイル名を書き換える)
  • Exif から Alt の自動生成 (JPEG のみ)
  • 圧縮品質レベルのサフィックスを追加
  • インターレース / プログレッシブの有効化
  • インデックスカラー (PNG8) の使用
  • “srcset” 属性の最適化
  • 画像キャッシュ削除のクエリ文字列の強制追加
  • 大きな元画像の削除 ※

※バージョン2.0以降で利用可能です。

管理ツール

  • カスタム画像サイズの追加
  • 大きな画像となる閾値を変更
  • 再圧縮の実行
  • WP-Cron を使った自動的な再生成

使い方

インストールして有効化することで適切な設定でアップロード時の最適化がすぐに開始されます。サーバが対応している場合は、WebP や AVIF での最適化も開始されます。

  1. インストール
  2. 有効にする
  3. より細かく調整したい場合は、後で設定を変更してください
  4. サイトにすでにアップロードしている画像にもその設定を適用したい場合は、その画像を再圧縮してください

再圧縮を行う前に必ずバックアップを取っておいてください。

設定を開く

WordPress の管理画面を開き、設定 画像の圧縮品質

スクリーンショット

インストール

  1. あなたの管理画面のプラグイン検索欄に「Image Quality Control」と入力します。
  2. このプラグインを見付けたら、「今すぐインストール」をクリックしてインストールします。
    (他の方法) あなたの管理画面のプラグイン新規追加から「stillbe-image-quality-control.zip」を直接アップロードして下さい。
    (他の方法) 解凍した「stillbe-image-quality-control」ディレクトリを /wp-content/plugins ディレクトリ以下にアップロードして下さい。
  3. WordPress のプラグインメニューからプラグインを有効にします。
  4. 画像の最適化はプラグインにお任せください。さぁ WordPress を楽しみましょう!

FAQ

クラウドサービスやクレジット購入は必要ですか?

いいえ。
すべての処理はユーザ自身のサーバ上で実行されます。最適化に掛かる手数料や利用クレジット、サードパーティの透かしなどは一切ありません。

すでにアップロード済みの画像は最適化されますか?

プラグインを有効にすると、新たにアップロードした画像に対して現在の設定に基づいて最適化を実行します。
すでに保存されている画像については、再圧縮を行うか自動再圧縮を有効にするまでは、現在のファイルがそのまま保持されます。
また、これらのオプションが有効になる前にアップロードされた画像について、WebP / AVIF 形式のファイルを生成するには、再圧縮を行う必要があります。

再圧縮はした方がいいですか?

通常使用では必須ではありません。
すでにアップロードされていた画像に改めて画質設定を適用したい場合や、まだ WebP / AVIF 形式のファイルがない画像に対してそれらを作成したい場合は、再圧縮を行ってください。

再圧縮と自動最適化の違いは何ですか?

再圧縮では、設定された品質設定に基づいて、元画像からリサイズ・書き出しを行います。(WebP / AVIF 含む)
自動最適化はオプションのバックグラウンド処理であり、構造的類似性 (SSIM) を指標にファイルサイズを削減できるか試行します。ここで、品質レベルが低く、ブロックノイズや色飛び (バンディング) が懸念される場合には二次チェックを行い品質レベルが下がりすぎないように補正します。
また、再圧縮のみを使用することも可能です。自動最適化はデフォルトで無効になっています。

自動最適化とはなんですか?

SSIM (構造的類似度) を客観的な品質指標として使用し、目標とする画質に達するまで、リサイズされた各画像の品質レベルを段階的に下げます。
SSIM のみでは圧縮率が過度になる可能性がある場合、エッジ検出に基づく二次チェックにより、ブロックノイズや類似のアーティファクトを検出し、必要に応じて品質レベルを引き上げます。
この処理はバックグラウンドで自動的に、画像ごとに順次実行されます。(デフォルトでは無効)

自動最適化は WebP をアップロードした時も有効ですか?

はい、WebP 画像をアップロードした際にも最適化処理を行うことができます。

WebP と AVIF を利用するには、サーバに何が必要ですか?

WebP は、サーバの画像ライブラリが WebP に対応している場合 (Imagick や GD で WebP が有効の場合)、あるいはオプションの cwebp ベースの拡張機能が利用可能な場合に生成できます。
AVIF を使用するには、AVIF をエンコードできる画像ライブラリ (Imagick や GD で AVIF が有効の場合、 imageavif 関数が利用可能な場合) が必要です。
プラグインの設定画面では、お使いのサーバーで WebP および AVIF が利用可能かどうかを確認できます。
これらの次世代フォーマットが利用できない場合でも、JPEG および PNG の圧縮は通常の WordPress 画像エディタで動作します。

WebP や AVIF を利用するには URL を書き換える必要がありますか?

いいえ。
画像の URL は、従来の JPEG / PNG のままで利用ができます。
対応しているサーバでは、このプラグインが /wp-content/uploads ディレクトリ下に .htaccess ファイルを配置します。これにより、image/avif または image/webp を指定してリクエストを送信するブラウザは、該当するファイルが存在する場合、それらを受け取ることができます。AVIF と WebP の両方が利用可能な場合は、AVIF が優先されます。

CDN や nginx 環境で WevP / AVIF の配信は行われますか?

一般的に WordPress が利用可能な共有サーバなどでは Apache がアップロードされたファイルを配信し、.htaccess を利用可能であり、通常は追加の設定は必要ありません。共有サーバでは、ほとんどの場合が該当します。
同様に nginx をリバースプロキシとして利用したサーバでも、静的ファイルは Apache で処理されるため、.htaccess が引き続き機能することがあります。
カスタムルールが必要になるのは、主にサイトが純粋な nginx 環境 (Apache の.htaccess が利用できない場合) であるか、CDN が Accept / Vary ヘッダーを無視して JPEG / PNG レスポンスをキャッシュしている場合です。そのような環境では、CDN または Web サーバ上で同等の配信設定を行ってください。

WooCommerce で利用できますか?

はい。
画像サイズごとに異なる品質レベルを設定できるため、カタログのサムネイル画像は軽量に保ちつつ、より大きな商品画像はシャープな状態を維持できます。

WebP のシャープネスが良くありません。

WebP の品質レベルを上げて下さい。
品質レベルは、ファイルサイズと画質をテストして決めると良いでしょう。

WebP の品質を上げても、まだぼけて見える場合は、サーバが対応していれば AVIF を有効にしてください。
AVIF は同程度のファイルサイズでも細部が残りやすく、ほとんどのブラウザが対応しており AVIF が優先して配信されます。

品質レベルを何度も変更して再圧縮する場合、画質が劣化していきますか?

いいえ。
再圧縮は常に元画像からリサイズ・圧縮するため、世代劣化しません。

EXIF の項目ごと個別に削除することはできますか?

いいえ。
全ての EXIF データを削除するか、残すかのいずれかのみを選ぶことができます。

アップロード済み画像の EXIF を削除できますか?

はい。
再圧縮時も現在の EXIF 設定に従って適用されます。
ただし、すでに削除された EXIF を復元することはできません。

プラグインを無効化すると WebP / AVIF の自動配信が停止しますか?

はい。プラグインを無効化すると、プラグインは .htaccess のルールを削除します。
/wp-content/uploads ディレクトリに同等の .htaccess ファイルが残っている場合、プラグインを無効化した後も配信は継続されます。

プラグインの設定は ‘jpeg_quality’ フィルターフックよりも優先されますか?

はい。このプラグインで設定された画質レベルは、WordPress の jpeg_quality フィルターよりも優先されます。

プラグインをアンインストールするにはどうすればよいですか?

プラグインを無効化してから、プラグイン一覧画面から削除してください。
無効化すると、WebP / AVIF 配信に使用される .htaccess のルールが削除されます。最適化された画像ファイルは「uploads」フォルダに残ります。
データベースに保存されているプラグインの設定は自動的に削除されません。設定を消去したい場合は、アンインストールする前に「設定のリセット」を行ってください。

品質レベルを上げて再圧縮しても、画質が良くなりません。

ブラウザキャッシュの可能性があります。ハード再読み込み、もしくはブラウザキャッシュを削除してください。
このプラグインは、キャッシュを強制クリアするクエリ文字列を自動的に付加します。
もし元々の画質が低い場合、元画像以上にシャープな画像は生成できません。

「大きな元画像の削除」はどのような機能ですか?

スマートフォンなどで撮影された画像をそのままアップロードした際に -scaled が付いた画像が作成された時に、元の非常に大きな画像を削除します。
このファイルはどこからも参照されないため、サーバのストレージ容量の削減に効果があります。

評価

2023年3月21日 1 reply
このプラグインをWooCommerceで使用しています。操作性はシンプルなのに高機能なところが素晴らしいです。 商品サムネイルは低画質で高速表示、見せたい商品画像は高画質で鮮明に表示と、画質を使い分けられるところがWooCommerce向きだと思います。 画質を一律にしか設定できないプラグインでは、画質を犠牲にして高速表示を取るか、画質を優先して低速表示に甘んじるか、どちらか一つでした。 このプラグインは、高速表示と高画質表示の両方を叶えてくれます。EWWW Image Optimizerから乗り換えて正解でした。 WooCommerce以外では、高画質できれいな写真を見せたいフォトグラファーやアーティストに最適だと思います。
2023年1月9日 4 replies
 余分な機能がなく、必要な部分には詳細な設定も用意されており、画像の圧縮だけをしてくれるシンプルで高品質なプラグインはないかと考えた際の最適解ではないでしょうか。  画像圧縮のプレミアムプラグインに優るとも劣らないプラグインかと思います。  ただ、これはかなりのレアケースだと思いますので評価を下げてはいませんが、再圧縮メニューを表示する際に、自サイトの画像ファイルが非常に多い場合、メニュー画面がまともに操作することができないくらいに重くなってしまうという状況が発生しました。(メディアファイル投稿時の自動圧縮に関しては問題なく機能しています)  とは言えこれは、私のサイトは画像投稿コミュニティのため、画像ファイルが9万を超えてしまっているために起きたことですので、一般のケースには当てはまらないでしょう。  繰り返しになりますが、画像ファイルが5千ほどのサイトでも、全画像の再圧縮機能も全然問題なく機能していましたので、一般的なユースケースでは問題が起こらないかと思いますし、プラグイン自体は素晴らしいものでした。  ただ欲を言うなら、私のようなケースでも利用することができるように、オプションテーブルなどを利用せず内部的な処理のみで軽量な、全画像の再圧縮ボタンも作っていただけるのなら、大変ありがたいとは思います。
2022年10月5日 1 reply
Amazing! Really detailed plugin for such an “unimportant” task. I like this kind of hidden perfectionism and total control. Thanks!
3件のレビューをすべて表示

貢献者と開発者

Image Quality Control | Still BE はオープンソースソフトウェアです。以下の人々がこのプラグインに貢献しています。

貢献者

“Image Quality Control | Still BE” は2ロケールに翻訳されています。 翻訳者のみなさん、翻訳へのご協力ありがとうございます。

“Image Quality Control | Still BE” をあなたの言語に翻訳しましょう。

開発に興味がありますか ?

コードを閲覧するか、SVN リポジトリをチェックするか、開発ログRSS で購読してみてください。

変更履歴

2.1.3

EXIF 情報の削除処理を変更し、ファイルの権限が親ディレクトリから継承されるように変更。
これにより、以前の処理で画像ファイルに誤ったパーミッションが設定されたままになっていた場合、再圧縮時の権限の不整合を修正します。

2.1.2

エディタが GD の時に EXIF 情報を削除するとファイルの権限が正しく設定されないバグを修正。

品質テストで AVIF に品質レベルが 100 を設定できるように変更。

優先する画像エディタの選択設定を追加。

2.1.1

Imagick による WebP と AVIF のエンコードオプションを改善。

AVIF の品質レベルを 1〜99 に制限。100 にするとロスレス変換になります。

軽微なバグを修正。

2.1.0

AVIF 自動生成を追加。

最適化処理によって品質レベルが過剰に低下するのを防ぎ、ブロックノイズやバンディングによる画質の低下を検出する二次チェックを追加。

より良い最適化画像になるように設定を改善。

2.0.1

同時に実行できる自動最適化の処理数を制限する設定を追加。

最適化処理に関するバグを修正。

SSIM 値がテスト画面で表示されないバグを修正。

2.0.0

SSIM (構造的類似度) を用いた自動最適化処理を追加しました。(β版機能、デフォルトでは無効)
最適化は WP-Cron を介してバックグラウンドで実行され、各サイズについて SSIM の目標値を満たす最低の画質レベルを画像の品質テーブルの設定値を上限として探索します。目標レベル (高効率・最適・高画質) は設定で選択可能です。
自動最適化の並列処理数には制限があります。
再圧縮後、代替配信用の WebP ファイルは、自動最適化によって置き換えられるまで保持されます。
進行状況と総サイズ削減量 (削減率および節約されたバイト数) は、添付ファイルのメタデータに保存され、メディアライブラリのリストビューに表示されます。
管理操作を admin-ajax.php から、WordPress REST API に移行しました。

WordPress の最低必要バージョンを5.8に変更。
すべての REST API エンドポイントに権限チェックを追加。
プログレッシブ JPEG の切替設定が適用されないバグを修正。
アップロードされたファイルの保存前に、安全なファイル名変換が適用されるように処理順序を変更。
JPEG セグメントを正しく解析できるよう、EXIF 削除処理を変更。
ページ読み込みのたびにファイルシステムにアクセスする必要がないよう、キャッシュクリアのクエリー文字列を改善。

自動最適化機能のない安定版をご利用の際は、バージョン 1.7.4 をご利用ください。

1.7.5

拡張プラグインの最低バージョンを更新。

1.7.4

GD 環境で発生する Fatal Error を修正。

1.7.3

WordPress 6.8 での動作確認。

1.7.2

WordPress 6.7 での動作確認。

1.7.1

WordPress 6.4 での動作確認。

1.7.0

WordPress 6.3 での動作確認。

1.6.0

Requests_Transport_fsockopen クラスを \WpOrg\Requests\Transport\Fsockopen クラスに変更。

1.5.2

一括再圧縮が終了せずにループする不具合を修正。

1.5.1

プラグイン設定画面で画像サイズを追加して保存後、サイズ名を変更した時に画質の設定に失敗する不具合を修正。
再圧縮のタブで、対象の画像 ID をすべて表示することをやめてファイル数のみを表示するように仕様を変更。

その他、細かい不具合を修正。

WordPress 6.2 での動作確認。

1.5.0

EXIF 削除の際に空のファイルが渡されるとエラーが発生する問題を修正。

WordPress 6.1 での動作確認。

1.4.0

画像に埋め込まれた EXIF データを除去する処理を追加。

1.3.0

PHP 7.2 以前のバージョンでエラーが発生するバグを修正。
WordPress 6.0 での動作確認完了。

1.2.4

WebP をアップロードする際、従来形式の画像を置き換えるための WebP を自動生成するオプションを無効化すると、WebP のリサイズ画像が生成されない問題を修正。

1.2.3

翻訳関数のテキストドメインを一部修正。

1.2.2

翻訳関数を、wp.18n に変更。
管理画面のタブ制御を微調整。

1.2.1

WP-Cron によるページ速度低下を改善するオプションを追加。cURL のバージョンが 7.32.0 より古い場合、タイムアウトに小数点が使用できない。
画像キャッシュをクリアするためのクエリ文字列の更新日時の取得方法を変更。
Imagick で WebP の mime-type が正しく検出されないバグを修正。
品質テストで、元画像の品質レベルが設定されたレベルにならないことがあるバグを修正。

1.2.0

画像キャッシュを削除するためのクエリ文字列を追加できるフラグを追加。
インターレースフラグを JPEG と PNG で個別に設定できるように変更。

1.1.2

一括変換の対象条件の設定を追加。
WordPress 5.9 で動作確認を完了。

1.1.1

品質レベルをテストする「品質レベルのテスト」タブ以外の設定ページを開いて読み込むと、オプションが表示されないバグを修正。
GD ライブラリを使用するサイトでは PNG8 に変換すると透明色が保持されないため、GD では PNG8 の有効化オプションの初期値を ‘false’ に変更。

1.1.0

PNG8 対応。品質レベルテストでオプション切替をサポート。

1.0.0

正式リリース
元画像の品質レベルを画像の大きさよる設定を可能に変更。

0.10.9

‘jpeg_quality’ フックで品質レベルを変更したときに ‘medium’ サイズ以外がこのプラグインの設定値にならない不具合を修正。

0.10.8

品質設定が空の時にデフォルトの品質が使用されないバグを修正。
設定値を表示する機能を追加。

0.10.7

このプラグインが設定する品質設定の優先度を向上。

0.10.6

圧縮情報テーブルの品質レベルを修正。

0.10.5

サイトアイコン用の品質レベルテーブルを追加。
メディアライブラリ (リスト表示) に単一画像の再圧縮ボタンを追加。
翻訳を更新。

0.10.4

メディアライブラリ (リスト表示) に圧縮情報を追加。
ある条件下でサイトアイコンが設定できなくなる不具合を修正。

0.10.3

設定切替のデフォルト設定を表示。

0.10.2

0.10.1 の不要ファイルの削除がうまくできていなかったので修正。

0.10.1

/includes 以下のフォルダー分けの際に残ってしまった古い元ファイルを削除。

0.10.0

設定画面をタブ化。
バグの修正。

0.9.1

拡張プラグイン用の処理を調整。

0.9.0

バグ修正。
拡張プラグインのための機能追加

0.8.1

品質テストで品質レベルを変更できないバグを修正。
特定の1画像のみを再圧縮する機能を追加。

0.8.0

以下の機能をサポート
1.カスタム画像サイズの追加
2.srcset 属性の最適化
3.大きな画像の閾値の変更
4.WP-Cron による再圧縮の自動化

0.7.5

WordPress 5.8.1 対応。
デフォルト値を変更。

0.7.4

設定値をリセットできないバグを修正。

0.7.3

バグの修正。

0.7.2

テスト用画像プレビューをデバイスピクセル比を考慮した画像サイズに変更。

0.7.1

品質レベルをテストできる機能を追加。

0.6.1

設定画面の説明を更新。

0.6.0

WordPress 5.8 対応。元画像の WebP が生成されないバグを修正。
再圧縮を中断できるように機能更新。

0.5.3

WordPress のプラグインディレクトリにて初回リリース。

0.5.0

設定ページの項目を整理し、説明を追加。設定画面で設定した設定値が適応されるように変更。

0.4.0

設定ページの追加、Image Editor の選択時に WebP が有効なライブラリを優先するように変更。

0.3.1

アップロード画像を削除する際に WebP も同時に削除するように処理を追加。

0.3.0

WebP の生成に cwebp ユーティリティを使うように変更。

0.2.0

コアの Image Editor を拡張するクラスを追加し、GD / Imagick でリサイズ画像を作成するときに圧縮品質を個別に設定する。

0.1.0

‘wp_generate_attachment_metadata’ フックで GD 関数を使用してアップロード時にリサイズされた画像を上書きする。