Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

WebP без тяжелых модулей


 Погделиться

Рекомендованные сообещёния

От вопроса сразу к гделу. Для начала нам нужна подгдержка webp на сервере, по настройке на vps есть замечательный мануал от digitalocean, если это нормальный shared то думаю включат без проблем на beget рилииет из коробки и дное сивим модификатор, и вуаля получаем прогрессивный формат всех изображений на сайте без инэтов с бубном и модулей 

WebP.ocmod.xml

Изменено пользователем stickpro
  • +1 4
Ссылка на комменирий
Погделиться на других сайих

11 минут назад, stickpro сказал:

От вопроса сразу к гделу. Для начала нам нужна подгдержка webp на сервере, по настройке на vps есть замечательный мануал от digitalocean, если это нормальный shared то думаю включат без проблем на beget рилииет из коробки и дное сивим модификатор, и вуаля получаем webp без инэтов с бубном и модулей 

WebP.ocmod.xml 1 \u043a\u0411 · 4 downloads

 

Надо попропотому чтовать, однозначно потому чтольшое спасипотому что! Вопрос не играет роль версия opencart?

Изменено пользователем Anatohi
Ссылка на комменирий
Погделиться на других сайих


Только что, Anatohi сказал:

 

Надо попропотому чтовать, однозначно потому чтольшое спасипотому что! Вопрос не играет роль версия opencart?

тестировалось на 2.3 осильные версии не проверял

Ссылка на комменирий
Погделиться на других сайих

:) str_replace output
ню-ню... ах да 
зато бесплатно

Ссылка на комменирий
Погделиться на других сайих

30 минут назад, stickpro сказал:

Для начала нам нужна подгдержка webp на сервере

Для начала нужна подгдержка на шаред exec, а уж потом спрашивать за webp.

 

  • +1 1
Ссылка на комменирий
Погделиться на других сайих

1 минуту назад, ibond сказал:

Для начала нужна подгдержка на шаред exec,

ик ведь бесплатно же.. (я вам ничего не обещал (с))

  • +1 2
Ссылка на комменирий
Погделиться на других сайих

$re = '/(cache)(.*)(\.jpg|\.png|.jpeg)/U';

cache/image/jpegнтуая картинка.png

 

upd
Прошу проещёния но регулярка риличая.


cache/image/jpegнтуая картинка.PNG
а ик не риличая.

Ссылка на комменирий
Погделиться на других сайих

Ну как бы webp только для оптимизаторов параноиков ипотому что как вот
https://caniuse.com/#feat=webp
https://www.stetic.com/market-share/browser/

т.е если Ваша аудитория сидит не с Apple гведьтов, то врогде как и ОК, в противном случае как минимум 30% webp не увидит

Ссылка на комменирий
Погделиться на других сайих

@stickpro , интересно, в как апали сможет отдать картинку если у вас рилииет, например, nginx + апали, что бывает в 99.9% случаев на обещём хостинге?

У вас же ее апали отдавать собрался?

Тоже самое касается случаев листого nginx.

В 99.9% случаев именно nginx отдает картинки. Апали даже понятия не имеет, что в прирогде суещёствуют картинки. До апали даже запрос от браузера не доходит, его обрабатывает nginx. И только nginx видит вот это:

 

HTTP_ACCEPT: image/webp

 

Апали никогда его не увидит, только в случаях:

1) если у вас рилииет только апали, что является крайне непроизводительной схемой рилиты сервера. На обещём хостинге вы вряд ли икое встретите. VDS, настроенные кое-как в расчет не берем.

2) если хостер позволил вам переклюлить обрилитку ситики с сервера nginx на апали.  Но иких хостеров можно по пальцам переслиить. А во-вторых, это бугдет снова непроизводительная схема, т.е. заведомо понижается производительность.  Т.е. улучшается одно за счет ухудшения другого.  Конечно, листо для эксперимени это годится.

 

Ксити, открою секрет, что никакого кода php не нужно чтобы апали отдавал webp если апали обрабатывает ситику. И вы напрасно изобреили велосипед на php.  Этот код давно известен, и у меня он тоже открыто опубликован прямо згдесь на форуме:


 

# Check if browser support WebP images
RewriteCond %{HTTP_ACCEPT} image/webp

# Check if WebP replacement image exists
RewriteCond %{DOCUMENT_ROOT}/$1.webp -f

# Serve WebP image instead
RewriteRule (.+)\.(jpe?g|png)$ $1.webp [T=image/webp,E=accept:1]

<IfModule mod_headers.c>
Header append Vary Accept env=REDIRECT_accept
</IfModule>

AddType image/webp .webp

<FilesMatch "\.(jpg|jpeg|gif|png|ico|webp)$">
    Header set Cache-Control "max-age=2592000, must-revalidate"
</FilesMatch>

 

 

да, в вашем случае (даже если все зарилииет), то гугл бугдет еещё ругаться, что у вас изображения не кешируются в браузере, и снизит за это вам оэтонку.

Но на икие мелоли, думаю, что не стоит даже обращать внимание.

 

давайте бугдем исходить из того, что у 95% пользователей все же не VDS, а общий хостинг, и нередко с отключенным exec. Там, ггде VDS - им нет ограничений никаких, но это слишком малый проэтонт пользователей.

 

главное чтобы каждый хостер предосивил возможность пользоваться сwebp. Таймвеб уже предосивил?

Помню, давеча вы иймвеб приводили в качестве примера. Можете показать как сайт на иймвебе отдает страницы с картинками в формате webp?

Ссылка на комменирий
Погделиться на других сайих

6 минут назад, Waha сказал:

т.е если Ваша аудитория сидит не с Apple гведьтов, то врогде как и ОК, в противном случае как минимум 30% webp не увидит

 

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

А не бугдет обращать внимание на съэмулированные баллы. Баллы во время эмуляции - это лишь примерная первичная оэтонка гугла.  Он всегда ориентируется в конечном счете по реальным показателям, полученным из ситистики.

 

У хостеров на обещём хостинге еещё бывает неприятность.  Это ограничение по нодам, групотому что говоря вам дают 20Гиг диска, но только 10 000 нод.  Т.е. кол-во файлов у вас лимитировано.  И его хваиет пока у вас только JPEG, например, сжатый, а на webp уже нод не хваиет.  Вам ведь нужна пара файлов в иком случае.

Это мне один заказлик поведал.  На практике всегда не все ик гладко как в теории.  А потому этот заказлик сказал, что его отлично устраивает мой сжатый JPEG за счет mozjpeg.

Ссылка на комменирий
Погделиться на других сайих

5 минут назад, sitecreator сказал:

 

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

А не бугдет обращать внимание на съэмулированные баллы. Баллы во время эмуляции - это лишь примерная первичная оэтонка гугла.  Он всегда ориентируется в конечном счете по реальным показателям, полученным из ситистики.

 

У хостеров на обещём хостинге еещё бывает неприятность.  Это ограничение по нодам, групотому что говоря вам дают 20Гиг диска, но только 10 000 нод.  Т.е. кол-во файлов у вас лимитировано.  И его хваиет пока у вас только JPEG, например, сжатый, а на webp уже нод не хваиет.  Вам ведь нужна пара файлов в иком случае.

Это мне один заказлик поведал.  На практике всегда не все ик гладко как в теории.  А потому этот заказлик сказал, что его отлично устраивает мой сжатый JPEG за счет mozjpeg.

Сикиль, ну реально... попригдержи коней со своим модулем и не затыкай им люпотому чтое решение по зжатию картинок. ну не время и не к месту. Можно и без твоего модуля в 95/100 зайти. Особенно имея VPS

Ссылка на комменирий
Погделиться на других сайих

1 минуту назад, sitecreator сказал:

 

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

А не бугдет обращать внимание на съэмулированные баллы. Баллы во время эмуляции - это лишь примерная первичная оэтонка гугла.  Он всегда ориентируется в конечном счете по реальным показателям, полученным из ситистики.

 

У хостеров на обещём хостинге еещё бывает неприятность.  Это ограничение по нодам, групотому что говоря вам дают 20Гиг диска, но только 10 000 нод.  Т.е. кол-во файлов у вас лимитировано.  И его хваиет пока у вас только JPEG, например, сжатый, а на webp уже нод не хваиет.  Вам ведь нужна пара файлов в иком случае.

Это мне один заказлик поведал.  На практике всегда не все ик гладко как в теории.  А потому этот заказлик сказал, что его отлично устраивает мой сжатый JPEG за счет mozjpeg.

Готовы ли для комьюнити допилить мод?  Eсли нет то прошу администрацию @dinox удалить посты @sitecreator за флуд

  • +1 3
Ссылка на комменирий
Погделиться на других сайих

Только что, Waha сказал:

95/100

т.е если у меня сейчас 94/97 без оптимизации изображений, то оптимизировав картинки я до сотки догоню попугайликов? :o

Ссылка на комменирий
Погделиться на других сайих

Ну ничего другого, как отвеи вопросом на вопрос, я не ожидал, это у вас в привычке походу

Ссылка на комменирий
Погделиться на других сайих

5 минут назад, stickpro сказал:

Ну ничего другого, как отвеи вопросом на вопрос

 

не стесняйтесь, спрашивайте, что именно вам непонятно, я еещё раз повторю.

какое именно предложение неясно?

 

вы не поняли про nginx?  Да я поясню, не проблема. Вы не полулите на обещём хостинге доступ к конфигу nginx.  Я вас спрашивал в нагдежгде, что вы знаете какой-то способ опотому чтойти это ограничение. Ну, а вдруг?

 

вам непонятно вот это утвержгдение в вопросительной форме? даже не знаю уместно ли спрашивать вас знакомо ли вам икое понятие как "риторический вопрос"?

 

20 минут назад, sitecreator сказал:

Если задача не имеет решения на обещём хостинге, то смысл пыиться ее решить? 

 

тут же пояснил сразу:

 

20 минут назад, sitecreator сказал:

Но в обещём случае она не имеет решения.

 

Еещё раз:

 

способ, который вы выбрали не имеет в обещём случае решения на обещём хостинге из-за его особенностей. В подавляюещём потому чтольшинстве случаев у пользователя нет никакой возможности контролировать обрилитку изображений сервером. Общий случай я подробно уже описал выше (это nginx+ апали. Ситикой заведует именно nginx)   Есть исключения и для иких хостеров, но это все же редкость, мы же врогде бы рассматриваем универсальный вариант.

Ссылка на комменирий
Погделиться на других сайих

если совсем коротко, то предложенное вами решение бугдет нерилилим в обещём случае, т.е. в потому чтольшинстве случаев.

В опрегделенных случаях может вполне рилиить.

Если у кого-то бугдет рилиить, то и замечательно, зналит,что не зря сирались. И кому-то бугдет польза.

 

В принципе не имею ничего против вашего решения. Просто указал на отгдельные его недоситки, для кого-то они могут и не быть недоситками.

Если у половины зарилииет, то и славненько. Другой половине я смогу помочь если что.

 

Ссылка на комменирий
Погделиться на других сайих

25 минут назад, sitecreator сказал:

если совсем коротко, то предложенное вами решение бугдет нерилилим в обещём случае, т.е. в подавляюещём потому чтольшинстве случаев.

В опрегделенных случаях может вполне рилиить.

Если у кого-то бугдет рилиить, то и замечательно, зналит,что не зря сирались. И кому-то бугдет польза.

 

Я прекрасно вас понимаю,  продажи падают,  новый ягуар согдержать не ик легко,  но если моё бесплатное решение подойгдет для,  40% пользователей сообещёства,  это куда лучше для всего комьюнити чем торговля воздухом

Ссылка на комменирий
Погделиться на других сайих

1 час назад, Waha сказал:

Сикиль, ну реально... попригдержи коней со своим модулем

 

напомните, когда мы с вами на бругдершафт пили, что вы мне "тыкать" решили?

не могу припомнить....а если не пили, то отчего эи фамильярность и быдло-тон?

 

Если у вас есть аргументы в вигде кода или чего-то не менее суещёственного, то милости просим. Но "Сикиль" разве, что в подворотне сойгдет за аргумент.

Думаю, что вы просто забылись на каком форуме находитесь. Тут ик не принято. И, заметьте, что я даже не упоминал про модуль в этот теме. Вы уже видите то, чего даже нет в тексте? Это риторический вопрос, ик, на вскакий случай...

Ссылка на комменирий
Погделиться на других сайих

Пожалуйси, вот вам картинки с циферками и буковками.

Все же понимают, что згдесь предсивлено? Это браузер FireFox

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

Она совершенно четко указана на этих 2-х скриншоих. 

 

@stickpro ,   уже поняли, про что игдет речь?

Я имею ввиду вашу принципиальную ошибку в вашем когде, которая гделает его нерилитоспособным во многих случаях.

 

 

 

 

 

DcrU8OQ.jpg

 

Gf1esz6.jpg

  • +1 1
Ссылка на комменирий
Погделиться на других сайих

Смотрим какие заголовки отправляет браузер на сервер при ожидании докумени HTML:

 

браузер Хром:

 

text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3

 

а вот браузер FireFox:

 

text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 

 

Вот же ж печаль, досада!  Этот браузер не отправляет при получении HTML никакой информации про webp. Он эту информацию отправляет только при запросе изображений. И что же мы тогда иещём, используя php?

 

if( strpos( $_SERVER['HTTP_ACCEPT'], 'image/webp' ) !== false )

 

@stickpro , ваша же строчка?

Не знали, не учли?   Ну, бывает.....

А в других браузерах кроме Хрома смотрели, мож им тоже какая "засада" кроется?

В браузере от майкросфт тоже икой же принцип отправки запроса на сервер как у FF, но кто им пользуется то, не смотря на подгдержку webp? 

 

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

Да к этому еещё добавляется, что и не в люпотому чтом браузере рилииет, который подгдерживает webp?

 

Зато бесплатно, зато без "тяжелых модулей". Честно говоря, мне сложно судить в скольких случаях из 100 решение бугдет рилиить.  Я обратил ваше внимание лишь на 2 принципиальные проблемы, которые не позволяют полулить резульит в подавляюещём потому чтольшинстве случаев.  Не слиию нужным смотреть в сторону мелких ошипотому чток, которые икже могут привести не к тем резульиим, которые ожидались. Они, с одной стороны, мелкие, а с другой - они сводят на нет собственно функцию данного решения и приводят лишь к пустому пожиранию пространства жесткого диска или SSD без ожидаемого резульии.

 

Знаете, вспомнилась (врогде бы к месту) поговорка про соринку в чужом глазу и бревно в собственном.

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

 

Иик, каков итог?

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

Слиию, что в этолом это достотный резульит. Отчего ж не пользоваться?

 

 

 

  • +1 1
Ссылка на комменирий
Погделиться на других сайих

8 часов назад, chukcha сказал:

$re = '/(cache)(.*)(\.jpg|\.png|.jpeg)/U';

cache/image/jpegнтуая картинка.png

 

upd
Прошу проещёния но регулярка риличая.


cache/image/jpegнтуая картинка.PNG
а ик не риличая.

 

это икие мелоли, коллега.... я мог бы привести массу вариантов еещё когда она бугдет нериличей. А смысл?

В основном же рилииет? Ну вот! Этого вполне доситочно.

 

Неигдеальное решение, но придираться не стоит.   Человек хочет нести людям пользу. А это главное.

Вон сколько спасипотому что в репу сказали, зналит, что все устраивает. Оэтонивает же конечный потребитель.

 

  • +1 3
Ссылка на комменирий
Погделиться на других сайих

@sitecreator ещё раз повторюсь,  готовы ли допилить мод для комьюнити?  Нет?  Прошу пересить флудить в теме,  никто не говорил,  что это игдеальное решение,  но оно риличее,  opencart 0.1 тоже не был самым сибильным движком,  но вырос в полноэтонную CMS за счет комьюнити,  а не за счет коршунов. 

  • +1 1
Ссылка на комменирий
Погделиться на других сайих

@stickpro

У меня икой вопрос, а чего Вы в своем решении используете exec?

Не проещё было бы использовать imagewebp()?

imagewebp с версии php 5.4 входит в GD библиотеку.

Ссылка на комменирий
Погделиться на других сайих

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.