Разбираем задачу освобождения места на хостинге за счет сжатия оригиналов и перегенерации изображений для витрины.

Предполагаю вариант когда у всех изображений есть исходник, в терминах webasyst "оригинальное изображение". Регулируется галочкой в разделе Магазин->Настройки->Изображения.

Когда оригиналов нет, путь немного другой, нужно работать с папкой /wa-data/public/shop/products, а не /wa-data/protected/shop/products как в случае с оригиналами. И подход тоже без оригиналов тоже надо корректировать.

Скачать фото проще всего запаковав на хостинге папку  /wa-data/protected/shop/products и скачать к себе на компьютер. В некоторых случаях можно рассматривать сжатие изображений прямо на сервере через командную строку, а далее менять названия у боевой папки и у сжатой папки местами. Проверять все ли в порядке после перегенерации эскизов. По разным причинам этот подход мы используем редко.

Далее есть много вариантов по оптимизации фото в зависимости от ситуации. 

Самое простое:

Распаковать архив, открыть в программе xnconvert и сжать изображения. В принципе часто этого может быть достаточно. 

Чтобы достичь наибольшего эффекта с особой осторожностью можно:

  • изменить расширение всех файлов на .jpg. Учесть что пропадет прозрачность у png файлов, если это как-то используется в дизайне. Также потребуется изменить базу webasyst после этой операции. В программе также стоит установить удаление исходных файлов в папке, чтобы итоговый размер архива не стал еще больше. Настройка xnconvert
  • ограничить максимальный размер по длинной стороне, например сделать 1500пх не более. Настройка xnconvert
  • обработать все файлы с помощью программы Adobe Lightroom. Данный метод полуручной\ручной, но его никогда не нужно отметать! Если это сильно может улучшить внешний вид вашего сайта. 

К примеру, качественная обрезка фотографий может привести ваш список товаров к такому результату:

Результат пакетной обрезки с помощью Lightroom

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

Если вы обрабатывали фотографии программой Lightroom, то все фото после экспорта у вас будут в новой общей папке. И после этого потребуется воспользоваться нашей  инструкцией по раскладыванию изображений по папкам. Как-либо спрогнозировать трудоемкость масштабной обрезки через lightroom можно, но в каждом конкретном случае отдельно. Если говорить грубо, то вполне возможно полувручную обрабатывать по 5000 фото за 3-4 часа. В некоторых случаях потребуется также автоматизированный скрипт в фотошопе, если требуется радикальная смена холста. 

Если вы преобразовали все расширения файлов к .jpg, то необходимо обработать таблицу shop_product_images. В ней есть колонка ext, в которой нужно принудительно установить новое расширение jpg.

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

Полученный архив с обработанными фотографиями закачиваем обратно на сервер, переименовываем старую папку protected и подкладываем новую.

После этого заходим в админке Магазин->настройки->изображения. И в самом низу переходим по ссылке "Удалить и заново создать эскизы изображений всех товаров". Устанавливаем галку - "Восстановить полноразмерные изображения товаров из оригинальных загруженных версий (бекапов)" и запускаем процесс.

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