Wolny sklep na Magento? Przedstawiamy 12 sposobów na jego przyspieszenie

W tym artykule opiszemy 14 sposobów, jak przyspieszyć Magento?

Prędkość ładowania sklepu internetowego, wbrew powszechnej opinii, da się przeliczyć na złotówki. To od Ciebie zależy, czy będą to złotówki zaoszczędzone (czyli w gruncie rzeczy – zarobione), czy bezpowrotnie stracone.

Jeśli sklep zarabia $100,000 dziennie, to wydłużenie ładowania pojedynczej strony o 1 sekundę może kosztować Cię stratę w sprzedaży rzędu $2,5 miliona rocznie.

Kissmetrics

Najważniejszy jest serwer i jego odpowiednia konfiguracja

Dobry hosting to kluczowa sprawa w przypadku biznesu internetowego. Nie warto tutaj oszczędzać, bo przecież to podstawa działania Twojego sklepu. Dobry serwer można dość łatwo zakupić w jednej z wielu form hostingowych.

Jednak niezależnie jaki typ serwera wybierzesz (VPS, dedykowany lub serwer w chmurze), to sam wydajny serwer przecież nie wystarczy. Potrzebna jest także profesjonalna konfiguracja serwera specjalnie pod sklep Magento.

Istnieje bardzo wiele poradników i sposobów na konfiguracje i optymalizację serwera. Jednak jeśli się na tym nie znasz… to lepiej oddaj serwer pod opiekę profesjonalistom. Zadbają o odpowiednią konfiguracją serwera, jego wydajność i stabilną pracę. Dodatkowo, wraz z rozwojem Twojego sklepu, będą mogli aktualizować konfigurację i dostosowywać ją do Twoich potrzeb. Niezawodna opieka administracyjna rozwiąże każdy problem, a i zawsze będziesz mieć do kogo zwrócić się z prośbą o pomoc.

Pamiętaj, że Magento to nie jest standardowy system, jakich wiele… Aby sklep działał wydajnie będzie wymagać dedykowanej konfiguracji serwerowej i zadbania o wszystkie szczegóły. Nie wierz tym, którzy wdrażając kolejne standardowe konfiguracje oczekują cudów… tutaj potrzebna jest indywidualna konfiguracja serwera pod Magento dostosowana do Twoich potrzeb.

Tryby pracy Magento

Magento posiada trzy tryby pracy, różniące się przede wszystkim bezpieczeństwem i zarządzaniem wewnętrznym cache Magento

developer – najwolniejszy – wszystkie skrypty wykonują się w momencie żądania, a cache praktycznie nie jest wykorzystywany. Ten tryb wykorzystywany jest głównie przez programistów,

default – średnia prędkość – część elementów jest już cache’owana, co przyspiesza funkcjonowanie sklepu, ale ciągle sklep nie będzie działać optymalnie

production – najszybszy – praktycznie wszystkie elementy mogą być obsługiwane przez cache, co znacząco przyspiesza działanie platformy.

Pamiętaj, aby dla sklepu na serwerze produkcyjnym (dostępnym dla Klientów) zawsze był wybrany tryb pracy „production”.

Zainstaluj najświeższą wersję Magento

Bardzo ważnej jest, aby Twój sklep działał zawsze w oparciu o najnowszą wersję Magento, gdyż aktualizacje zazwyczaj zawierają poprawki błędów i ulepszenia mogące mieć wpływ na wydajność.

Aktualizacja Magento, co prawda, jest trochę bardziej skomplikowana i czasochłonna niż WordPress’a czy Shopify – możemy jednak wyróżnić tutaj możemy trzy główne kroki:

  1. Instalacje świeżej wersji Magento – tej, do której chcesz aktualizować swój obecny sklep
  2. Uruchom instalator na starej bazie danych – zostanie zaktualizowana
  3. Do świeżej instalacji przenieś stare szablony, motywy, rozszerzenia

Twórcy Magento informują o krytycznych i ważnych poprawkach, które są dostępne dla Twojej platformy.

Ponadto dostępny jest także pomocny tutorial mówiący w jaki sposób przeprowadzić pełny upgrade Magento.

Korzystaj z CDN

Wdrożenie Content Delivery Network (CDN) w sklepie na Magento jest jednym z łatwiejszych sposobów na natychmiastowe skrócenie czasu ładowania strony. Korzystając z CDN wszystkie statyczne zasoby (obrazki, skrypty, css) będą dostępne z wielu fizycznych lokalizacji – zazwyczaj tych bliższych geolokalizacyjnie Klientowi, by maksymalnie przyspieszyć ładowanie strony.

Możesz skorzystać z dowolnego systemu CDN. Najpopularniejsze CDN, to między innymi:

Cloudflare – darmowy, łatwy w obsłudze CDN
KeyCDN pozawala na bardzo łatwą integrację z Magento2.

Korzystaj z cache

Istnieje wiele rozwiązań dotyczących implementacji cache w Magento. Dużo osób odniosło sukces przy wdrażaniu rozwiązań serwerowych – NGINX + APC / Memcache + Varnish.

Magento zawiera jednak dość sprawnie działający wbudowany mechanizm cache, który może być wykorzystywany bez większych problemów praktycznie po zainstalowaniu systemu. Jednak rozwiązania 3rd party (zewnętrzne) wydają się osiągać lepsze efekty.

W każdym jednak przypadku upewnij się, że wszystkie rodzaje cache są włączone (System -> Pamięć podręczna)

Pamiętaj także o cache przeglądarki – odpowiednio ustawione nagłówki (Expires) pozwolą zmniejszyć ilość żądań do serwera, co przełoży się na przyspieszenie ładowaniu sklepu. Wykorzystanie podręcznej pamięci przeglądarki pozwoli natychmiastowo ładować statyczne zasoby – bezpośrednio z komputerów Klientów.

Dodaj nagłówki Expires dla statycznych plików – np. pliki szablonu, liki css, javascript czy pliki graficzne produktów. Zasada jest prosta – im dłużej, tym lepiej.

Kompresja Gzip

Kompresja Gzip dotyczy zasobów serwowanych przez serwer WWW. Głównym celem jest po prostu zmniejszenie ich objętości – w ten sposób ilość danych wymienionych między serwerem a przeglądarką Klienta (Użytkownika) jest po prostu mniejsza. Mniej danych do przesłania oznacza szybciej ładującą się stronę.

Najlepiej „pakują się ” pliki tekstowe – a więc wszystkie style, skrypty, ale także HTML. Zadbaj o włączony moduł Gzip na Twoim serwerze WWW i odpowiednie ustawienia kompresji.

Magento Full Page Cache

Full Page Cache jest jednym z najbardziej efektywnych sposobów na przyspieszenie Magento. Obciążenie serwera jest znacząco zmniejszane poprzez wykorzystanie całych stron (lub ich fragmentów) wygenerowanych przez innych użytkowników odwiedzających Twój sklep. W ten sposób serwer nie musi za każdym razem generować HTML’a, którego ma wyświetlić Klientowi – generuje go raz, trzyma w pamięci i wyświetla wszystkim Klientom odwiedzającym np. tę samą podstronę.

Istnieje kilka rozszerzeń Magento oferujących FullPageCache. Zarówno płatnych jak i darmowych. Przy czym Magento2 posiadaj już wbudowany system FullPageCache i nie wymaga instalowania dodatkowych rozszerzeń.

Włącz „płaski katalog”

Magento pracuje w oparciu o model EAV (entity attribute value), wykorzystując go przy zapisie danych dotyczących Klientów, jak i oferowanego asortymentu sklepu. Włączenie „płaskiego katalogu” dla kategorii oraz produktów połączy dane produktowe w jedną tabelę. Przyspieszy to czas wykonywania zapytań SQL, a więc i znacząco wpłynie na wydajność sklepu.

Jeśli Twój sklep ma więcej jak 1000 produktów opcja ta może być bardzo korzystna. Aby ją włączyć przejdź do Sklepy > Konfiguracja > Katalog (katalog), następnie zapisz zmiany i oczywiście wyczyść cache.

Optymalizacja obrazków

Badania dowodzą, że ponad 50% wagi strony stanowią obrazki. Warto więc przyjrzeć się możliwościom ich optymalizacji. Sama optymalizacja obrazków może znacząco wpłynąć na prędkość ładowania się strony dzięki zmniejszeniu ich wagi – a więc czasu potrzebnego do ich „ściągnięcia” przez przeglądarkę.

Istnieje kilka sposobów optymalizacji obrazków – można je po prostu odpowiednio kompresować wykorzystując narzędzia i programy graficzne jeszcze zanim zostaną wysłane na serwer, można też korzystać z wielu różnych rozszerzeń optymalizujących obrazki „w locie”, w momencie wysyłania ich do Magento. Dla Magento 2 dostępne mamy między innymi:

GTmetrix także posiada rozszerzenie do Magento – GTspeed. Pozwala na optymalizację obrazków oraz łączenie i minimalizację plików CSS/JS. Natomiast dla sklepów działających w oparciu o Magento2 dodatkową opcją jest Image Optimizer.

Dbaj o porządek w bazie danych oraz logach

Domyślnie Magento przechowuje logi przez 180 dni. W efekcie baza Twojego sklepu może dość sporo urosnąć. Jeśli nie potrzebujesz przechowywać aż tak obszernej historii możesz to lepiej będzie zmniejszyć czas przechowywania logów do np. 14 dni. Na pewno wpłynie to pozytywnie na rozmiar bazy, a więc i na czas wykonywania się zapytań SQL.

Możesz także ręcznie czyścić bazę z niepotrzebnych logów w bazie danych. Wystarczy tylko wyczyścić tabele, których nazwa zaczyna się od „log_”.

Pozbądź się niepotrzebnych rozszerzeń i modułów

Podobnie jak w przypadku wszystkich innych platform systemowych (np. WordPress) – im więcej załadowanych rozszerzeń, tym strona jest wolniejsza, staje się cięższa, wymaga więcej żądań (np. do plików CSS i Javascript) i wykonuje dodatkowo wiele kodu, który niekoniecznie jest niezbędny. Najlepiej jest ograniczyć ilość wykorzystywanych rozszerzeń Magento do niezbędnego minimum.

Jeśli posiadasz rozszerzenia lub moduły, z których korzystasz okresowo, to możesz je wyłączyć (bez usuwania) i włączyć w momencie jak przyjdzie taka potrzeba.

Aktualizuj indeksy

Magento domyślnie aktualizuje indeksy dla każdego obiektu w sklepie, ale w pewnych przypadkach może być wymagana ręczna aktualizacja indeksów. Indeksowanie wykorzystywane jest przede wszystkim do przyspieszenia zapytań SQL.

Podsumowanie

Jak widzisz istnieje wiele dróg do przyspieszenia Twojego sklepu opartego o Magento. Od implementacji CDN do cache, włączenia płaskiego katalogu, optymalizacji obrazów, czyszczenia bazy etc. Jednocześnie należy pamiętać, jak bardzo ważny jest dobry serwer hostingowy i jego poprawna konfiguracja serwera nastawiona na osiągnięcie maksymalnej wydajności sklepu Magento.

Podczas wyboru oferty serwerowej i administratora, któremu powierzysz konfigurację serwera zwróć uwagę na znajomość rozwiązań stosowanych w konfiguracji serwerów pod Magento. Pamiętaj, że zastosowanie ogólnej, powszechnie stosowanej konfiguracji (np. hostingi współdzielone) nie sprawdzi się tak dobrze jak dedykowane rozwiązania i kompleksowe podejście do tematu konfiguracji.

Zapraszamy do skorzystania z naszej oferty zarządzania i indywidualnej konfiguracji serwerów specjalnie pod Magento.