Hosting pod PrestaShop: na co patrzeć poza ceną
Wersja PHP, OPcache, Redis, LiteSpeed, limity procesów, kopie zapasowe i dostęp do logów. Lista rzeczy, które sprawdzamy przed wyborem serwera pod sklep, bez reklamowania żadnej firmy.
Zrobimy to za Ciebie. Opisz problem, a odpowiemy w ciągu 24 godzin roboczych.
Opisz projektHosting to zwykle najmniejsza pozycja w budżecie sklepu i miejsce, w którym najłatwiej zepsuć wszystko inne. Wolny serwer zjada efekt drogiego szablonu i optymalizacji, brak kopii zamienia drobną awarię w katastrofę, a stare PHP blokuje aktualizację do PrestaShop 9. Poniżej lista rzeczy, które sprawdzamy przed wyborem serwera. Celowo bez nazw firm, bo oferty zmieniają się szybciej niż ten tekst.
W skrócie
- Pierwszy filtr: PHP od 8.1 do 8.4 z możliwością zmiany wersji z panelu. Bez tego PrestaShop 9 nie ruszy.
- Drugi filtr: OPcache włączony, cache obiektowy (Redis albo Memcached), dysk NVMe pod bazę danych.
- Trzeci filtr: limity procesów PHP i pamięci, które nie położą sklepu przy pierwszej kampanii reklamowej.
- Czwarty filtr: kopie zapasowe poza serwerem, dostęp do logów i wsparcie, które odpowiada w nocy, bo sklep sprzedaje całą dobę.
PHP: wersja, rozszerzenia i możliwość zmiany
PrestaShop 9 wymaga PHP od 8.1 do 8.4. Sprawdź, czy hosting pozwala wybrać wersję w panelu, bo aktualizacja PrestaShop i aktualizacja PHP rzadko wypadają w tym samym momencie. Potrzebujesz możliwości przełączenia się na 8.1, przetestowania i powrotu w razie problemów, bez pisania do działu pomocy.
Poza wersją liczą się rozszerzenia. PrestaShop potrzebuje między innymi GD lub Imagick do zdjęć, intl do formatów walut i dat, mbstring, zip, curl, a do połączeń z ERP często soap. Dobry hosting pozwala je włączać samodzielnie. Zły ma stałą listę i trzeba prosić o każde osobno.
Cache: OPcache, Redis, Memcached
OPcache
OPcache trzyma skompilowany kod PHP w pamięci, dzięki czemu serwer nie kompiluje tysięcy plików PrestaShop przy każdym wejściu. To najprostsza i najskuteczniejsza optymalizacja po stronie serwera. Powinna być włączona domyślnie, z sensownym limitem pamięci. Na współdzielonych hostingach bywa wyłączona albo ustawiona tak nisko, że przy dużym sklepie cache się ciągle czyści i nie daje efektu.
Cache obiektowy i sesje
Redis lub Memcached przechowują w pamięci wyniki zapytań do bazy i sesje użytkowników. Przy sklepie z tysiącami produktów i filtrami różnica w czasie odpowiedzi strony kategorii jest kilkukrotna. Sprawdź, czy hosting daje dostęp do jednej z tych usług i czy jest ona na tym samym serwerze lub w tej samej sieci, bo cache za oceanem spowalnia zamiast przyspieszać.
Uwaga
Cache nie zastępuje dobrego serwera. Strona kategorii z cache może ładować się szybko, ale koszyk, logowanie i panel administracyjny cache nie korzystają. Jeśli panel jest wolny, winny jest procesor albo baza, nie brak cache.
Serwer WWW: LiteSpeed, Nginx, Apache
Apache jest najbardziej zgodny z PrestaShop, bo pliki .htaccess z przekierowaniami i regułami adresów działają bez przepisywania. Nginx jest szybszy przy dużym ruchu, ale wymaga przepisania reguł do własnej konfiguracji, co przy każdej zmianie adresów trzeba powtórzyć. LiteSpeed łączy jedno z drugim: czyta .htaccess jak Apache, a działa jak Nginx, i ma własny moduł cache dla PrestaShop, który potrafi serwować gotowe strony z pominięciem PHP.
Dla większości sklepów na dobrym hostingu LiteSpeed albo Apache z poprawnie ustawionym OPcache i Redis wystarcza. Nginx ma sens przy dużym ruchu i własnym serwerze z administratorem, który go utrzyma.
Limity, które położą sklep w najgorszym momencie
Współdzielone hostingi sprzedają „nielimitowany transfer” i „nielimitowane miejsce”, ale limitują to, co naprawdę się liczy: liczbę równoczesnych procesów PHP, pamięć na proces, czas wykonania skryptu i liczbę połączeń do bazy. Przy normalnym ruchu wszystko działa. Gdy ruszy kampania reklamowa albo newsletter, pierwsze kilkadziesiąt osób wchodzi, reszta widzi błąd 503.
| Parametr | Minimum pod sklep | Dlaczego to ważne |
|---|---|---|
| Równoczesne procesy PHP | kilkanaście, przy ruchu więcej | Każdy odwiedzający i każde zapytanie integracji to jeden proces |
| Pamięć na proces (memory_limit) | 256 MB, lepiej 512 MB | Import produktów, generowanie faktur i Update Assistant potrzebują więcej niż zwykła strona |
| Czas wykonania (max_execution_time) | możliwość podniesienia do kilkuset sekund | Importy i aktualizacje przerwane w połowie zostawiają sklep w stanie pośrednim |
| Połączenia do bazy | bez niskiego sztywnego limitu | Integracje co kilka minut plus klienci szybko wyczerpują pulę |
| Dysk | NVMe lub SSD | Baza i zdjęcia to tysiące małych odczytów, dysk talerzowy je spowalnia |
| Cron | własne zadania co minutę | Synchronizacja stanów, kolejki maili, czyszczenie cache |
Jeśli dostawca nie podaje tych liczb w ofercie, zapytaj. Odpowiedź w stylu „zależy od obciążenia” oznacza, że limity są niskie i będą egzekwowane wtedy, gdy najbardziej zaboli.
Baza danych
PrestaShop opiera się na MySQL lub MariaDB. Liczy się wersja (aktualna, wspierana), to, czy baza działa na szybkim dysku, i czy masz do niej pełny dostęp przez phpMyAdmin lub linię komend. Przy większych sklepach warto, by baza stała na osobnym procesorze lub serwerze, żeby ciężkie zapytania z filtrów nie zabierały mocy stronom produktów. Zapytaj też o limit rozmiaru bazy i o to, czy wolne zapytania są logowane, bo to pierwsze miejsce, do którego zaglądamy przy diagnozie wolnego sklepu.
Kopie zapasowe i dostęp
Kopia zapasowa od hostingu to miły dodatek, nie strategia. Sprawdź, jak często jest robiona, jak długo trzymana i czy stoi na tym samym serwerze co sklep. Jeśli tak, awaria dysku zabiera sklep i kopię razem. Dobry hosting robi kopie codziennie, trzyma je co najmniej dwa tygodnie w innej lokalizacji i pozwala odtworzyć pojedynczy plik lub bazę z panelu. Niezależnie od tego sklep powinien mieć własne kopie poza hostingiem, o czym piszemy w osobnym artykule.
- SSH i linia komend. Bez tego Update Assistant, Composer i odtwarzanie dużej bazy są uciążliwe albo niemożliwe.
- Dostęp do logów. Dziennik błędów PHP i logi serwera WWW w czasie rzeczywistym. Bez nich diagnoza awarii to zgadywanie.
- Środowisko testowe. Możliwość postawienia kopii sklepu na subdomenie bez dopłaty za drugi hosting.
- Certyfikat SSL. Dziś standard w cenie, ale sprawdź, czy odnawia się automatycznie.
- Konta e-mail osobno. Sklep powinien wysyłać maile przez zewnętrzny serwer SMTP lub usługę wysyłkową, nie z tego samego serwera co strona, bo przy zablokowanym IP tracisz i stronę, i maile.
Z naszej praktyki
Sklep z odzieżą roboczą miał wynik PageSpeed na telefonie 41 i skarżył się na wolny panel. Szablon i zdjęcia były w porządku. Problemem był współdzielony hosting z limitem sześciu procesów PHP i wyłączonym OPcache. Po przeniesieniu na VPS z PHP 8.2, OPcache i Redis czas odpowiedzi serwera spadł z 1,9 do 0,3 sekundy, a wynik mobilny wzrósł do 84 bez zmiany jednej linii w szablonie. Miesięczny koszt serwera wzrósł o cenę kilku kaw.
Współdzielony, VPS czy dedykowany
Współdzielony hosting pod sklepy wystarcza przy kilkuset produktach, ruchu liczonym w setkach odwiedzin dziennie i bez integracji działających co kilka minut. VPS z własnym limitem procesora i pamięci to standard dla sklepu, który żyje ze sprzedaży online, ma integrację z magazynem i kampanie reklamowe. Serwer dedykowany lub chmura z kilkoma maszynami ma sens przy dużym katalogu, dużym ruchu i kilku kanałach sprzedaży jednocześnie. Przy VPS i dedykowanym liczy się też, kto administruje serwerem: Ty, dostawca w ramach usługi zarządzanej czy firma opiekująca się sklepem.
Lista kontrolna przed podpisaniem umowy
Krok po kroku
- Wersje PHP. Od 8.1 do 8.4 dostępne i przełączane z panelu, z możliwością włączania rozszerzeń.
- Cache. OPcache włączony z zapasem pamięci, Redis lub Memcached dostępny lokalnie.
- Limity. Konkretne liczby procesów, pamięci i czasu wykonania na piśmie.
- Kopie. Codzienne, trzymane poza serwerem, odtwarzane z panelu.
- Dostęp. SSH, logi, cron co minutę, środowisko testowe.
- Wsparcie. Czas reakcji w nocy i w weekend, kanał kontaktu inny niż formularz.
- Wyjście. Jak zabrać sklep do innego dostawcy: pełny eksport plików i bazy bez dopłat.
Serwer ma być nudny. Jeśli zauważasz, że istnieje, to znaczy, że jest za słaby albo źle ustawiony.
Pytania, które słyszymy najczęściej
Czy hosting za kilkanaście złotych miesięcznie nadaje się pod sklep?
Pod sklep testowy albo stronę wizytówkę tak. Pod sklep, z którego żyjesz, nie, bo limity procesów i brak cache położą go przy pierwszym większym ruchu, a brak SSH utrudni aktualizacje.
Czy muszę mieć administratora do VPS?
Przy usłudze zarządzanej dostawca pilnuje systemu, a Ty sklepu. Przy zwykłym VPS ktoś musi aktualizować system, pilnować zapory i kopii. W pakietach opieki robimy to razem z opieką nad sklepem.
Czy lokalizacja serwera ma znaczenie?
Tak. Serwer w Polsce lub blisko granicy daje najkrótszy czas odpowiedzi dla polskich klientów i upraszcza sprawy RODO, bo dane nie opuszczają Unii.
Co z CDN?
Sieć dostarczania treści pomaga przy zdjęciach i plikach statycznych, szczególnie przy klientach z zagranicy. Nie naprawi wolnego PHP ani bazy. Dokładaj ją po uporządkowaniu serwera, nie zamiast.
Nie wiesz, czy Twój obecny hosting nadaje się pod PrestaShop 9? Sprawdzimy konfigurację, limity i kopie, a w razie potrzeby przeniesiemy sklep na lepszy serwer bez przestoju. Zobacz, co zawiera opieka nad sklepem.