Информация Ускорение и оптимизация престашоп

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

...зафукали и WebP, и CDN, и Cloudflare, и тем более - wordpress...

вывод:
не спешите в престу тулить кучу дополнительных модулей и технологий

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

успехов!
 
Подскажите, как уменьшить размер изображений в ИМ Prestashop 1.7.5.2 без потери качества или закешировать страницу с этими изображениями? А то у меня страницы категорий весят по 20 мегабайт, соответственно достаточно долго прогружаются. В среднем 1 изображение весит около 700 килобайт.

Не могу найти модули, которые могут сильно сжимать изображения и сохранять качество. Может есть модули которые кэшируют изображения?
700 кб, это слишком много, можно пережать картинки без заметной потери качества до 40-60 кб.
 
Наткнулся на интересную статью, описывающую способ ускорения выдачи статического контента посредством создания "виртуального" субдомена, являющегося алиасом основного, и прописывания его в Престе в качестве медиасервера. В теории, это должно давать экономию трафика на куках. На практике пока не пробовал. Как вам идея?
Статья здесь: Для просмотра ссылки Войди или Зарегистрируйся
 
Некоторое время назад завел сайт под CloudFlare, включил SSL (без проблем не обошлось, но это отдельная тема). В итоге, все отлично заработало, раздражало только, что при включении режима обслуживания сам не могу нормально смотреть фронтэнд, так как CF прячет реальный IP, и то что он прописан как служебный в Престе не дает никакого эффекта. А в перспективе (сайт пока under construction) это грозило кривой статистикой.

Гуглил запросы, содержащие в разных комбинациях слова Prestashop Clouflare IP, но ничего вразумительного не находилось. Написано в основном про какой-то мод для апача, который самим CF давно не поддерживается, да и сайт пока на shared хостинге, так что мне оно без пользы.

И вот сегодня наткнулся каким-то чудом на вот это Для просмотра ссылки Войди или Зарегистрируйся
Как-то сразу почуял, что это очень похоже на то что мне надо. Почесал репу, приведенный в статье код адаптировал под CF, тупо заменив
'HTTP_X_SUCURI_CLIENTIP' на 'HTTP_CF_CONNECTING_IP', получилось вот такое:
----
<?php
class Tools extends ToolsCore
{
/**
* Get the server variable REMOTE_ADDR, or the first ip of HTTP_X_FORWARDED_FOR (when using proxy)
*
* @Return string $remote_addr ip of client
*/
public static function getRemoteAddr()
{
// This condition is necessary when using CloudFlare, don't remove it.
if (isset($_SERVER['HTTP_CF_CONNECTING_IP']) AND $_SERVER['HTTP_CF_CONNECTING_IP'])
{
if (strpos($_SERVER['HTTP_CF_CONNECTING_IP'], ','))
{
$ips = explode(',', $_SERVER['HTTP_CF_CONNECTING_IP']);
return $ips[0];
}
else
return $_SERVER['HTTP_CF_CONNECTING_IP'];
}
return $_SERVER['REMOTE_ADDR'];
}
}
----

по описанной в статье инструкции сохранил это в файл /override/classes/Tools.php и удалил /var/cashe/prod/class_index.php

Произошло чудо - оно работает :) Почему чудо - потому что я ничего в этом не понимаю )))
Решил написать сюда, с двумя целями:
1. вдруг кому-нибудь пригодится;
2. может, местные гуру что поправят-допишут в этом коде, т.к. код оригинальной function getRemoteAddr() в Престе существенно сложнее, и потом где-нибудь вылезет косяк.
 
Наткнулся на интересную статью, описывающую способ ускорения выдачи статического контента посредством создания "виртуального" субдомена, являющегося алиасом основного, и прописывания его в Престе в качестве медиасервера. В теории, это должно давать экономию трафика на куках. На практике пока не пробовал. Как вам идея?
Статья здесь: Для просмотра ссылки Войди или Зарегистрируйся

Опробовал: прописал субдомен static, назначил его алиасом основного домена, указал его Престе как медиасервер.
Замеры GTMetrix
до:
upload_2019-11-11_17-9-19.png

и после:

upload_2019-11-11_17-8-48.png

По интегральной производительности сайта, как видно, измененения в пределах статистической погрешности. Основной тормоз, как видно из скриншота - картинки, у меня сайте их ну оочень много.
Зато время полной загрузки страницы уменьшилось с 6.5 до 4.8 сек, что может быть существенно для индексации поисковыми ботами.

P.S. На картинках выше, на самом деле, второе и третье измерения. При первом измерении PageSpeed Score показал что-то в районе 46%. Я расстроился и пошел в админку - оказалось, что у меня было выключено ККК. Включил, запустил заново тест - результаты налицо :)
 
Последнее редактирование модератором:
Еще один замер после включения кэша смарти - при предыдущих был выключен:
upload_2019-11-11_17-32-35.png

Время полной загрузки страницы еще немного улучшилось. Так что байка о том, что если сайт кэшируется CloudFlare, смарти кэш надо выключить, не соответствует реальности.
 
Последнее редактирование модератором:
Основной тормоз, как видно из скриншота - картинки, у меня сайте их ну оочень много.:)
А причем тут много? На что именно ругается? Распахнутый список покажите. Вдруг BMP используете или TIFF 300DPI ? :)
Сколько сайтов видел, делал или оптимизировал, но никогда картинки не видел в красном уровне F. Это что нужно сделать чтобы добиться такой оценки? Прямо заинтересовали.
 
А причем тут много? На что именно ругается? Распахнутый список покажите. Вдруг BMP используете или TIFF 300DPI ? :)
Сколько сайтов видел, делал или оптимизировал, но никогда картинки не видел в красном уровне F. Это что нужно сделать чтобы добиться такой оценки? Прямо заинтересовали.

Хороший вопрос, спасибо!
Полез смотреть - а в самом деле, на что же ругается? Ну и вот:
upload_2019-11-11_20-56-19.png

Кроме баннера и иконки вацаппа, все остальное - превьюхи товара. Крохотные, по 5-6kb. Я-то думал, что ему мои полноразмерки не понравились, которые в 360 view крутятся - оказывается нет. Ну и как это понимать?
upload_2019-11-11_21-1-10.png
 
Последнее редактирование модератором:
Сейчас подсунул GTMetrix'у отдельно взятую страничку товара - там все еще хуже:
upload_2019-11-11_21-23-41.png

Картинки - jpg под 200Kb, плюс ему не нравятся жабаскрипты от magiczoom и magic360. Но с этим я ничего не могу поделать - снести не предлагать :)
Попробовать включить сжатие скриптов на стороне CloudFlare? Че-то боюсь.
 
Последнее редактирование модератором:
Товарищи, подскажите работает ли в престе 1.7.6.1 функция исключения загрузки модуля через расположение блоков (хуки)?
Столкнулся с тем, что попробовал добавить исключения, чтобы на карточке товара и категориях ( product и category ) не загружались модули SmartBlog и дефаултный HomeSlider (ps_imageslider), однако я вижу что они продолжат загружаться.
Соответственно вопрос, может что-то поменялось или в новой престе поломали это функцию? На 1.6.х все работало...
Все кэши отключены, перекомпиляция включена. Шаблон дефаултный...
Скрины прикрепил.
 

Вложения

  • Screenshot_11.png
    Screenshot_11.png
    17,7 KB · Просмотры: 14
  • Screenshot_12.png
    Screenshot_12.png
    18,3 KB · Просмотры: 13
Назад
Сверху