Из Википедии:
Сжатие изображения может быть с потерями или без потерь. Методы с потерями особенно подходят для естественных изображений, таких как фотографии (например, файлы JPEG), в приложениях, где незначительная (иногда незаметная) потеря точности приемлема для достижения существенного снижения скорости передачи данных.
Оптимизация JPEG считается очень эффективным способом уменьшения размера файла JPEG при сохранении качества изображения. Цель состоит в том, чтобы уменьшить размер фотографий, не влияя на их воспринимаемое (заметное) качество. Оптимизированное изображение должно выглядеть идентично исходному изображению для людей, даже если оно было уменьшено до 30% от исходного размера или даже меньше.
Существует несколько инструментов для оптимизации JPEG, в основном инструменты командной строки (библиотеки); самые популярные из них - jpegtran & jpegoptim (Google PageSpeed рекомендует использовать их тоже).
Если вы ищете более удобный инструмент, я рекомендую использовать JPEGmini. Это онлайн-сервис, и он бесплатен для личного использования. Я не знаю, является ли это лучшим инструментом для оптимизации тысяч фотографий (см. FAQ), но по моему опыту, он отлично справляется с оптимизацией фотографий JPEG.