Grafika wyróżniająca: błędy po aktualizacji sklepu PrestaShop, najczęstsze problemy i rozwiązania

Błędy po aktualizacji PrestaShop: jak ich unikać i szybko naprawić sklep

Klikasz „Aktualizuj”, czekasz kilka minut, a potem sprawdzasz sklep i widzisz, że coś nie gra. Zniknął przycisk płatności, szablon wygląda inaczej niż jeszcze wczoraj, a strona ładuje się zauważalnie wolniej. Brzmi znajomo? Właściciele sklepów PrestaShop regularnie spotykają taką sytuację. Mimo że aktualizacja oprogramowania jest jednym z podstawowych obowiązków każdego, kto prowadzi sklep internetowy. W poprzednim artykule pokazywaliśmy, ile realnie kosztuje brak opieki technicznej nad sklepem PrestaShop. Tym razem patrzymy na sytuację z drugiej strony: co zrobić, gdy zrobiłeś wszystko zgodnie z zaleceniami, zaktualizowałeś sklep, a mimo to coś się posypało. Poniżej znajdziesz najczęstsze błędy pojawiające się po aktualizacji PrestaShop, ich techniczne przyczyny oraz konkretną checklistę działań przed i po zmianie wersji, dzięki której kolejna aktualizacja przebiegnie bez niespodzianek.

Dlaczego aktualizacja PrestaShop bywa ryzykowna

PrestaShop to otwarte oprogramowanie rozwijane przez twórców platformy i globalną społeczność deweloperów. Oprogramowanie jest stale rozbudowywane o tysiące modułów z oficjalnego Marketplace oraz autorskie szablony i indywidualne rozwiązania przygotowane pod konkretne sklepy. Każdy z tych elementów rozwija się we własnym tempie, a aktualizacja jednego z nich nie gwarantuje pełnej zgodności z pozostałymi.

Twórcy platformy zalecają aktualizowanie sklepu przy każdym nowym wydaniu. PrestaShop publikuje rocznie od trzech do pięciu aktualizacji bezpieczeństwa. Typowy sklep z dwudziestoma czy trzydziestoma zainstalowanymi modułami wymaga w ciągu roku ośmiu do dwunastu aktualizacji samych modułów. To sporo ruchomych elementów, z których każdy może wejść w konflikt z resztą systemu.

Warto też rozróżnić dwa pojęcia, które w rozmowach o PrestaShop często się ze sobą mieszają. Aktualizacja, po angielsku update, to przejście między wersjami w obrębie tej samej gałęzi głównej, na przykład z 8.1 na 8.2. Moduły i szablon zwykle zachowują kompatybilność, choć zmiany w strukturze bazy danych też się zdarzają. Migracja to coś innego: przejście między głównymi wersjami, na przykład z 1.6 na 1.7 albo na nowszą gałąź, 8 czy 9. Tutaj kompatybilność szablonu i większości modułów praktycznie przestaje istnieć, a proces bardziej przypomina budowę sklepu od nowa niż zwykłą aktualizację.

Zasada jest prosta: im więcej niestandardowego kodu, integracji i customizacji ma sklep, tym więcej elementów trzeba sprawdzić po każdej aktualizacji PrestaShop, niezależnie od tego, czy mówimy o drobnej łatce bezpieczeństwa, czy o pełnej migracji na nowszą wersję.

Najczęstsze błędy po aktualizacji PrestaShop

Nadpisania (override) i zniknięte customizacje

To najczęstsza i zarazem najtrudniejsza do zdiagnozowania grupa problemów. PrestaShop pozwala modyfikować działanie rdzenia systemu bez ingerencji w oryginalne pliki, właśnie po to, żeby aktualizacje w ogóle były możliwe. Mechanizm nazywa się override i polega na tym, że własna klasa PHP dziedziczy po klasie rdzenia, na przykład Product po ProductCore, i nadpisuje tylko wybrane metody, a nie cały plik.

Problem w tym, że system nie skanuje folderu override przy każdym wejściu na stronę. Mapę klas trzyma w pliku cache/class_index.php i jeśli ten plik nie zostanie usunięty oraz odbudowany po aktualizacji, override może przestać działać, mimo że kod jest poprawny. Samo wyczyszczenie cache Smarty w takiej sytuacji nic nie zmieni. Trzeba skasować konkretnie ten plik, ręcznie przez FTP albo z poziomu Parametry zaawansowane, Wydajność w panelu administracyjnym.

Osobna kwestia to same moduły. Oficjalna dokumentacja PrestaShop wprost zaznacza, że aktualizacja modułu kasuje indywidualne modyfikacje wprowadzone bezpośrednio w jego plikach. Jeśli ktoś zlecał wcześniej niestandardowe zmiany w module, po jego aktualizacji trzeba wprowadzić je ponownie. Chyba że zostały zapisane jako override, a nie jako edycja plików źródłowych.

Do tego dochodzą hooki, czyli punkty w kodzie, do których podpinają się poszczególne moduły. Aktualizacja może zmienić ich działanie lub nadpisać domyślne przypięcie modułu. W efekcie dany element może zniknąć z układu strony albo zostać przeniesiony w inne miejsce, mimo że sam moduł nadal jest aktywny i formalnie działa poprawnie.

Pomiędzy kolejnymi wersjami PrestaShop mogą również zmieniać się nazwy hooków. Przykładowo hook `displayPayment`, wykorzystywany w PrestaShop 1.6, został w PrestaShop 1.7 zastąpiony przez `paymentOptions`. Początkowo mechanizm wstecznej kompatybilności pozwalał części starszych modułów nadal działać. Jednak korzystanie z nieaktualnych hooków w nowszych wersjach systemu jest rozwiązaniem przestarzałym i niezalecanym. Może ono prowadzić do problemów podczas aktualizacji oraz nieprawidłowego działania modułów.

Błędy w procesie zakupowym i utrata sprzedaży

Jeśli po aktualizacji coś ma nie działać, to najgorszym scenariuszem jest checkout. Zepsuty proces zakupowy oznacza zerową sprzedaż od pierwszej minuty, a klienci rzadko wracają, żeby sprawdzić, czy problem już naprawiono.

Do typowych sytuacji należą zniknięcie metody płatności z listy dostępnych opcji, błędy w naliczaniu podatku lub kosztów dostawy oraz niedziałający jednostronicowy checkout (one page checkout). Podobnie bywa z modułami płatności, takimi jak Przelewy24, PayU czy tpay, oraz z dostawą: integracje z InPost, paczkomatami czy kurierami potrafią przestać poprawnie reagować na wybór punktu odbioru, mimo że moduł formalnie pokazuje status zainstalowany.

Przyczyna zwykle leży w tym samym miejscu co w poprzednim punkcie. Moduł płatności albo dostawy miał własne modyfikacje albo korzystał z hooków, które po aktualizacji zmieniły zachowanie. Dlatego pełne przejście przez ścieżkę zakupową powinno być pierwszą rzeczą sprawdzaną po każdej aktualizacji. Jeszcze przed wyłączeniem trybu konserwacji dla wszystkich odwiedzających.

Spadek wydajności i problemy z cache

Sklep, który przed aktualizacją ładował się szybko, po zmianie wersji potrafi wyraźnie zwolnić. Zwykle nie jest to wina samej aktualizacji, tylko tego, że stare dane w pamięci podręcznej nie pasują już do nowej struktury plików i szablonów.

Warto sprawdzić kilka konkretnych elementów. Po pierwsze, cache Smarty oraz wspomniany wcześniej plik class_index.php, zwłaszcza jeśli sklep dodatkowo korzysta z mechanizmu cache po stronie serwera, na przykład LiteSpeed Cache. Po drugie, kompatybilność wersji PHP. Nowsze wersje PrestaShop zwykle wymagają również aktualizacji PHP. Problem pojawia się wtedy, gdy część modułów nadal korzysta z metod dostępnych wyłącznie w starszych wersjach języka. W takiej sytuacji skutkiem mogą być nie tylko błędy zapisywane w logach, ale również widoczne problemy z działaniem sklepu, w tym błędy 500, których źródło bywa trudne do szybkiego zidentyfikowania.

Dodatkowym wyzwaniem są moduły, które nie są już rozwijane ani wspierane przez ich twórców. Jeśli taki moduł pełni kluczową funkcję w sklepie, nie zawsze można po prostu zastąpić go nowszą wersją. Wówczas konieczne może być indywidualne dostosowanie jego kodu do aktualnej wersji PrestaShop i PHP przez wyspecjalizowaną agencję lub programistę.

Po trzecie, zapytania do bazy danych i indeksy, szczególnie w większych sklepach, gdzie aktualizacja mogła zmienić strukturę tabel.

To dobry moment, żeby w ogóle przyjrzeć się optymalizacji PrestaShop, nie tylko w kontekście samej aktualizacji. Sklep, który wcześniej działał na granicy wydajności, po zmianie wersji często ujawnia problemy, które dotąd były niewidoczne. Jeśli korzystasz z Redis albo dopiero planujesz go wdrożyć, aktualizacja to naturalny moment, żeby zweryfikować, czy konfiguracja cache nadal działa zgodnie z oczekiwaniami.

Problemy z szablonem i wyglądem sklepu

Im mocniej rozbudowany i spersonalizowany szablon, tym większe ryzyko, że po aktualizacji coś się rozjedzie wizualnie. Typowe objawy to rozjechane style CSS, zniknięte lub przesunięte bloki modułów w układzie strony, a czasem zduplikowane elementy. Jeśli nadpisany plik szablonu modułu nie został zaktualizowany razem z resztą.

Mechanizm jest podobny do tego opisanego przy modułach: PrestaShop pozwala nadpisywać pliki szablonów wewnątrz katalogu motywu, żeby nie tracić customizacji przy aktualizacji modułu. Jeśli jednak taki nadpisany plik nie zostanie zweryfikowany po aktualizacji, motyw wyświetla starą wersję układu, czasem w konflikcie z nowym kodem modułu.

Dlatego każdą aktualizację, nawet drobną, warto najpierw przetestować na środowisku deweloperskim albo subdomenie testowej, przechodząc przez kluczowe widoki: stronę główną, listing kategorii, kartę produktu i cały proces zakupowy, zanim zmiana trafi na sklep produkcyjny.

Zerwane integracje i błędy modułów zewnętrznych

Przeciętny sklep PrestaShop ma kilkanaście, czasem kilkadziesiąt aktywnych modułów: płatności, dostawę, marketing (Facebook Pixel, Google Analytics, newsletter), integracje z systemami magazynowymi czy platformami sprzedażowymi jak Allegro, a do tego moduły SEO i obsługi faktur. Każdy z nich aktualizuje się według własnego harmonogramu, niezależnie od aktualizacji samego silnika sklepu.

Po aktualizacji silnika PrestaShop moduł integracyjny może formalnie działać, ale przestać poprawnie komunikować się z zewnętrznym systemem, na przykład z panelem Baselinker albo z kontem sprzedawcy na Allegro. Podobnie bywa z narzędziami analitycznymi: nieaktualny Facebook Pixel czy stary tag Google Analytics potrafi przestać poprawnie rejestrować konwersje, mimo że sam sklep sprzedaje bez zarzutu. To błąd szczególnie podstępny, bo nie widać go gołym okiem, dopóki ktoś nie porówna liczby transakcji w sklepie z danymi w panelu reklamowym.

Rekomendacja jest prosta: po każdej aktualizacji sprawdź nie tylko, czy dany moduł jest aktywny, ale czy rzeczywiście wysyła i odbiera dane tam, gdzie powinien.

Błędy SEO i spadek widoczności w Google

Aktualizacje, a zwłaszcza migracje między głównymi wersjami, potrafią zmienić strukturę adresów URL, ustawienia przekierowań czy zawartość pliku robots.txt. Jeśli stare adresy przestają działać, a nowe nie mają poprawnych przekierowań 301, efektem jest utrata pozycji w wynikach wyszukiwania, czasem zauważalna dopiero po kilku tygodniach, gdy strata jest już spora.

Do tego dochodzi wydajność. Core Web Vitals, czyli LCP, INP i CLS, są oficjalnym czynnikiem rankingowym Google, więc spowolnienie sklepu opisane wcześniej ma bezpośrednie przełożenie na SEO, nie tylko na komfort klienta. Po większej migracji warto też zweryfikować dane strukturalne i mapę strony, zwłaszcza że coraz więcej decyzji zakupowych zaczyna się od odpowiedzi generowanych przez AI, a nie tylko od klasycznego wyszukiwania. Pisaliśmy o tym szerzej w tekście o wyzwaniach GEO na PrestaShop.

Jak przygotować się do aktualizacji Prestashop, żeby zminimalizować ryzyko

Większości opisanych wyżej problemów da się uniknąć, jeśli aktualizację potraktujemy jako zaplanowany proces, a nie pojedyncze kliknięcie. Oficjalny moduł PrestaShop do aktualizacji, Update Assistant, znany wcześniej jako 1-Click Upgrade, prowadzi przez pięć kroków: wybór wersji, opcje aktualizacji, backup, samą aktualizację i listę kontrolną po jej zakończeniu. Warto trzymać się podobnej kolejności nawet przy aktualizacji wykonywanej ręcznie.

Przed aktualizacją:

Po aktualizacji, jeszcze przed wyłączeniem trybu konserwacji:

Ta checklista nie zastąpi pełnego audytu technicznego, ale znacząco redukuje ryzyko, że aktualizacja zaskoczy Cię czymś, czego nie dało się przewidzieć.

Co robić, gdy błędy po aktualizacji Prestashop już wystąpiły

Jeśli aktualizacja jest już za Tobą, a problem właśnie się ujawnił, kolejność działania ma znaczenie.

Najpierw sprawdź checkout. Jeśli klienci nie mogą dokończyć zamówienia, to priorytet numer jeden, niezależnie od tego, jak drobny wydaje się sam problem. Dopiero potem warto zająć się kwestiami wizualnymi czy wydajnościowymi, które ograniczają sprzedaż, ale jej całkowicie nie blokują.

W drugiej kolejności zweryfikuj integracje bezpośrednio powiązane z przychodem: płatności, dostawę i moduły fakturowania. Trzecim krokiem jest cache i wydajność, a dopiero na końcu elementy, które nie generują natychmiastowej straty finansowej, jak drobne błędy wizualne czy przekierowania SEO. Te też trzeba naprawić, ale zwykle nie tego samego dnia.

Jeśli po podstawowym sprawdzeniu problem nie ustępuje, a przyczyna nie jest oczywista, czasem szybszym rozwiązaniem jest przywrócenie kopii zapasowej sprzed aktualizacji i ponowne podejście do zmiany wersji, tym razem na środowisku testowym, niż dalsze szukanie przyczyny na działającym sklepie produkcyjnym. To też dobry moment, żeby rozważyć konsultację z zespołem, który na co dzień zajmuje się utrzymaniem sklepów PrestaShop. Zamiast szukać rozwiązania metodą prób i błędów kosztem kolejnych godzin przestoju. Jeśli problem okazuje się na tyle poważny, że sklep wymaga głębszej przebudowy, możemy przejąć istniejący projekt i zaproponować dalszy kierunek jego rozwoju.

Najczęściej zadawane pytania

Czy aktualizacja PrestaShop może zepsuć sklep?

Tak, choć rzadko winny jest sam proces aktualizacji. Problemy zwykle wynikają z niestandardowych modyfikacji, nieaktualnych modułów albo braku testów przed wdrożeniem zmiany na sklepie produkcyjnym. Aktualizacja wykonana z backupem i przetestowana na osobnym środowisku niesie znacznie mniejsze ryzyko.

Ile trwa aktualizacja PrestaShop?

Sama aktualizacja przez moduł Update Assistant trwa zwykle od kilkunastu minut do godziny, w zależności od rozmiaru sklepu. Pełne przygotowanie, czyli audyt modułów, testy na środowisku deweloperskim i weryfikacja po wdrożeniu, może zająć od kilku godzin do kilku dni. właszcza przy migracji między głównymi wersjami.

Czy można cofnąć aktualizację PrestaShop?

Jeśli wcześniej wykonano backup plików i bazy danych, przywrócenie poprzedniej wersji jest możliwe. Zwykle też jest szybsze niż naprawianie błędów na bieżąco. Bez backupu cofnięcie zmiany jest dużo trudniejsze i czasochłonne.

Czy każdą aktualizację trzeba zlecać specjaliście?

Niekoniecznie. Drobne aktualizacje bezpieczeństwa w obrębie tej samej wersji głównej można wykonać samodzielnie, mając odpowiednią wiedzę techniczną i wykonany wcześniej backup. Migracje między głównymi wersjami oraz sklepy z dużą liczbą customizacji zdecydowanie lepiej powierzyć zespołowi, który zna specyfikę PrestaShop.

Podsumowanie

Aktualizacja PrestaShop nie powinna być loterią. Większość błędów opisanych w tym artykule, od nadpisań i konfliktów modułów, przez problemy z checkout, po spadek wydajności, ma jedną wspólną cechę: da się je przewidzieć i zabezpieczyć jeszcze przed wdrożeniem zmiany.

Jeśli wolisz nie sprawdzać tego na własnym sklepie, wsparcie programistyczne Woohoo traktuje każdą aktualizację jako zaplanowany proces: z audytem modułów, testami na środowisku deweloperskim i pełną checklistą po wdrożeniu.

Umów bezpłatną konsultację i porozmawiajmy o tym, jak wygląda aktualizacja Twojego sklepu.

Zobacz też

Źródła

Zobacz więcej