Информация Оптимизация изображений для гугла

alpi

human being
Регистрация
29 Июл 2014
Сообщения
260
Реакции
306
Хочу поделиться найденным решением по оптимизации картинок для гугла.
Утилита от гугла Для просмотра ссылки Войди или Зарегистрируйся

Цель - поднять гугл-попугаев на странице каталога. Сопутствующий мелкий бонус - ускорить загрузку сайта за счет экономии трафика, мобильные клиенты скажут вам спасибо.

Инструкция для линукса.

вводим несколько заклинаний:
Код:
cd /home/user
wget https://github.com/google/guetzli/releases/download/v1.0.1/guetzli_linux_x86-64
chmod +x /home/user/guetzli_linux_x86-64
nohup find /var/www/presta/img/p/ -type f -name "*home_default.jpg" -exec /home/user/guetzli_linux_x86-64 --quality 90 '{}' '{}' ';' &
И оставляем сервер в покое/продолжаем работать - процесс висит в фоне и обрабатывает все картинки, которые выводит преста на странице каталога.
Утилита далеко не быстрая (потому и обрабатываю только один тип картинок, а не все), заявленная скорость около 1Мб в минуту. к счастью, сгенерированные престой имеджи уже небольшие по размеру.
У меня, на очень быстрой впс с выделенным ссд(все иопс мои) и хорошим процом обрабатывает около 1000 файлов в час (при этом одно из ядер загружено на 100%). На недорогих vps скорее всего будет медленнее, расчитывайте на сутки и более, если товаров много.

проверить, сколько файлов осталось обработать можно так:
Код:
find /var/www/presta/img/p/ -type f -mtime +1 -name "*home_default.jpg" | wc -l

*home_default.jpg - шаблон актуален для вархаус.

ремарка - во избежание артефактов, не рекомендуется применять для уже пережатых изображений, лучшим вариантом будет в престе перегенерить из исходников картинки с максимальным качеством, а потом прогнать этой утилитой. ну то таке, я не заморачивался.

итог: 89 попугаев вместо 83 в гугле, и экономия около 75кб трафика.

удачи :)

p.s.
после полного прогона хорошо бы автоматом пережимать новые картинки. для этого в крон нужно закинуть вот это:
Код:
find /var/www/presta/img/p/ -type f -name "*home_default.jpg" -mtime -1 -exec /home/user/guetzli_linux_x86-64 --quality 90 '{}' '{}' ';'
проверять раз в сутки
 
Последнее редактирование:
в копилку экономии трафика 2 команды:

yum install zopfli | apt-get install zopfli
for x in `find /var/www/site.com -type f -name '*.html' -o -name '*.css' -o -name '*.js'`; do zopfli -i1000 ${x}; done

эта несложная магия пережмёт все css/js, и клиенту будет отдаваться уже сжатый контент.
на сервере должен быть включен gzip
 
Последнее редактирование:
в копилку экономии трафика 2 команды:

yum install zopfli
for x in `find /var/www/site.com -type f -name '*.html' -o -name '*.css' -o -name '*.js'`; do zopfli -i1000 ${x}; done

эта несложная магия пережмёт все css/js, и клиенту будет отдаваться уже сжатый контент.
на сервере должен быть включен gzip

только после такого тестите результат прямо в браузерах, особенно в малопопулярных, иначе потом будет кучу вопросов "почему вылезло", "почему поплыло", "куда делся блок" и т.д. :)

эффективнее в итоге сжимать на стороне сайта, т.е. модулями

и будет не хуже:
upload_2017-4-29_9-29-27.png

Для просмотра ссылки Войди или Зарегистрируйся
 
ничего не поплывёт, формат .gz отдаётся и читается всеми без проблем уже много лет.
я же не новомодный бротли тут компилировать предлагаю ^_^
модулями эффективно в плане пережатия автоматом при обновлении кеша ? а где такие модули ?

кому-то будет проще закинуть в крон что-то вроде этого :
for x in `find /var/www/site.com -type f \( -name '*.html' -o -name '*.css' -o -name '*.js' \) -mmin 10`; do yes | rm ${x}.gz && zopfli -i1000 ${x}; done
и запускать раз в 10 минут.
 
Последнее редактирование:
ничего не поплывёт, формат .gz отдаётся и читается всеми без проблем уже много лет.
я же не новомодный бротли тут компилировать предлагаю ^_^
модулями эффективно в плане пережатия автоматом при обновлении кеша ? а где такие модули ?

кому-то будет проще закинуть в крон что-то вроде этого :
for x in `find /var/www/site.com -type f -name '*.html' -mmin 10 -o -name '*.css' -o -name '*.js'`; do yes | rm ${x}.gz && zopfli -i1000 ${x}; done
и запускать раз в 10 минут.

дело не в алгоритме сжатия - с ним проблем нет
дело в коде, который сжимается, особенно если в CSS/JS есть куча синтаксических ошибок

в друпале давно есть уже решения типа Для просмотра ссылки Войди или Зарегистрируйся
в престе - ещё в разработке, но попытки есть
 
  • Нравится
Реакции: alpi
отличный модуль, конечно, под престу и близко ничего похожего не видел. хотя с зоопарком тем в престе наверное это не удивительно.
справедливости ради, большая часть настраивается руками, а некоторые штуки к престе вроде и не применимы в виде модуля - кошерная сборка css в том же вархаусе уже давно стала недостижимым идеалом.

а что не так со сжатием? это не оптимизация js/css, а архивирование. рядом с каждой css/js ложится архивная версия, которую сервер напрямую отдаёт клиенту.
клиент в любом случае получает архив, просто в данном случае он отдаётся файлом, а не пережимается на лету.

zopfli лучше сжимает, чем простой gz, очень быстро и просто ставится
гурманы паралельно ещё и brotli одновременно настраивают, но там установка сложнее. ещё +3-5-7% экономии при передаче на современных браузерах.
экономия 50-100-200 кб данных - это ещё и сэкономленные хендшейки tcp соединений, всюду win-win.
 
Последнее редактирование:
Назад
Сверху