Оптимизация магазина на Opencart 2x

В одной из предыдущих статей, мы узнали с Вами полезные SQL запросы для Opencart 2x.

В этой статье, я дам Вам список рекомендаций, которые помогут увеличить быстродействие и скорость работы вашего магазина на Opencart 2x.

Для проверки скорости загрузки вашего магазина, советую использовать следующие онлайн сервисы:

  1. Pingdom.com

2. Pagespeed от Google

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

Проверить скорость текущего интернет подключения  очень просто, я советую использовать популярный сервис Speedtest.net.

Жмём кнопку Go и он проверит вашу скорость скачивания (download) и загрузки (upload)

Если скорость у Вас более 3 Mbps то вряд ли причина в интернете, так что идём далее…

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

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

Поэтому первое что нужно сделать, если ваш магазин начинает тормозить это узнать хватает ли ему ресурсов вашего сервера.

Во многих хостинг панелях, есть специальный раздел “Статистика” (Нагрузка) который отображает количество используемых ресурсов сервера.

Чаще всего из всех ресурсов сервера не хватает либо оперативной памяти (ОЗУ), либо места на жестком диске (дисковая квота) ввиду большого объёма фотографий товаров.

Если у Вас виртуальный хостинг (а не выделенный VDS/VPS) то как правило на недорогих тарифах действуют ограничения по нагрузке параметр CP/сутки на сайты и на базу данных MYSQL. Поэтому стоит посмотреть не превышаются ли разрешенные вам лимиты на данном тарифе.

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

Если превышение действительно есть, то проще всего изменить текущий тариф на более высокий, с более высокими лимитами.

Если же сумма тарифа на вашем виртуальном хостинге уже перевалила за 500 руб., то в этой ситуации стоит задуматься о переезде на выделенный виртуальный сервер VDS/VPS.

Я рекомендую Вам арендовать VPS сервер на хостинге Beget (тарифы на скриншоте выше) или на хостинге AdminVPS (тарифы на скриншоте ниже), оба хостинга на мой взгляд отлично справляются со своей работой, но я отдаю большее предпочтение AdminVPS, за их великолепную техподдержку!

Если с интернетом и ресурсами сервера у Вас всё в порядке, то необходимо обратить внимание на следующие пункты:

  1. Отключение подсчета товаров

Заходим в настройки нашего магазина раздел Система-Настройки вкладка Опции и ищем пункт Счётчик товаров в категории, ставим значение Нет и сохраняем настройки.

2. Проверяем параметр Gzip на сервере

Gzip – это программа для сжатия файлов, а также их распаковки. Чаще всего эту программу применяют для ускорения работы сайтов.

Для того чтобы проверить включён ли Gzip на вашем сервере переходим по ссылке, вводим URL адрес вашего магазина и жмём кнопку Check. Если Gzip влючен Вы увидите сообщение GZIP Is Enabled.

Если Gzip у Вас отключён (GZIP Is Disabled) то это повод обратиться в техподдержку вашего хостинга и попросить их включить Gzip для вашего сервера.

Для увеличения параметра сжатия с помощью Gzip идём опять в раздел Система-Настройки вкладка Сервер и ищем параметр Уровень GZIP сжатия, по умолчанию он равен 0, я советую поставить значение от 7 до 9.

3. Сжатие изображений

До загрузки любых изображений в ваш магазин, через админку или FTP, рекомендую предварительно их сжать на вашем ПК, используя одну из программ для пакетного сжатия изображений из данной статьи (на ваш выбор).

Далее необходимо уменьшить качество картинок в самом Opencart с 90% например до 80%.

О том как где это делается я рассказывал в данной статье. Просто вместо значения 100 указываем везде 80 или менее.

4. Добавляем кэширование на стороне клиента

Подключаемся к нашему FTP серверу и открываем файл .htaccess из главной директории магазина, и добавляем в него следующий блок:

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
</IfModule>

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

5. Сжатие файлов JS и CSS

Используя онлайн сервис Gtmetrix.com сжимаем наши скрипты и файлы стилей.

После проверки вашего магазина, разверните строки показанные на скриншоте (если они выделены отличным от зеленого цветом), и по ссылкам скачайте уже сжатые сервисом файлы скриптов и стилей.

Далее замените ваши оригинальные JS и CSS файлы на скачанные через FTP сервер, предварительно скачав их копии.

Пути к оригинальным файлам вы увидите в ссылках сервиса.

6. Уменьшаем размер HTML кода

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

Данный модуль тестировался на версиях Opencart 2.1.0.2, 2.3.0.2, 3.0.2.0.

Перед установкой, обязательно сделайте полный бэкап!

Все вопросы по работе данного модуля, или возникающих ошибках пишите в тему на форум.

7. Ставим модуль кэширования

Я рекомендую Вам использовать модуль Jet Cache представленный в магазине ProDelo.biz.

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

Ну вот и всё, пожалуй на этом я закончу данную статью.

Для создания данной статьи были использованы материалы с форума forum.opencart-russia.ru за что им большое спасибо!


Понравилась статья? Поставьте лайк, и напишите Ваш комментарий!

Так же делитесь статьёй со своими друзьями и знакомыми в социальных сетях!


Остались вопросы? Задайте их в комментариях, и я обязательно отвечу.

Хотите узнать больше об OpenCart? Подписывайтесь на мой Youtube канал!

Вам так же может понравиться

Об авторе: Admin

Оставить комментарий

  Подписаться  
Уведомление о