https://blog.superhosting.bg/faster-opencart-part-one.html

Натиснете ENTER, за да видите резултатите или ESC за изход.

Блог на SuperHosting.BG

Ускоряване на OpenCart електронен магазин (Част 1)

2016-07-20
Съвети от support-a
open cart, оптимизация, по-бърз сайт, онлайн магазин, онлайн търговия, CMS, категория, продукти, OpenCart, бавен OpenCart

OpenCart е една от най-използваните системи за създаване на онлайн магазини от нашите клиенти (6.3% от всички инсталирани CMS платформи). Тъй като често получаваме запитвания за оптимизация, свързани със скоростта, решихме да споделим с вас няколко насоки за това как да направите своя OpenCart онлайн магазин по-бърз.

Множеството извършени проверки по този въпрос и натрупаният вече опит ни показаха една от най-често срещаните причини за бавно зареждане. Системата на OpenCart на много места в кода си изчислява броя на продуктите за всяка една категория. При всяко зареждане на страница от сайта, изчисляването се извършва отново, а това само по себе си представлява по една SQL заявка към базата данни за всяка отделна категория. Колкото повече стават категориите и продуктите във вашия онлайн магазин, толкова повече се забавя неговото зареждане.

Въпреки че през администрацията на сайта може да се деактивира показването на броя продукти, това не спира постоянното изпълнение на SQL заявките.

Оптимизацията е подходяща за онлайн магазини с голям брой категории и продукти.

С един куршум два заека!
Със спирането на това постоянно изчисляване, освен че зареждането на сайта се ускорява,  се намалява и генерираното процесорно време от хостинг акаунта.

Оптимизацията може да се извърши по два начина – чрез допълнителни плъгини към OpenCart или чрез ръчна настройка.

Препоръчваме втория начин – ръчна оптимизация на OpenCart. При първия начин, когато се ползва плъгин, се извършват промени по базата данни и в някои системни файлове на OpenCart. Какво точно и къде се прилага като промяна, може да не е описано в помощната информация на плъгина, следователно няма да може да се върнат направените промени. Когато вие извършите оптимизацията ръчно, ще сте сигурни кой точно файл е редактиран и ще можете да върнете промените, в случай че се наложи. Ще извършвате оптимизацията стъпка по стъпка и ако нещо не се сработи, ще можете веднага да възстановите предишното състояние на дадения файл.

Описаната ръчна оптимизация е извършена на OpenCart версия 1.5.6.4, но може да се приложи и на по-старите версии 1.5.х.

Оптимизация чрез допълнителен плъгин на OpenCart

В Уеб може да се намерят различни плъгини, платени и безплатни, с които да направите оптимизация на вашия онлайн магазин. Един такъв плъгин, в който са събрани някои от ръчните оптимизации за OpenCart, е Opencart Turbo.

Друг плъгин, който спира показването и изчисляването на броя продукти по категории, e Product Count True Disabling / Speed Up.

Съвет:
Aко решите да тествате с такива плъгини, преди това направете бекъп на сайта (базата данни и файловете).
Ръчна оптимизация

Оптимизацията се състои в редакцията на три файла на OpenCart. С подмяната на няколко реда в тези файлове ще се спре постоянното изчисляване и показването на броя продукти по категориите.

Забележка: С редакцията на файловете броят на продуктите по категории няма да се показва повече. Ако вие изрично искате броят на продуктите да се показва, не прилагайте тази оптимизация. Във връзка с това в следваща статия за оптимизация на OpenCart ще опишем как може да се извърши оптимизация, така че броят на продуктите да се показва, но да се намали забавянето на сайта.

Още нещо, което е много важно – преди редакцията на всеки един файл, направете негово копие. Така ще можете да възстановите състоянието му, без редакциите.

Преди да започне ръчната редакция на системни файлове, деактивирайте показването на броя продукти през административния панел на OpenCart -> Системни -> Настройки -> Общи (Показване броя продукти в категория – изберете Не).

След това се подгответе за малка редакция в три файла на системата:

catalog/controller/product/category.php – броят продукти за основните категории и подкатегориите
catalog/controller/common/header.php – броят продукти в главното меню (в хедъра на сайта)
catalog/controller/module/category.php – броят продукти в менюто вляво

• /catalog/controller/product/category.php

В първия файл намерете следните редове и ги променете от:

на:

• /catalog/controller/common/header.php

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

Намерете следните редове в този файл и ги променете от:

на:

• /catalog/controller/module/category.php

Спиране на изчислението и за категориите, в менюто вляво на сайта.

Променете следните редове от:

на:

В същия файл се премахва броя и за основните категории.

Променете следните редове от:

на:

При по-голяма част от онлайн магазините, при които сме прилагали тази оптимизация, резултатът е бил положителен и зареждането им се е ускорявало в пъти.

В случай че при вас тази оптимизация не се отрази на времето за зареждане на сайта, има още много ефективни начини за ускоряване. Добър пример е Memcached. Кеширането на динамичната информация с Memcached увеличава бързодействието на сайта. Това е другата оптимизация с реален резултат, при която зареждането на онлайн магазина наистина се ускорява.

Направените промени по системните файлове не би трябвало да доведат до затруднения в работата на дадения сайт. Въпреки това препоръчваме предварително да се направи бекъп.

Съвет от support-а
Тъй като разнообразието от инсталации и настройки на OpenCart е голямо, описаната оптимизация може да не се отрази на всеки онлайн магазин. Ако няма видим положителен резултат от тази оптимизация, причината за забавено зареждане може да се крие другаде (например в нещо допълнително инсталирано в онлайн магазина – сложна тема, допълнителна функционалност към темата, плъгин или друго).
Препоръчително е в такъв случай да се извърши допълнителна проверка. Направете тест като активирате друга тема на сайта, деактивирайте един по един плъгините, за да установите какво причинява забавянето.

Специалист Техническа Поддръжка

Меган е нашият support гуру – може да отговори на всеки технически въпрос. Знае всичко за новите технологии. СуперСилата на Меган е, че може да обясни и най-сложните технологии на достъпен за всеки език.

500px270px
SuperHosting.BG

Препоръчани статии

Оставете коментар

7 Коментара към "Ускоряване на OpenCart електронен магазин (Част 1)"

Уведоми ме при
avatar

Ванката
Гост
Ванката
8 юли 2016 2:39

Доста полезна статия. Имах проблем с OpenCart, но статията (както и много други) ми помагат много! 🙂

akvarelbg
Гост
28 юни 2016 17:35
Възможно ли е да напишете 3-та част на тази поредица от статии, включваща DEFER PARSING OF JAVASCRIPT – и начините, по които може това да се случи – съответно посредством defer, async или onload има и още 1 начин, но излиза, че реално няма статия в Интернет, която да го оказва от – до, със всичките стъпки за различните CMS системи (естествено имам предвид за моята най-любима OPENCART), защото в много случаи 1 или повече от начините по-горе са несъвместими. В случая, тези две статии адски много ми харесаха и… още »
СуперХостинг.БГ
SH
29 юни 2016 10:08

Здравейте,

Благодарим за интересната идея! Ще се постараем да подготвим такава статия в бъдеще. 🙂

Поздрави,
Цвет

мариян бида
Гост
12 март 2015 7:19

Много добра статия. Има доста повече неща които да се направят по темата.

СуперХостинг.БГ
SH
12 март 2015 10:01

Благодарим за коментара.
В статията сме засегнали само един от начините за ускоряване на OpenCart. Много ще се радваме да споделите и Вашия опит по темата с нас и нашите читатели. 🙂

Бойко Бойков
Гост
11 март 2015 16:52

Много добре се отразява забраната за изчисляване броя на продуктите по категории, прилагаме я при почти всички клиенти и ефекта е налице.

СуперХостинг.БГ
SH
11 март 2015 17:26

Благодарим Ви, че споделихте опита си с нас!

wpDiscuz