Раздача webp картинок в Nginx

webp-ON-OFF
Как то раз когда на одном сайте был превышен лимит канала трафика в 40 Мегабит/с и сайт начал жутко тормозить - я задумался, а что можно сделать да бы сэкономить и не платить больше да ещё чтоб не тормозило?
И я нашел решение - это gzip офлайн.
Но он картинки jpg и png сжимает всего на 1%, а swg сжимает очень хорошо. Я начал искать дальше и наткнулся на альтернативные форматы картинок и среди них был webp формат и я остановился на нём.
Экономия трафика составляет в среднем 26%.

Сначала установим webp.

После этого этим скриптом можно сжимать всё что есть в папке /home/dj-x/dj-x.info/uploads

Рядом с оригинальными картинками png jpg jpeg будут созданы дубликаты в новом формате webp.
file.png
file.png.webp

После того как переконвертировали все картинки нужно ещё добавить немного в конфигурацию Nginx.
Вставляем его выше вашего кеширования.


Всё! Теперь Nginx будет раздавать картинки в формате webp тем браузерам которые его поддерживают - те которые не поддерживают будут грузить jpg и png.
Важно - расширение при этом меняться не будет и ссылки менять не нужно и переадресации тоже не будет - тип файла только будет меняться и размер.
content-type image/webp.

В браузере EDGE есть поддержка webp но для этого нужно скачать с магазина расширение для изображений
Webp Image Extensions.
Но чтобы это работало в EDGE и Firefox нужно вставлять ссылки на картинки так:


Дальше будет продолжение ели ещё что то найду.

Webp конвертер для Windows
Gzip сжатие в Nginx
Подробнее