Jakie opcje wybrać na stronie Prestashop Performance, aby zoptymalizować czas ładowania sklepu?

Wyjaśniam tutaj rolę każdej opcji i jak je skonfigurować, aby zoptymalizować Prestashop.

Konfiguracja Smarty

Smarty to silnik szablonów wykorzystywany przez Prestashop do generowania stron Twojego sklepu, więcej informacji tutaj: https://www.smarty.net/

Kompilacja szablonów

Szablony to pliki, które opisują szablony stron lub bloków stron w Twoim sklepie. Znajdują się w Twoim motywie i w Twoich modułach, rozpoznasz je po rozszerzeniu '.tpl'. Szablony te zawierają HTML i tagi Smarty, czyli kod, który Smarty rozpozna i zastąpi danymi w zależności od żądanej strony lub podłączonego użytkownika.

Smarty następnie przekształci (skompiluje) te pliki szablonów w kod PHP, aby Twój serwer mógł je wykonać, ale ta kompilacja wymaga czasu. Na szczęście ten etap jest potrzebny tylko raz, o ile nie modyfikujesz pliku szablonu

Istnieją 3 możliwości wyboru dla tej opcji:

  • Never recompile template files: wybierz tę opcję tylko wtedy, gdy Twój sklep jest całkowicie ukończony i nie modyfikujesz żadnych modułów ani plików szablonów. W takim przypadku będziesz musiał ręcznie opróżnić pamięć podręczną.
  • Przekompiluj szablonyjeśli pliki zostały zaktualizowane: dzięki tej opcji Smarty sprawdzi czy plik szablonu został zmodyfikowany od ostatniej kompilacji. Jest to opcja, którą polecam, ponieważ sklep nigdy nie jest tak naprawdę stały, a sprawdzenie daty ostatniej kompilacji zajmuje bardzo mało czasu. Pozwala to uniknąć tracenia czasu na zrozumienie, dlaczego ostatnia modyfikacja dokonana w sklepie nie pojawia się.
  • Wymuś kompilację: aktywuj to tylko wtedy, gdy pracujesz nad swoim motywem lub modułem, więc tylko podczas rozwoju.

Cache

Smarty oferuje system cache, który moduły mogą wykorzystać do optymalizacji swojego kodu. Na przykład, moduł wyświetlający najlepszą sprzedaż prosi Smarty o buforowanie wygenerowanego HTML, więc kiedy ten cache jest dostępny, moduł nie musi sprawdzać bazy danych, aby poznać najlepszą sprzedaż, wyświetla ostatnią zawartość zbuforowaną przez Smarty. Aby być na bieżąco, moduł prosi Smarty o opróżnienie pamięci podręcznej przy każdej nowej sprzedaży, jak również przy każdym dodaniu lub usunięciu produktu.

Opcja ta musi być włączona z wyjątkiem fazy rozwoju sklepu.

Optymalizacje dla wielu frontów

W przypadku korzystania z wielu serwerów opcja ta pomaga zsynchronizować ich cache.

Typ buforowania (Usunięte od PS8)

Pozwala określić, gdzie powinien być przechowywany cache Smarty. Zdecydowanie polecam wybrać "System plików", aby nie przeciążać serwera MySQL.

Wyczyść cache

Tutaj jest opcja, która pozostawia mnie w konsternacji, ponieważ pozwala wyłączyć odświeżanie pamięci podręcznej, nie ma żadnego interesu. Jeśli weźmiemy przykład modułu najlepszych sprzedawców, oznacza to, że lista nigdy nie byłaby aktualizowana.

  • Never clear cache files: nigdy nie wybieraj tej opcji
  • Clear cache everytime something has been modified: zawsze wybieraj tę opcję

Konfiguracja trybu Debug

Wyłączenie innych modułów PrestaShop

W przypadku błędu możesz wyłączyć wszystkie moduły oprócz tych stworzonych przez Prestashop. Zostaw to na "Nie".

Wyłącz wszystkie nadpisy

Możesz mieć więcej problemów aktywując tę opcję, ponieważ bez przeciążeń niektóre moduły nie będą już działać. Najgorsze jest to, że nie dostaniesz żadnego komunikatu o błędzie, który by Cię o tym informował.

Tryb debugowania

Jest to najciekawsza opcja w przypadku pustej strony i błędu 500. Aktywuj tryb DEBUG, a Prestashop wyświetli bardziej szczegółowy komunikat o błędzie, który pozwoli Ci zrozumieć, co jest nie tak.

Konfiguracja funkcji opcjonalnych

Tutaj sprawa jest bardzo prosta, jeśli nie korzystasz z niektórych funkcji Prestashop to równie dobrze możesz je wyłączyć, Twój sklep zyska na szybkości działania.

CCC (Combine, Compress and Cache)

Inteligentny cache dla CSS

Do włączenia absolutnie poza fazą tworzenia lub modyfikacji Twojej strony. Pozwala to na połączenie wszystkich plików CSS w jeden i skompresowanie go. Czas ładowania Twojego sklepu Prestashop będzie znacznie szybszy i mniej obciążający, a Ty uzyskasz lepszy wynik Pagespeed Insight od Google lub na GTMetrix.

Jeśli zauważysz problemy ze stylem, gdy Twój CSS jest skompresowany, to dlatego, że jeden z plików CSS zawiera błąd składni. Ten jest dobrze zarządzany przez przeglądarkę w osobnym pliku i nie jest skompresowany, ale nie wtedy, gdy CCC jest aktywowane. W tym przypadku musisz znaleźć dany plik i poprawić błąd.

Inteligentny cache dla JavaScript

Do aktywowania absolutnie z wyjątkiem fazy tworzenia lub modyfikacji witryny. Dzięki temu możesz połączyć wszystkie pliki JavaScript w jeden i skompresować go. Uzyskasz lepszy wynik Pagespeed Insight od Google lub GTMetrix, a czas ładowania Twoich stron internetowych będzie znacznie szybszy i mniej obciążający.

Dobrze wiedzieć, czy Twój serwer korzysta z protokołów HTTP/2 i HTTP/3.

HTTP/2 (H2) i HTTP/3 (H3) to nowsze wersje protokołu HTTP, zaprojektowane w celu poprawy wydajności i wydajności witryny. Wprowadzają takie funkcje, jak multipleksowanie, kompresja nagłówka i wypychanie serwera. Multipleksowanie umożliwia jednoczesne wysyłanie wielu żądań za pośrednictwem jednego połączenia TCP. Oznacza to, że obciążenie dodatkowymi żądaniami jest zmniejszone, a potrzeba zmniejszania liczby plików ze względu na wydajność jest mniej krytyczna.

W Prestashop, nie łącząc plików (a tym samym wyłączając opcje CCC), unikasz konieczności pobierania identycznych zasobów dla stron, które nie korzystają z tych samych połączonych plików JS lub CSS. Dodatkowo, w przypadku korzystania z pamięci podręcznej HTML, praktyka ta pozwala uniknąć konieczności ponownego generowania całej pamięci podręcznej za każdym razem, gdy modyfikuje się plik CSS lub JS.

Jednak wiele modułów nie minimalizuje plików CSS i JS, więc możesz ponieść niewielki narzut w postaci rozmiaru pobierania (chociaż gzip powinien zmniejszyć ten narzut).

Podsumowując, dzięki protokołom HTTP/2 (H2) i HTTP/3 (H3) możesz wyłączyć opcje CCC – to Twój wybór!

Aby dowiedzieć się, czy Twój serwer korzysta z protokołów HTTP/2 (H2) i HTTP/3 (H3), otwórz konsolę przeglądarki w swoim sklepie, przejdź do zakładki Sieć i sprawdź, czy protokół używany dla plików statycznych (obrazy, JavaScript, CSS itp.) to h2 lub h3.

Optymalizacja Apache

Koniecznie włącz ją z wyjątkiem fazy tworzenia lub modyfikacji Twojej strony. Dzięki temu możesz dodać dyrektywy cache dla przeglądarek, bardzo ważne!

Media serwery

Korzystanie z CDN (media server) jest szczególnie przydatne, jeśli Twoi użytkownicy pochodzą z całego świata. Pozwala serwować obrazy, CSS, javascript i czcionki szybciej, ponieważ jest bliżej odwiedzającego. Jeśli sprzedajesz tylko we Francji na przykład, CDN nie jest przydatny, ponieważ twój host jest już wystarczająco blisko, chyba że wyceniłeś australijski host :-)

Możesz jednak użyć tej opcji, aby użyć innej nazwy domeny do serwowania swoich plików statycznych. Dlaczego? Tak, że żądania nie zawierają ciasteczek i dlatego są mniej obszerne. Na przykład możesz stworzyć domenę o nazwie shopcdn.fr, która wskazuje na ten sam serwer. Ten jeden jest używany tylko dla plików statycznych i nie będzie przenosić plików cookie.

Caching

Jest to cache, który jest używany dla zapytań SQL wykonywanych przez Prestashop. Osobiście nie polecam jego używania, ponieważ może on pogorszyć wydajność Twojego sklepu. Niektórzy użytkownicy skarżą się również na nie zawsze aktualne odświeżanie.

Podsumowanie

Wiesz już jak skonfigurować Prestashop, aby zoptymalizować wydajność Twojego sklepu. Każda strona będzie szybciej generowana przez Twój serwer i będzie lżejsza, aby szybciej ładowała się w przeglądarce Twoich klientów.

Zapraszamy do przejrzenia naszej listy modułów Prestashop, aby jeszcze bardziej zoptymalizować swój sklep i poprawić wynik Google Pagespeed!