WordPressにはリサイズ機能があって、画像を挿入する際に「大サイズ」や「サムネイル」などからサイズを選ぶことができますね。
このリサイズ機能を使うと、デフォルトでは圧縮率90%なので、JPEGの画質が少し落ちます。
圧縮率については、wp-includes/deprecated.phpの3250行目あたりで定義されています。古いバージョンのWordPressだとmedia.phpで定義されていたみたいですね。
function image_resize( $file, $max_w, $max_h, $crop = false, $suffix = null, $dest_path = null, $jpeg_quality = 90 )
$jpeg_qualityを100にすれば、圧縮されずに画質を保つことができるのですが、コアファイルはなるべく変更したくありません。
functions.phpでリサイズ時の圧縮率を制御する方法が、かちびと.netさんに掲載されていたので、紹介したいと思います。
JPEG画像リサイズ時の圧縮率を変更する方法
JPEGをリサイズした時の圧縮率を変更するには、利用しているテーマのfunctions.phpに下記の記述を追加します。
なお、サーバーのPHPバージョンによって、記述方法が異なります。
PHP5.2以下の場合
add_filter('jpeg_quality', create_function('$arg','return 100;'));
もしくは
function jpeg_quality_callback($arg) { return (int)100; } add_filter('jpeg_quality', 'jpeg_quality_callback');
PHP5.3以上の場合
add_filter('jpeg_quality', function($arg){return 100;});
これで、画質の劣化を防ぐことができます。
あとがき
上述したコードでは圧縮率を100%にしていますが、数字の部分を変更すれば70%や60%にすることも可能です。