В свое время задавался таким же вопросом, в итоге сделал оптимизацию на vps.
После загрузка jpg-картинки, картинки нарезаются по нужным размерам, затем оптимизируются в 2х форматах: jpeg (Mozilla MozJpeg) и webp
Формат png не меняю, так как загружаю уже оптимизированный (в основном это документы).
Что такое Mozilla MozJpeg и webp можно посмотреть в онлайн сервисе:
https://squoosh.app/