Ускорение Opencart, подсчет количества товаров

Вступление

К сожалению, все системы управления контентом, так называемые CMS, со временем начинают подтормаживать, то есть долго грузиться. Не исключение и платформы Интернет магазинов, в частности OpenCart и её русский клон OcStore. Не стоит в этом, огульно обвинять разработчиков. Платформа достаточно гибкая и быстрая для среднестатистического магазина и никто не планировал, что вы загрузите в магазин более полутысяч товаров, и распихаете их по 40 категориям. Именно, с 30-40 категорий и от 500 товаров, становится заметны тормоза OpenCart. В этой статье, поговорим об общих направлениях ускорения OpenCart и сделаем первый шаг к быстрому магазину.

Что такое медленный Интернет магазин

Для начала нужно понять, что значит медленный Интернет магазин. Для этого, поставьте себя на место покупателя. Вы открываете страницу магазина, пусть это будут товары категории, и она грузится и грузится, и опять продолжает грузиться. Сколько вы готовы ждать полной загрузки? По статистике, 1-2 секунды, максимум 3 сек. Вариант, загрузки до секунды, можно отнести к отличному.

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

Для начала нельзя не вспомнить, про качество вашего хостера. Большинство начинают работать на недорогих шаред-хостингах, и на первом этапе не думают об аренде VDS\VPS серверов, и это правильно. Но даже на виртуальном хостинге, перед его арендой, нужно посмотреть его оперативную память и бежать от хостеров выделяющих 96 и 128 Мб оперативной памяти (RAM) или менее 5% CPU.

Кстати, будьте готовы, что с раскруткой магазина и наполнение его товарами (от 5000 в 100 категориях) вам придется переходить на VDS\VPS сервера, а при очень хороших делах, арендовать реальный сервер. Но вернемся к начальному этапу и на нём начнем ускоряться.

Это может вас заинтересовать:  Архитектура OpenCart

Базовые методы ускорения

Существуют базовые методы ускорения, работающие для любой CMS и не обязательно Интернет магазина.

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

Ускорение Opencart — общие методы оптимизации

Уменьшение нагрузки на сервер и времени генерации страниц сайта, и есть оптимизация сайта (Интернет магазина).

Выделяют два основных метода оптимизации:

  1. Оптимизируем динамическое содержание движка магазина;
  2. Оптимизируем статическое содержание магазина.

Динамическое содержание это весь HTML, PHP которые формирует CMS. Статическое содержание это все картинки, скрипты, CSS стили.

Оптимизация статического содержания

На сегодня веб-сервера достаточно быстро отдают весь статический контент. Соблюдение простых правил оптимизации картинок и очистки от лишнего «красивого» мусора с главной страницы сайта (витрины магазина) позволит оптимизировать статический контент.

Оптимизация динамического контента

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

Начнем с двух настроек, которые доступны, или почти доступны из административной панели OpenCart. Это:

  1. включение/выключение показа количества товаров в категориях и подкатегориях товаров, показываемых в меню магазина;
  2. уровень сжатия HTTP запросов.
Это может вас заинтересовать:  Как установить OpenCart 2.0 на практике

Выключение показа количества товаров в меню

Как ни странно, но показ количества товаров в меню, значительно увеличивает количество запросов к базе данных и тормозит движок. Тормозит движок ни показ количества товаров, а их подсчет. Кстати, об этом есть предупреждение самой системы.

количество-товаров

Для выключения показа количества товара:

  • Идем в административную часть магазина;
  • В меню идем на технические работы→Настройки→Опции и ставим «нет» в количестве товаров.
Отключить подсчет количества товара OpenCart
Выключаем показ количества товаров

сохранить изменения

Как вариант, в версии 1.5.1.3 в file:

В трех каталогах: catalog/controller

  1. /product/category.php
  2. /common/header.php
  3. /module/category.php

Комментируем строку:

$product_total = $this->model_catalog_product->getTotalProducts($data);

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

Устанавливаем уровень сжатия HTTP запросов

По умолчанию в системе не установлен уровень сжатия HTTP запросов. Делаем это на вкладке: Настройки→Сервер→Уровень сжатия. Ставим на 6.

уровень сжатия opencart
Ставим уровень сжатия opencart

Выводы

Мы сделали, только первый шажок для ускорения OpenCart. Дальше, рассмотрим более тонкие настройки ускорения движка opencart.

P.S. Для первичного ускорения, можно удалить выпадающие меню подкатегорий. Для этого в файле: catalog/view/theme/ваша тема/template/common/header.tpl комментируем (<!— —>) кусок

<?php if ($category['children']) { ?>
.......
 <?php } ?>
убрать-выпадающее-меню opencart
Убираем выпадающее меню OpenCart

Специально для сайта «Как сделать интернет магазин«

Другие статьи близкие по теме

Добавить комментарий