Ускоряем OpenCart

OpenCartОдной из наших разовых задач в рамках услуги «Техническая поддержка сайтов» стало задание по выявлению и устранению причин медленной работы интернет-магазина www.sportlim.ru, созданного на основе уже знакомой нам системы управления «OpenCart». К слову сказать, эта CMS пользуется заслуженной популярностью у администраторов интернет-магазинов и зарекомендовала себя как достаточно «шустрая» даже при очень большом количестве товаров на сайте.

Основные причины медленной работы OpenCart

Основной и, наверное, самой распространенной причиной «тормозов» (длительное время загрузки страниц) интернет-ресурса в этой CMS является постоянный онлайн подсчет количества товаров при любой страницы сайта. В результате медленной работы сайта его владелец может получать предупреждающие сообщения от компании-хостера о превышении допустимого количества запросов к БД; также возможно полное или частичное отключение сайта, сопровождающееся «Ошибкой 503». Часто исправить ситуацию помогает соответствующая опция «Количество товаров в категории», настраиваемая в административной части OpenCart-а в разделе «Система → Настройки → Опции». В большинстве случаев отключение этой «галочки» оказывается достаточно.

Следующая по «популярности» причина — вкрапление «паразитного» кода в файлы сайта. Это происходит в результате заражения веб-ресурса вирусом. К сожалению, случается это достаточно часто и является следствием несоблюдения элементарной «компьютерной гигиены», призванной оградить наши сайты от подбора паролей доступа в административную панель или доступа на хостинг по протоколу FTP. В случае заражения сайта вирусом потребуется подробное изучение структуры и содержимого исходных файлов сайта и работа соответствующего специалиста. Если заражение произошло и лечение неизбежно, то на помощь приходит услуга «Лечение сайтов от вирусов». Стоимость такой услуги зависит от типа системы управления используемой на web-сайте, количества сайтов (доменов), размещенных на одной технологической площадке вашего хостинга и от других параметров.

Увеличиваем скорость загрузки страниц сайта

Но что же делать, если опция подсчета количества товаров отключена, а сайт «чист, как слеза ребенка» и не «кишит» вирусами? Тут нам потребуется более детальное изучение CMS «OpenCart» и тематических форумов. Побродив по просторам интернета, находим подходящее нам решение:

Открываем файл /catalog/controller/information/information.php и находим в нем строку:

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

Меняем ее на:

$product_total = 0;

То же самое проделываем с файлами /catalog/controller/product/category.php и /catalog/controller/product/product.php.

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