3 изображения

Информация о файле

Оптимизация (сжатие) изображений - Гугл PageSpeed одобряет.

Максимальное сжатие изображения без потерь на обычном хостинге " shared hosting" (об условиях см. ниже) и VDS .

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

У вас будет и mozjpeg, и  optiPNG на обычном хостинге. CGI-скрипты разрешает почти любой хостер. 

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

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

Отсутствие у хостера imagick теперь не является ограничением для использования mozjpeg, и  optiPNG.

   
По поводу снятия практически всех ограничений на работу функции суперсжатия на обычном хостинге в будущих версиях модуля

 

Спойлер

 

В будущих версиях будет снято ограничение из-за требования наличия возможности запуска cgi-скриптов.  Достаточно будет наличия хотя бы cron (запуск по расписанию).

Также не будет необходимо наличие функции php exec (она есть у большинства хостеров).  В этом плане все принципиальные моменты уже решены.

Т. е. у хостера, у которого почти все запрещено, но есть хотя бы cron,  можно будет запускать суперсжатие в фоновом режиме.

 

 

Максимум настроек водяного знака (watermark): его позиция, поворот, прозрачность и т. д.

Можно настроить ограничение (запретить применять) для водяного знака как по имени файла/папок, так и по  размерам.

Адаптивный ресайз (resize, обрезка) изображения.

 

pagespeed.jpg.8ab17f996d4619cc5bddf44c4762c429.jpg
 

Основной функционал модуля - это добавление водяного знака на изображения.  Как бонус - это использование автоматического  супер-сжатия картинок без потерь качества для форматов JPEG и PNG.

 

Работает как на обычном (виртуальном/ shared) хостинге, так и на VDS/VPS.

На VDS/VPS получаете максимум возможностей. На обычном (общем/виртуальном) хостинге -  меньше. Модуль сам подстраивается под возможности любой хост-площадки.

 С версии 1.1.0 получаете максимальное сжатие для JPEG, PNG благодаря еще поддержке WebP.

Часть хостеров (beget.com, ukraine.com.ua ...) на обычном хостинге поддерживают возможность суперсжатия за счет OptiPNG, и модуль использует эту возможность по максимуму.

 

Немного о возможности использования WebP на обычном хостинге:

 

Спойлер

Обычный хостинг должен соответствовать определенным условиям чтобы работал WebP. Проще всего режим WebP организовать на виртуальном хостинге если на нем только apache и есть хотя бы GD с поддержкой WebP, в этом случае не нужно менять код движка совсем.  Если же на обычном хостинге nginx+apache, то тут несколько сложнее,  т. к. нужно вносить изменения в код движка.  Но если хостер допускает изменение настроек nginx для сайта, то задача тоже решается несложно, у некоторых хостеров такая настройка есть в панели управления .

 

Сделал сейчас универсальное решение (модификатор webp_by_sitecreator.ocmod.xml) для сайтов на виртуальном хостинге.  Для отдачи WebP в браузер, поскольку важно не только сгенерировать WebP , но и  показать его в браузере, при этом несовместимым и старым браузерам отдавать JPEG. Вот эту задачу и решает модификатор.

Пока сделал решение для самых нагруженных картинками страниц: КАТЕГОРИИ и ТОВАР.

Проверено на дефолтном шаблоне, а также проверено на:

 

XDS Coloring Theme от @xds ,

Fractal от @mrz .

2.x Revolution от @pikitos

 

Для обычного хостинга режим WebP пока в стадии удачного эксперимента. На VDS с WebP проблем нет.

 

Как узнать поддерживает ли хостер WebP ?

 

Спойлер

Проверьте есть ли у вашего хостера (на виртуальном хостинге) поддержка WebP  (phpinfo) по умолчанию.  Такая информация актуальна только для виртуального хостинга. На VDS будет работать все по максимуму.

 

Для примера, мастерхост поддерживает на виртуальном хостинге  формат WebP.  Ниже ссылка на phpinfo хостера (php 5.5)

https://support.masterhost.ru/phpinfo55_gen_mphp.php

 

Пример вывода phpinfo() с поддержкой WebP

 

webp_gd.jpg.f51f7863b07ae524742bfcba1351aef8.jpg

 

 

webp_imagick.jpg.a5cd2b623634e24259b20dd7b7a7423b.jpg

 

Если нет, то есть обходной вариант. Многие позволяют выполнение  cgi-скриптов (и компиляцию из исходников на C++), т. е. в этом случае WebP  можно собрать самостоятельно.

В этом случае смотрите заявлена ли поддержка CGI (иногда нужно уточнить по телефону, не всегда пишут про С++).

Выглядит это как перечисление языков Perl,Python и т. д. (могут не все перечислить).

 

cgi_enable.jpg.91da5f325069fcabf1a0be5feeba7b24.jpg

 

Хостеры, которые поддерживают mozjpeg, OptiPNG,  WebP (возможно максимальное сжатие при определенных условиях) на виртуальном хостинге.

Практически любой хостер, который позволяет работу CGI-скриптов,  даст возможность использовать mozjpeg, OptiPNG,  WebP.

Да и те (например, adminvps.ru), которые CGI-скрипты не разрешают, попали в этот список как проверенные на работоспособность суперсжатия.

Проверено. (Список неполный, пока только те, которые лично проверены)

 

Спойлер

Россия:

beget.com      WebP-GD, WebP-imagick, mozjpeg, OptiPNG (максимальное сжатие PNG на обычном хостинге!)

adminvps.ru      mozjpeg, OptiPNG,  WebP (после компиляции, т. к. GD и imagick у хостера изначально без WebP)

masterhost.ru WebP-GD mozjpeg, OptiPNG,  WebP

timeweb.ru      WebP-cwebp (после компиляции)    mozjpeg, OptiPNG,  WebP

jino.ru              WebP-GD (на php 7.0), WebP-cwebp (после компиляции) mozjpeg, OptiPNG,  WebP

1gb.ru             WebP-cwebp (после компиляции)

fozzy.com         WebP-GD mozjpeg, OptiPNG,  WebP

reg.ru              mozjpeg, OptiPNG,  WebP

 

Украина:

ukraine.com.ua WebP-GD  mozjpeg, OptiPNG,  WebP

(проверить здесь: https://www.ukraine.com.ua/tools/hosting/phpinfo.php?ver=56)

В моем случае на ukraine.com.ua было почти все (больше чем заявлено в тестовом phpinfo): WebP-GD, WebP-imagick, OptiPNG (максимальное сжатие PNG на обычном хостинге!)

Подробный отчет здесь:

hostiq.ua WebP-GD (imagick-а нет)

citydomain.com.ua WebP-GD (imagick-а нет)

 

список составляется в данный момент

 

 

На VDS/VPS поддержка WebP у вас будет независмо от того есть ли она в php (phpinfo).  Вероятно, что нужно будет установить дополнительный софт, но на VDS это не проблема.

 

Совместим с Opencart, Ocstore, opencart.pro версии 2+ ( тестировался на 2.1, 2.3)

требования: php 5.5+ (5.5, 5.6, 7.0)  Версию php практически на любом хостинге вы можете изменить самостоятельно через панель управления.  При использовании php 5.4 работа модуля в полном объеме не гарантируется в данный момент. Полноценную поддержку 5.4 добавлю позже если будет интерес публики.

Ioncube Loader v5.0+

Модуль совместим с ускорителями/кешерами Jet Cache и Turbo и, скорее всего, с остальными.

 

Демо (клиентская часть): http://watermark.sitecreator.pro

Демо (админка): http://watermark.sitecreator.pro/admin/index.php?route=extension/module/watermark_by_sitecreator

 

пользователь: DEMO

пароль: DEMO

 

Пожалуйста, лицензию запрашивайте, написав мне на почту или в личку.

 

Супер-сжатие выполняется согласно рекомендациям Гугла PageSpeed Insights и позволяет добиться снижения размера файлов изображений и, как следствие, уменьшения трафика.
Google  PageSpeed Insights благодаря этому дает более высокую оценку вашему сайту в баллах и перестает ругаться на плохо оптимизированные по размеру изображения.
Т. е. предложение от Гугла "Оптимизируйте изображения"  вы увидите значительно реже.  При равномерном качестве исходных изображений на выходе получаются оптимизированные картинки примерно в 99% случаев.
Если качество исходных картинок сильно различается, т. е. имеются как четкие, так и размытые изображения, то эффективность несколько ниже как раз именно из-за исходников низкого качества.

Функция "наложение водяного знака" является основной и работает как на обычном (виртуальном) хостинге, так и на VDS/VPS.
Никакого дополнительного софта для работы этой функции на сервере не требуется.  Только стандартный набор, который необходим для Opencart/OcStore.

Функция "супер-сжатие изображений JPEG/PNG"  включается автоматически в зависимости от установленного на сервере софта.  Данная функция автоматически выбирает наилучший алгоритм сжатия из возможных.
Для минимальной своей работы функция суперсжатия требует наличие imagick/ImageMagick.  Теперь достаточно лишь GD, который есть везде. Многие хостеры (хост-провайдеры) для виртуального хостинга предлагают к использованию расширение php-imagick, а также устанавливают его по вашей просьбе.
За счет imagick можно получить в определенной степени  оптимизированные изображения даже на обычном хостинге..  Google  PageSpeed Insights оценит положительно такую оптимизацию.  
На сервере при желании вы можете установить дополнительный софт (mozjpeg и OptiPNG), который еще больше увеличивает возможности (значительно превосходит imagick) по сжатию.
Это доступно всем, у кого есть VDS/VPS (виртуальный выделенный сервер) или полноценный выделенный сервер, а также большинству пользователей виртуального хостинга. Об установке такого софта на VDS есть отдельная инструкция, она идет вместе с архивом модуля.

 

Дополнительный софт необязателен к установке, это лишь рекомендация.

 

На данный момент инструкция содержит сведения об установке дополнительного серверного софта (mozjpeg и OptiPNG) для операционных систем (пока только для VDS/VPS):

 

Centos 6+ (тестировал на 6.6+)

Centos 7+

Ubuntu-14+

Debian-8-x86_64

Windows (подразумевается машина разработчика и работа с Openserver)

 

На вышеуказанных ОС модуль тестировался.

Работоспособность суперсжатия с дополнительным софтом возможна практически на любой ОС семейства Linux, а также на других ОС *nix.

На Windows также суперсжатие может работать по максимуму. Тестировалось на Windows 10.

 

Не смотря на то, что функция Суперсжатия является бонусом, разработчик (sitecreator.ru) оказывает помощь в установке всего необходимого софта на ваш сервер (VDS/VPS) чтобы данная функция была работоспособна по максимуму.
Предполагается, что у вас операционная система сервера - это Linux (в разных вариантах).
Оказание помощи в установке софта на сервер является проявлением доброй воли автора модуля, но не его обязанностью. Тем не менее постараюсь помочь всем, кто самостоятельно не осилит инструкцию по установке.

Как минимум, всем первым купившим могу предложить установку дополнительного софта (для суперсжатия) на сервер.

 

Пишите, постараюсь помочь всем.


В описании есть подробная инструкция установки необходимого софта. (здесь не для всех ОС приведена)

 

Узнать версию (дистрибутива) Linux можно так:

 

cat /etc/issue
cat /proc/version
cat /etc/*-release

результат по версии выглядит примерно так:

 

Спойлер

 

 

CentOS Linux release 7.3.1611 (Core)
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"                                                                                                    
BUG_REPORT_URL="https://bugs.centos.org/"                                                                                             

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

CentOS Linux release 7.3.1611 (Core)
CentOS Linux release 7.3.1611 (Core)

 

 

 

 

 

Важное примечание по установке mozjpeg:

 

Спойлер

На одном из серверов под Centos 7.3  обнаружил некую странность в работе с версией mozjpeg 3.3.1 (последняя, но не релиз).

Эффективность сжатия была невысокой. Т. е. файлы были меньшего размера чем их производил imagick, но разница была а районе  5%.

Сделал откат на предыдущую версию  и проблема исчезла. Эффективность снова стала на хорошем уровне (от 20% и выше).

 

Актуальным релизом (май 2017) считается 3.2 версия.  Но и она не всегда удачно собирается. Самый стабильный результат получен для версии 3.1 (релиз)

В инструкции рекомендую эту версию для самостоятельной сборки.

Но для желающих могу предложить готовую (собранную) 3.2 версию под Centos 7 (или подобных ОС), собранную компилятором gcc 4.8.5.

 

Инструкция по установке дополнительного софта для Centos 6+  :
 

Спойлер

 


yum groupinstall  "Development tools"
yum install gcc autoconf automake libtool nasm make wget  git

wget https://github.com/mozilla/mozjpeg/releases/download/v3.1/mozjpeg-3.1-release-source.tar.gz
tar -xvf mozjpeg-3.1-release-source.tar.gz
cd mozjpeg
./configure
make
make install
ln -s /opt/mozjpeg/bin/cjpeg /usr/bin/mozjpeg

mozjpeg -version

 

OptiPNG в репозитории Centos 6.6, например, не нашлось, поэтому соберем его по инструкции:


 


wget http://prdownloads.sourceforge.net/optipng/optipng-0.7.6.tar.gz
tar -xvf optipng-0.7.6.tar.gz
cd optipng-0.7.6/
./configure
make
make test
make install

optipng -v

 

 

centos6-mozjpeg.jpg.32b67ec487981ca2f7ca0534b7dae7e6.jpg

 

 

Инструкция по установке дополнительного софта для Centos 7+  :
 

Спойлер

 


yum group install "Development Tools"
yum install gcc autoconf automake libtool nasm make wget  git

wget https://github.com/mozilla/mozjpeg/releases/download/v3.1/mozjpeg-3.1-release-source.tar.gz
tar -xvf mozjpeg-3.1-release-source.tar.gz
cd mozjpeg
./configure
make
make install
ln -s /opt/mozjpeg/bin/cjpeg /usr/bin/mozjpeg

mozjpeg -version

yum install optipng
optipng -v

 

 

Из репозитория OptiPNG устанавливается не всегда самой актуальной версии, поэтому рекомендуется собрать его самостоятельно из исходных кодов.

На данный момент актуальная - это OptiPNG 0.7.6 (http://optipng.sourceforge.net/)

 

Сборка и установка актуальной версии OptiPNG:

 


wget http://prdownloads.sourceforge.net/optipng/optipng-0.7.6.tar.gz
tar -xvf optipng-0.7.6.tar.gz
cd optipng-0.7.6/
./configure
make
make test
make install

optipng -v

 

 команда optipng -v  показывает установленную версию и свидетельствует об успешной установке

 

optipng-v.jpg.51f028641d53b8eda6e377203edf5168.jpg

 

 

 

Инструкция по установке дополнительного софта для WINDOWS :

(для локальной машины разработчика, например.  На Windows теперь также суперсжатие JPEG PNG доступно в максимальном варианте начиная с версии модуля 1.0.1. ).

 

Спойлер

 

Для любителей Windows и тех, кто просто желает протестировать возможности КОМПРЕССОРА добавил возможность работы на машине разработчика (например, используя Openserver).

 

Все возможности суперсжатия теперь доступны для локальных доменов localhost и *.local  (ключ не нужен).

Функции php exec и proc_open должны быть доступны.

 

Необходимо всего лишь скачать OptiPNG отсюда http://optipng.sourceforge.net/

и mozjpeg отсюда: https://mozjpeg.codelove.de/binaries.html

 

для OptiPNG на сайте разработчика доступна актуальная версия (бинарник), а для mozjpeg немного устаревшая 3.1 (актуальная версия 3.3)

Но для тестов под windows, думаю, что этого выше крыши.

 

на всякий случай приложу файлы здесь.

 

mozjpeg_3.1_x86.zip

optipng.zip

 

Цитата

 

Создайте в windows папку "C:\optipng"  и положите в нее файл optipng.exe из архива.

Создайте в windows папку "C:\mozjpeg" и распакуйте в нее архив mozjpeg_3.1_x86.zip.

 

 

 

 

Установку модуля осуществляет покупатель самостоятельно или его доверенное лицо.  В обязанности разработчика это не входит. Но тем не менее, разработчик готов помочь в этом вопросе по мере наличия у него свободного времени.

 

Модуль имеет режим "тест" для сравнения размеров файла ДО и ПОСЛЕ суперсжатия.  "ДО" сделано алгоритмом imagick.

Файлы "ДО" помечены маркером "_no_mozjpeg_" ("_no_optipng_").  Сравнение есть для формата JPEG, а также для PNG (с версии 1.1.0).

 

Прошу заметить, что это сравнение между алгоритмами imagick и mozjpeg (imagick и optipng, соответственно ) при одинаковом выставленном уровне качества в районе 80  (оптимально 78 ...85). Для PNG уровень качества не действует (это алгоритм без потерь).

Если сравнивать с размером файла, созданным GD по умолчанию (с уровнем 90 - прописан по умолчанию в опенкарт,  изменение не предусмотрено), то разница будет еще существеннее.

imagick в любом случае умеет создавать более качественную картинку и сжимает ее лучше чем GD . imagick , как минимум, умеет выкидывать весь мусор и дополнительную информацию  из файла изображения, что способствует снижению его размера. А как максимум, генерирует WebP, который значительно превосходит обычный JPEG и PNG в степени сжатия.  Про передовой формат смотрите здесь: https://developers.google.com/speed/webp/

 

b70c4a92e9.jpg.668646ac955718b1600088a9aa334884.jpg

 

webp_lossless.jpg.363a7d47af0e643f6e86876a9fd54f65.jpg

 

webp_for_png.jpg.6a1e85550c4c00fab08766b95f6321ad.jpg

 

Админка выглядит так (в ней есть СПРАВКА):

 

 

Спойлер

admin.thumb.jpg.fac59c2580ae446db0c2d9694779dccb.jpg

 

 

Справка есть в самом модуле:

 

Спойлер

Справка

Модуль "Водяной знак Watermark + SUPERcompressing JPEG/PNG by Sitecreator" может работать при наличии различного софта/библиотек для работы с графикой и графическими файлами. Для качественных результатов данный модуль использует автоматический выбор наилучшего алгоритма сжатия графики без потерь исходя из установленного на сервере софта. И может работать как на общем (виртуальном) хостинге, так и на сервере (VDS/VPS).

Для JPEG графики выбор (в сторону улучшения) строится из возможного: GD >> imagick (Image Magick) >> mozjpeg.
Для PNG графики выбор (в сторону улучшения) строится из возможного: GD >> imagick (Image Magick) >> optipng.
Максимальная степень сжатия графики без потерь возможна при наличии imagick + mozjpeg и imagick + optipng соответственно для JPEG и PNG.
Но модуль полностью работоспособен даже при наличии только GD-php библиотеки. Все функции водяного знака работают и в этом случае.

Модуль совместим с ускорителями/кешерами Jet Cache, Turbo, "OpenCart Lightning" и, скорее всего, с остальными. Если вы использовали до этого другой модуль водяного знака, то отключите его, в том числе соответствующий ocmod/vqmod.

Чтобы появился водяной знак на изображениях нужно (кроме включения "Накладывать watermark") очистить кеш ускорителя/кешера (если есть) и кеш изображений.
Тоже самое (очистить кеш) нужно сделать если вы не используете водяной знак, но желаете чтобы к картинкам было применено Суперсжатие.
Функции watermark и Суперсжатие работают независимо друг от друга, т. е. Суперсжатие не требует наличие включенного watermark, Суперсжатие включено всегда и работает по максимуму если есть соответствующий софт.

Чтобы исключить файл или файлы в папке от наложения watermark достаточно добавить к названию файла/папки в любом месте "nowatermark".

Одна лицензия дает право использовать модуль на одном домене. По вопросам (в том числе по лицензии) обращаться на opencart@sitecreator.ru или в личку (sitecreator) на форумах.

 

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

 

Новые возможности будут в новых версиях.

 

Совместимость со специфическими модулями и модификаторами,

(затрагивающими системную библиотеку и модель image.php)

===================================================

 

Turbo

SVG Tool Image (svg_tool_image_2.x-3.x.ocmod.xml)  https://opencartforum.com/files/file/4528-svg-tool-image/?tab=details

 

================

История версий

==============

 

1.0.0 Release

1.0.1 Добавлена возможность работы на Windows  с максимальными возможностями суперсжатия (mozjpeg & optipng)

1.0.2 Добавлено:  "Адаптивная обрезка" (" Адаптивный resize"  в терминах SEO CMS) изображений в трех вариантах:

  • автоматически (как у @markimax )
  • расположить по ширине (обрезать по высоте)
  • расположить по высоте (обрезать по ширине)

      Добавлена совместимость с шаблоном journal2  (он использует свой ocmod для изменения модели image.php)

1.1.0 Добавлена генерация изображений в WebP (из JPEG, PNG).  Это обеспечивает (при определенных условиях) максимальное сжатие картинок на обычном хостинге.

1.1.1 Улучшена совместимость с различными хост-площадками.

1.2.0

  • Для обычного хостинга добавлены новые возможности и улучшено автоопределение дополнительного софта для разных нестандартных случаев.
  • Пути для дополнительного софта можно теперь прописывать в конфиг сайта (MOZJPEG, OPTIPNG).  Это удобно если автоопределение не нашло софт или есть разные версии софта, но нужно выбрать определенную (поновее, например).
  • Для работы mozjpeg, optipng теперь необязательно наличие imagick (но желательно для более быстрой обработки)
  • В качестве водяного знака можно использовать также форматы GIF, PNG-8 (индексированные цвета)
  • Увеличена производительность суперсжатия (работает быстрее)
  • Для оценки степени суперсжатия в админке добавлен автоматический тест mozjpeg и вывод информации о размере файла до и после суперсжатия. Это дает понятие о том, насколько удачно собран дополнительный софт и можно судить о его эффективности.
  • Файлы, сжатые алгоритмом mozjpeg теперь получают метку (тег) "mozjpeg"

1.2.2

    Расширено автоматическое определение установленного софта для сжатия изображений.

 

 

 

 

 

Спойлер

78852826fe.jpg

 



  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу