下のサムネイルは510×382pxの画像を、100×100pxにWordPressによってリサイズしています。劣化具合がわかりやすいように、わざとjpgが苦手な単色の画像をサンプルにしています。
サムネイル 圧縮率20%
サムネイル 圧縮率50%
サムネイル 圧縮率90%(WordPressデフォルト設定)
サムネイル 圧縮率100%
圧縮率20%、50%でははっきりと劣化が見られます。さらに圧縮率90%でも、文字の周辺に若干の劣化が見られます。そして圧縮率100%になると、概ねキレイにリサイズされているのではないかと思います。
WordPressでは圧縮率90%がデフォルト設定ですが、苦手な画像でもある程度キレイにリサイズされるように、圧縮率100%の設定にコードを変更します。
しかし、Wordpress本体を直接変更しても良いのですが、アップデートのたびにいちいち変更しなおす必要がありますので、ここはテンプレートファイルの「function.php」に追加します。
テンプレートファイルの位置は下記となります。
(WordPressフォルダ)/wp-content/themes/(テンプレート毎のフォルダ)/function.php
テンプレートの「function.php」ファイルに、下記のコードを追加するだけで、圧縮率の変更ができます。後ろの方の「100」の数値が圧縮率を表しています。この数値を50などにすると、圧縮率が50%になりますので、お好みで調整してください。
add_filter('jpeg_quality', function($arg){return 100;});
PHP5以前の環境でエラーが出るようなら、下記を追加して下さい。
function jpeg_quality_callback($arg)
{
return (int)100;
}
add_filter('jpeg_quality', 'jpeg_quality_callback');
サンプルに示したように、特にjpgの苦手な単色系の写真をアップロードすることが多いようなら、圧縮率を事前に100%にしておく方が無難ですね。