Enduro7 sprzedaje części do motocykli enduro i cross: oryginalne części OEM wyszukiwane po numerach katalogowych oraz części tuningowe i akcesoria offroad. Sklep działał na PrestaShop 1.6 z PHP 7.2, czyli wersjach od dawna bez wsparcia i poprawek bezpieczeństwa.

Prace developerskie prowadziliśmy jako podwykonawca agencji PAQ Studio, która odpowiadała za strategię i SEO. Cały przebieg projektu agencja opisała też w swoim case study.

Cel projektu

PrestaShop 9 bez utraty danych i widoczności

Sklep miał przejść z PrestaShop 1.6 na 9.1.4 i z PHP 7.2 na 8.2, a klienci, zamówienia i pozycje w Google miały zostać tam, gdzie były.

  • Wspierana platforma

    PrestaShop 9.1.4 i PHP 8.2 z aktualnymi poprawkami bezpieczeństwa i możliwością dalszego rozwoju.

  • Komplet danych

    Produkty, kategorie, zamówienia, konta klientów i pozostałe dane sklepu przeniesione i sprawdzone.

  • Działające funkcje

    Moduły, motyw i kod własny działające na nowej wersji albo zastąpione odpowiednikami.

  • Ciągłość sprzedaży i SEO

    Sklep sprzedaje przez cały czas prac, a po wdrożeniu nie traci widoczności.

Wyzwania

Trzy wersje główne do nadrobienia

Między 1.6 a 9 zmieniła się struktura bazy, architektura motywu i sposób działania modułów. Każda z tych zmian osobno potrafi zatrzymać projekt.

  • Nowa architektura motywu

    PrestaShop 1.7 całkowicie zmienił sposób budowania szablonów, więc stary motyw nie mógł po prostu przejść dalej.

  • Moduły bez następców

    Część modułów nie miała wersji zgodnych z PrestaShop 8 i 9 i trzeba je było zastąpić innymi rozwiązaniami.

  • AJAX wprost do plików PHP

    Stary sklep wywoływał zapytania AJAX bezpośrednio na plikach PHP. Nowsze wersje PrestaShopa tego nie obsługują.

  • Ryzyko dla SEO

    Przy skoku o kilka wersji zmienia się sposób generowania stron, a pierwsze dni po wdrożeniu decydują o pozycjach.

Kluczowa decyzja

Żadnego skoku wprost z 1.6 do 9

Bezpośredni przeskok to jednoczesna zmiana bazy, motywu i modułów. Gdy coś przestaje działać, nie wiadomo, który z tych elementów zawinił. Dlatego aktualizacja szła etapami:

  1. 1.6 start
  2. 1.7 etap 1
  3. 8 etap 2
  4. 9.1.4 cel

Każdy etap na osobnym środowisku testowym, z weryfikacją danych i modułów po drodze. Po każdym kroku było dokładnie wiadomo, co się zmieniło i co trzeba poprawić.

Jak to wyglądało w czasie

  1. Marzec

    Audyt starej wersji, inwentaryzacja modułów, motywu i rozwiązań własnych, lista ryzyk oraz danych i funkcji, które muszą przetrwać.

  2. Kwiecień

    Środowisko testowe i deweloperskie oraz scenariusze testów dla produktów, kategorii, zamówień i kont klientów.

  3. Maj

    Etap 1: PrestaShop 1.6 → 1.7, najtrudniejszy, bo zmieniający architekturę szablonu.

  4. Czerwiec

    Etap 2: PrestaShop 1.7 → 8, z ponowną kontrolą danych, modułów i kodu własnego.

  5. Sierpień

    Wymiana niewspieranych modułów, dostosowanie motywu i kodu własnego, przepisanie zapytań AJAX na kontrolery.

  6. Wrzesień

    Migracja produkcyjna do 9.1.4 na PHP 8.2 i monitoring po wdrożeniu.

Rozwiązanie

Etapowa aktualizacja na środowisku testowym

Sklep produkcyjny działał normalnie, a wszystkie zmiany powstawały i były testowane obok.

  • Środowisko testowe

    Kopia sklepu, na której przechodziły kolejne etapy aktualizacji i testy kluczowych funkcji.

  • Zamienniki modułów

    Moduły bez wersji dla PrestaShop 8 i 9 zastąpione kompatybilnymi rozwiązaniami.

  • Motyw i kod własny

    Dostosowane do nowej architektury platformy, z zachowaniem wyglądu i ścieżki zakupowej.

  • AJAX na kontrolerach

    Zapytania, które szły wprost do plików PHP, przepisane na kontrolery PrestaShop. Tego nie ma w żadnej instrukcji aktualizacji.

  • Migracja danych

    Produkty, kategorie, zamówienia, konta klientów i pozostałe dane przeniesione i sprawdzone po wdrożeniu.

  • Monitoring po wdrożeniu

    Search Console i logi serwera pod obserwacją od pierwszego dnia, żeby wyłapać błędy, zanim odbiją się na pozycjach.

Karta produktu w sklepie Enduro7 na PrestaShop 9.1.4 z dostępnością, czasem realizacji i weryfikacją kompatybilności
Wersja PrestaShop 1.6 → 9.1.4 przez wersje 1.7 i 8
Wersja PHP 7.2 → 8.2 wspierana wersja z poprawkami
Etapy aktualizacji 3 każdy na środowisku testowym
Czas projektu ~6 mies. od audytu po monitoring
Efekty

Co zyskało Enduro7

Sklep działa na aktualnym PrestaShopie, z kompletem danych i bez przerwy w sprzedaży w trakcie prac.

  • Bezpieczna platforma

    PrestaShop 9.1.4 i PHP 8.2 zamiast wersji bez wsparcia od lat.

  • Komplet danych

    Produkty, kategorie, zamówienia i konta klientów przeniesione i zweryfikowane.

  • Sklep gotowy na rozwój

    Nowe moduły i funkcje można wdrażać na aktualnej wersji, bez obchodzenia ograniczeń 1.6.

  • Kontrola nad SEO

    Monitoring Search Console i logów od pierwszego dnia po migracji.