Оптимизация на PrestaShop
PrestaShop е едно от най-популярните приложения за изграждане на онлайн магазин, заради лесния мениджмънт на продуктите, както и персонализирани опции за плащане и доставка. PrestaShop предлага ефективно решение за вашия интернет бизнес, използвано от над четвърт милион онлайн магазини по света.
В тази статия ще ви дадем няколко насоки и съвети как да оптимизирате сайта си, за да избегнете ненужно забавяне за вашите потребители.
Ще започнем с няколко добри практики, които доказано намалят времето за отварянето на един сайт и оптимизират сървърните ресурси:
- Активирайте Memcached на хостинг плана си – спестявате време от обработване на едни и същи MySQL заявки, които ще бъдат кеширани, а по този начин ще се увеличи скоростта на работа на вашия сайта. Можете да използвате и Redis, но Memcached е вграден в Prestashop и ще бъде по-лесният вариант за активация. За активацията на Memcached, трябва да използвате инструментa ActiveCache в контролния панел на хостинга.
- Използвайте PHP 7 – новите PHP версии са значително по-бързи от PHP 5, дори само смяната на PHP версията ще подобри производителността на вашия сайт.
- Активирайте CloudFlare – използването на CDN като CloudFlare + Railgun (наличен само при ICN.Bg) ще ви позволи да кеширате и статичното, и динамичното съдържание на вашия сайт, което ще бъде компресирано и доставено от най-близкия до потребителя сървър на CloudFlare.
- Премахнете ненужните модули. Бъдете внимателни с модули, които записват движенията на клиентите по сайта ви, трупат статистика или логове. Понякога те записват прекалено много информация, която запълва и забавя базата данни или просто използват голямо количество ресурси на сървъра.
- Преди да инсталирате нов модул ви препоръчаме да прочетете отзивите за него, както и да потърсите повече информация в Google, за да проверите дали има съществуващи проблеми с този модул.
Като конкретни стъпки за оптимизация можете да се свържете към административния панел на Prestashop и да изберете Advanced Parameters, после Performance. В категория Smarty, който се използва в разработката на Prestashop templates, активирайте следните опции:
Template compilation – Предлагаме ви да ползвате Recompile templates if the files have been updated. Най-бързата опция е Never recompile template files, но е препоръчително да я използвате само ако сте приключили с промените по уебсайта.
Cache – Yes. Съветваме ви да тествате и включен, и изключен кеш на Smarty преди да се спрете на правилната за вашия сайт опция.
Caching type - File System
Clear cache - Clear cache everytime something has been modified
Следващата секция на PrestaShop, която е направена специално за оптимизация, се нарича CCC (COMBINE, COMPRESS AND CACHE) и там ще активираме всички опции като изберем Yes.
Категория Ciphering – на полето Algorithm ще изберем опцията Use Rijndael with mcrypt lib, тъй като PHP модула mcrypt е инсталиран на всички сървъри на ICN.Bg.
Последната категория, която ще променим е Caching, където първо ще активираме Use cache с Yes, а после и Memcached, който споменахме в началото на статията, с опцията Memcached via PHP::Memcache
В други случаи е възможно Front-end (клиентска част на сайта) да е достатъчно бърз, но да изпитвате проблем със скоростта в Back-end (администрация), обикновено при добавяне или обработка на съществуващи продукти.
Първата стъпка към подобряване на скоростта на Back-end би била да изключите модулите един по един, за да тествате дали забавянето не е причинено от несъвместим модул.
Ако това не помогне, следващият тест би бил да активирате показването на грешки в PrestaShop, за да проверите дали няма PHP грешки в зареждането на сайтa. Можете да го активирате в администраторския панел на PrestaShop, като кликнете на Advanced Parameters, след това изберете Performance и в Debug Mode сложите двете опции на Yes.
Важно: грешките ще се виждат и от вашите клиенти, затова ви препоръчаме да извършите процедурата в часове с нисък трафик към вашия сайт.
Ако ползвате по-стара версия на PrestaShop, активацията на грешки се извършва във файла config/defines.inc.php
където на ред 29 заменяте кода:
define('_PS_MODE_DEV_',false);
със следния код:
define('_PS_MODE_DEV_',true);
Забавянето на Back-end може да бъде причинено също така и от проблеми в сървърите на PrestaShop, защото Вашият Back-end пуска до 6 заявки на всяка страница в административния панел към следните адреси:
- prestashop.com
- addons.prestashop.com
- api.prestashop.com
- translations.prestashop.com
В случай, че не сте открили причината за бавно зареждане на Front-end или Back-end, ви съветваме да се свържете с нашите Friendly Geeks, които имат необходимия набор от знание и инструменти за да открият източника на забавяне.