E-Commerce

Aktualizacja PrestaShop do wersji 9: z wersji 1.6, 1.7 i 8

Aktualizacja sklepu PrestaShop poprzedzona audytem modułów, motywu, nadpisań i serwera. Zakres prac zależy od wersji, z której startuje sklep: przejście z 8 na 9 wygląda inaczej niż z 1.7, a przy 1.6 zwykle lepiej postawić nowy sklep i przenieść do niego dane.

Zakres usługi: Aktualizacja PrestaShop

  • PrestaShop 9
  • Aktualizacja z 1.6
  • Aktualizacja z 1.7
  • Aktualizacja z 8
  • Audyt modułów
  • Migracja danych

Dlaczego warto aktualizować PrestaShop

Każde wydanie PrestaShop przynosi poprawki bezpieczeństwa i nowe funkcje, a starsze wersje z czasem przestają je dostawać. Sklep zatrzymany na dawnym wydaniu działa też na coraz starszym PHP, którego hostingi stopniowo nie wspierają, a nowe moduły płatności czy integracje bywają dostępne wyłącznie dla aktualnych wersji platformy.

BeGiga przeprowadza aktualizacje sklepów PrestaShop do wersji 9 z wydań 8, 1.7 i 1.6: od audytu instalacji, przez przygotowanie modułów i motywu, po przełączenie sklepu na nową wersję i opiekę po starcie.

Aktualizacja to proces złożony

PrestaShop ma oficjalny moduł Update Assistant, następcę 1-Click Upgrade, który podnosi wersję sklepu z poziomu panelu. Dobrze działa tam, gdzie instalacja jest bliska standardowej. Sklep rozwijany przez kilka lat, przez różne agencje i z rozwiązaniami tworzonymi na życzenie właściciela, rzadko taki jest: ma moduły zewnętrzne, nadpisania, przerobiony motyw, integracje z hurtowniami i płatnościami, a serwer pracuje na wersji PHP dobranej do starszego wydania. Każdy z tych elementów musi mieć odpowiednik zgodny z nową wersją, inaczej aktualizacja zatrzyma się w połowie albo skończy sklepem, który się wyświetla, ale nie przyjmuje poprawnie zamówień i ma ukryte błędy, widoczne czasem dopiero przy następnej aktualizacji.

Najczęściej wygląda to tak: aktualizacja przerywa się w połowie, a zamiast sklepu pojawia się biała strona, błąd 500 albo komunikat PHP taki jak poniżej.

Komunikat błędu PHP w PrestaShop po przerwanej aktualizacji sklepu
Przykład błędu, który zatrzymuje sklep w trakcie aktualizacji PrestaShop.

Diagnoza takiego błędu wymaga wiedzy technicznej. Gdy próbuje go rozwiązać osoba bez doświadczenia programistycznego, na działającym sklepie i bez kopii zapasowej, sklep potrafi pozostać wyłączony przez kilka dni. Nieudane próby przywrócenia poprzedniej wersji mogą też skończyć się utratą zamówień lub danych klientów.

Audyt instalacji przed aktualizacją

BeGiga zaczyna od szybkiego audytu instalacji: dokładna wersja PrestaShop i PHP, lista modułów z informacją, które są używane i czy mają wersje zgodne z docelowym wydaniem, nadpisania rdzenia, zmiany w motywie, integracje oraz stan bazy danych. Na tej podstawie wybieramy drogę, czyli aktualizację w miejscu, aktualizację etapami albo nową instalację z migracją danych, i przygotowujemy listę elementów do wymiany.

Przy starszych lub mocno przerabianych sklepach zalecamy też szersze spojrzenie na kod, wydajność i bezpieczeństwo, które obejmuje audyt sklepu internetowego.

Aktualizacja PrestaShop z wersji 8 do 9

Przejście z 8 na 9 to najkrótsza droga do najnowszej wersji, ale nadal duża zmiana. PrestaShop 9 działa na Symfony 6.4 i wymaga co najmniej PHP 8.1, a część modułów i motywów przygotowanych dla wersji 8 trzeba zaktualizować. Najwięcej uwagi wymagają moduły płatności, dostaw i faktur, integracje z hurtowniami i ERP oraz wszystko, co ingeruje w proces zamówienia.

Dobrym znakiem jest sklep na wersji 8, który już działa na PHP 8.1, czyli najwyższym PHP obsługiwanym przez tę wersję i zarazem minimalnym dla PrestaShop 9. Sklep na PHP 7.4 może ukrywać problemy, które wyjdą dopiero po zmianie PHP: w modułach pisanych na zamówienie, pozostawionych przez wcześniejsze agencje, oraz w motywach. Sklep, którego moduły mają zgodne wersje, zwykle przechodzi aktualizację w miejscu: najpierw na kopii, potem na produkcji.

Aktualizacja PrestaShop z wersji 1.7 do 9

Wersja 1.7 przez lata była najpopularniejszym wydaniem PrestaShop i w wielu sklepach wciąż działa, często po przeróbkach kilku wykonawców. Skok z 1.7 na 9 obejmuje kilka generacji zmian: inną wersję Symfony, nowe wymagania PHP, zmienione hooki i sposób działania modułów. Możliwe są dwie drogi. Aktualizacja etapami, z przystankiem na 8.2, pozwala ustabilizować sklep po pierwszym skoku i sprawdzić moduły przed kolejnym. Nowa instalacja PrestaShop 9 z migracją danych bywa prostsza, gdy sklep ma dużo nadpisań i modułów bez wsparcia autorów. O wyborze decyduje audyt instalacji.

Sklep na PrestaShop 1.6

Sklepy na 1.6 działają na architekturze, której nowsze wersje już nie przypominają: inny system motywów, inne moduły, stare PHP. Aktualizacja w miejscu do wersji 9 praktycznie nie wchodzi w grę. Sensowną drogą jest nowy sklep na PrestaShop 9, do którego przenosi się produkty, kategorie, klientów, historię zamówień i treści, a zmienione adresy URL dostają przekierowania. Technicznie bliżej temu do przeprowadzki niż do aktualizacji, dlatego przebiega jak migracja sklepu do PrestaShop.

Mniejsze aktualizacje: z 8.2.1 na 8.2.3 albo z 9.1 na 9.2

Aktualizacje w obrębie tej samej wersji głównej nie wymagają takich przygotowań. Przy nich BeGiga stosuje skróconą ścieżkę: kopia zapasowa, przegląd modułów pod kątem znanych niezgodności i aktualizacja bez stawiania osobnego środowiska testowego. Takie wydania też warto instalować na bieżąco. PrestaShop 9.2 dodał między innymi asystenta AI w panelu, serwer MCP i zamówienie na jednej stronie. Szczegóły sprawdź w artykule PrestaShop 9.2: asystent AI i aktualizacja sklepu.

Moduły, motyw i nadpisania

Jeśli moduł nie ma wersji zgodnej z PrestaShop 9, mamy trzy możliwości: aktualizację do nowego wydania autora, zamianę na inny moduł albo zmiany w jego kodzie. Moduły pisane na zamówienie i pozostałości po innych agencjach w miarę możliwości dostosowujemy do nowej wersji sklepu. Motyw trzeba sprawdzić pod kątem szablonów, skryptów i hooków, z których korzysta. Gotowe motywy często mają osobne wydania dla PrestaShop 9, a te przerabiane przez lata wymagają przeniesienia zmian.

Przy okazji można rozważyć przejście na Hummingbird, nowy motyw PrestaShop. Zmiana motywu to w praktyce budowa sklepu od nowa, ale dobre rozwiązanie, gdy przy okazji aktualizacji warto pozbyć się starych zależności i nieużywanych modułów. Taki sklep łatwiej później utrzymać i rozwijać. Nadpisania rdzenia przenosimy tylko wtedy, gdy nie da się ich zastąpić hookiem albo modułem.

Przełączenie i opieka po aktualizacji

Produkcję przełączamy w ustalonym terminie, w godzinach najmniejszego ruchu, po wykonaniu kopii zapasowych. Pozwalają one wrócić do poprzedniego stanu, gdyby mimo testów na środowisku testowym coś poszło nie tak.

Problemy, które pojawiają się już po aktualizacji, wynikają zwykle z tego, że motyw i moduły zachowują się w nowej wersji inaczej niż w starej: błąd w jednym hooku potrafi ukryć przycisk w koszyku albo zatrzymać wysyłkę zamówień do magazynu. Dlatego po starcie sprawdzamy logi błędów i zamówienia trafiające do integracji. Regularne aktualizacje bezpieczeństwa platformy i modułów, zamiast jednego dużego skoku co kilka lat, zapewnia stała opieka techniczna w ramach usługi sklepy PrestaShop.

Jak przebiega aktualizacja PrestaShop

  1. Audyt instalacji. Szybki przegląd wersji PrestaShop i PHP, modułów, motywu, nadpisań i integracji, a na tej podstawie ocena sytuacji i zalecana droga: aktualizacja w miejscu, etapami albo nowa instalacja.
  2. Plan i wycena. Lista modułów do aktualizacji, wymiany lub zmian w kodzie, zakres zmian w motywie i ryzyka znane przed startem prac.
  3. Aktualizacja na kopii. Przy dużych aktualizacjach, między wersjami głównymi, w większości przypadków aktualizacja lub migracja odbywa się na kopii sklepu, z poprawkami i testami ścieżki zakupu razem z zespołem klienta.
  4. Przełączenie i opieka. Aktualizacja produkcji w ustalonym terminie i w godzinach najmniejszego ruchu, kontrola po starcie i opcjonalna umowa serwisowa.

FAQ: Aktualizacja PrestaShop

Czy podczas aktualizacji stracę dane sklepu?

Produkty, klienci, zamówienia, kategorie i ustawienia przechodzą razem z bazą danych przy aktualizacji w miejscu albo są przenoszone do nowej instalacji przy migracji. Przed każdym etapem powstaje kopia zapasowa sklepu i bazy, a prace odbywają się na kopii, więc sklep produkcyjny pozostaje nienaruszony aż do przełączenia.

Czy sklep będzie działał w trakcie aktualizacji?

Nie przez cały czas. W większości przypadków aktualizacja i testy odbywają się na kopii sklepu, więc przez większość prac sklep sprzedaje normalnie. Wyłącza się go dopiero na czas aktualizacji produkcji albo, przy migracji, przełączenia na nową instalację. Następuje to po sprawdzeniu nowej wersji, w ustalonym terminie, najlepiej w godzinach najmniejszego ruchu. Przy migracji ostatnia synchronizacja danych obejmuje zamówienia złożone w trakcie prac.

Czy aktualizacja wpłynie na pozycje sklepu w Google?

Nie. Sama aktualizacja nie zmienia adresów URL. Wyjątkiem są rzadkie przypadki, na przykład nadpisania lub moduły zmieniające budowę adresów (choćby usuwające z nich ID) albo większe zmiany, takie jak przejście na multistore. Sprawdzamy to przed aktualizacją, a ewentualne różnice rozwiązuje zestaw przekierowań.

Co z modułami, które nie mają wersji zgodnej z PrestaShop 9?

Każdy taki moduł trafia do jednej z trzech grup: aktualizacja do nowego wydania od autora modułu, zamiana na inny moduł o tej samej funkcji albo zmiany w kodzie modułu wprowadzone przez programistę. Modułów, z których sklep już nie korzysta, nie przenosimy do nowej wersji.

Kiedy lepsza jest nowa instalacja niż aktualizacja?

Gdy sklep ma wiele nadpisań rdzenia, moduły porzucone przez autorów, motyw przerabiany przez kolejnych wykonawców albo działa na PrestaShop 1.6 (1.6.0 lub 1.6.1). Nowa instalacja z migracją danych pozwala wtedy zachować dane i adresy URL.