Migracja z Magento 1 do Magento 2 — wszystko, co powinieneś wiedzieć | Blog X-Coding
migracja-z-magento-1-do-magento-2-wszystko-co-powinienes-wiedziec

Migracja z Magento 1 do Magento 2 — wszystko, co powinieneś wiedzieć

16.04.2019 / / E-Commerce

Właściciele sklepów internetowych opartych o Magento z niepokojem patrzą w kalendarz. Czerwiec 2020 — taką datę wyznaczyło Adobe jako granicę wsparcia dla ostatniej wersji Magento oznaczonej numerem 1. Dla firm, które w sprzedaż zainwestowały już setki tysięcy złotych, zdecydowanie nie jest to najlepsza informacja.

Według statystyk, zakończenie wsparcia dla Magento 1 dotknie mniej więcej 100 000 sklepów, które jeszcze używają tej wersji. W momencie pisania artykułu to jakieś 5x więcej niż nowej. Minie jeszcze sporo czasu, zanim te liczby obrócą się na korzyść.

Jak w takim razie powinieneś się zachować? Z artykułu dowiesz się:

  • Co oznacza koniec wsparcia?
  • Jakie podjąć dalsze kroki?
  • Jak wygląda proces migracji?

Obiecuję, że odpowiadając na te pytania, postaram się zachować obiektywizm.

Tl;dr — decyzja o migracji do Magento 2 powinna być świadoma, a nie spontaniczna. Jeśli robisz to tylko z powodu supportu, prawdopodobnie stracisz pieniądze.

Adobe wygasza Magento 1

koniec supportu dla magento 1

Magento 2 jest już z nami od jakiegoś czasu, bo oficjalna premiera miała miejsce w listopadzie 2015 roku. O ile pierwsze wersje pozostawiały naprawdę dużo do życzenia (sam swoim klientom rekomendowałem poczekać z wdrożeniem przynajmniej rok), tak dziś trudno się do czegoś przyczepić.

Jednak niezależnie od subiektywnych odczuć względem nowej wersji, po decyzji o zakończeniu supportu dla „jedynki”, „dwójka” stała się faktem.

Co oznacza zakończenie supportu? Dwie rzeczy:

  • zatrzymanie rozwoju,
  • brak aktualizacji bezpieczeństwa.

Innymi słowy — zostaniesz sam ze swoim sklepem. Oczywiście Adobe nie ma wpływu na wtyczki, które są rozwijane przez niezależne firmy, ale z biegiem czasu i te przestaną być aktualizowane.

Co z tego?

No właśnie. Czy w czerwcu 2020 roku zgaśnie światło we wszystkich sklepach? Czy jeśli nie wyrobisz się z migracją, powinieneś spodziewać się kłopotów?

Jakiś czas temu na blogu pojawił się artykuł „Kiedy zmienić platformę e-Commerce”. W skrócie, wnioski które płyną z artykułu (a które idealnie pasują również do dzisiejszych rozważań), to:

Jeśli Twój sklep działa i nie planujesz w niedalekiej przyszłości intensywnego rozwoju, może warto się wstrzymać.

Inaczej mówiąc, jeśli masz wydać bardzo dużo pieniędzy, żeby być w dokładnie tym samym miejscu — cóż, nie brzmi to jak najlepsza strategia inwestycji kapitału.

Pozostaje jeszcze kwestia aktualizacji bezpieczeństwa i tu będę bardziej surowy — jest to rzeczywiście problem. Niezałatany system prędzej czy później padnie ofiarą ataku i raczej nie ma tutaj wyjątków.

Rozsądne wydaje się też założenie, że nawet w bezpiecznym systemie prędzej czy później pojawią się dziury (co widać chociażby na stronie aktualizacji bezpieczeństwa Magento https://magento.com/security/patches).

Ale znowu, krótka refleksja — znakomita liczba sklepów, z którymi miałem dotychczas do czynienia, bardzo lekko traktowało powyższą listę. To oznacza, że z całkiem sporym prawdopodobieństwem Twój sklep już i tak jest dziurawy i podatny na różnego rodzaju ataki. Zakończenie supportu nic nie zmieni.

Dla jasności — nie bagatelizuję problemu, a raczej wskazuję, że powinieneś zmienić nawyki, bo sama migracja spowoduje tylko tyle, że ktoś w końcu dobierze się do Twojego Magento 2, jeśli kwestia aktualizacji bezpieczeństwa pozostanie bez zmian.

Wniosek z pierwszej części

Koniec supportu — to fakt. Czy nieaktualna wersja to duży problem? Tak, chociaż prawdopodobnie ten problem dotyka Cię od dłuższego czasu.

Czy faktycznie Magento 1 stanie się podatne na ataki? Sądzę, że przy tak dużej społeczności nawet bez wsparcia Adobe poradzimy sobie z tym ryzykiem i będą pojawiać się niezależne aktualizacje bezpieczeństwa, ale po pierwsze — nie brałbym tego za dobrą monetę, a po drugie — społeczność będzie coraz mniejsza.

Niech zatem wniosek będzie następujący — jeśli Twój biznes się rozwija i zależy Ci na kanale e-Commerce, prędzej czy później czeka Cię zmiana technologiczna i powinieneś oswoić się z tą myślą.

Są lepsze powody do wybrania Magento 2

Wydaje się, że koniec supportu nie powinien przerażać tak, żeby od razu planować migrację na nowszą wersję. Sądzę (i zarazem nad tym ubolewam), że dla wielu sklepów byłaby to tylko zmiana z 1 na 2 i dalsze trwanie w niewiedzy z dziurawym systemem (tylko że w nowszej wersji).

Dokładnie takiej odpowiedzi udzielam podczas rozmów z moimi klientami.

Mimo to, sam jestem wielkim fanem migracji, jednak z zupełnie innych powodów:

  1. Technologia się starzeje — Magento 1 jest, krótko mówiąc, dość przestarzałe technologicznie. Obecne technologie pozwalają na lepsze utrzymanie kodu, dają więcej możliwości i przede wszystkim — są stale rozwijane. Nie jest to problem sam w sobie. Większym jest konsekwencja w postaci migracji specjalistów, którzy zwyczajnie nie chcą pracować na starych rozwiązaniach. To powoduje, że coraz trudniej będzie Ci znaleźć profesjonalnych programistów lub firmy, które zajmą się Twoim sklepem.

  2. Szansa na pozbycie się długu technologicznego — firmy, które przez lata poprawiają swój sklep, na pewnym etapie muszą się zmierzyć z narastającym długiem technologicznym. Kolejny refaktor, optymalizacja, sprzątanie po innych — przez takie operacje rośnie koszt utrzymania. Świeży start pozwoli Ci naprawić błędy z przeszłości, zacząć z wyższego pułapu i udrożnić sobie możliwość dalszego rozwoju.

  3. Społeczność się kurczy — w pewnym sensie jest to przedłużenie punktu 1. Razem ze specjalistami od strony obsługi, należy się spodziewać, że dostawcy modułów też powoli zaczną odchodzić od Magento 1. To naturalny proces i nie wydarzy się z dnia na dzień, ale im droższe w utrzymaniu będą moduły, tym mniej firm będzie się na to wsparcie decydować.

  4. Magento 2 jest lepsze — pomijając aspekty technologiczne, Magento 2 jest platformą dojrzałą, która czerpie nie tylko z dobrodziejstw swojego poprzednika, ale też z rozwoju rynku. Z wielu powodów, wymienię te najważniejsze:

a) Lepsza obsługa mobile — M2 jest wykonane jako mobile-first, co przy narastającym ruchu mobilnym i promowaniu tej właśnie wersji przez algorytmy wyszukiwarek, ma znaczący wpływ na Twoją pozycję w internecie;

b) Wsparcie sprzedaży wielokanałowej — Magento 2 jest lepiej przystosowane do wdrażania strategii omnichannel;

c) Poprawiony checkout — chociaż według mnie podstawowy checkout i tak nie jest najlepszy na świecie, jest zdecydowanie lepszy niż podstawowy checkout w Magento 1. A to w końcu ścieżka krytyczna w sklepie;

d) Nowy panel admina — o ile można dyskutować, jak wiele nowości otrzymali użytkownicy na frontendzie, backend został wymieniony w całości i przypomina teraz nowoczesne rozwiązania znane z innych platform. Jest po prostu bardziej przyjazny użytkownikowi, co docenią ci, którzy muszą w nim siedzieć przez 8 godzin dziennie;

e) Lepiej przystosowane do sprzedaży B2B — wersja Commerce (płatna, dawniej zwana Enterprise) posiada wbudowany moduł B2B. Oczywiście ze względu na większą skalowalność, Open Source (czyli Community w poprzedniej edycji) również daje dużo więcej możliwości dla handlu między firmami;

f) Rosnące community — coraz więcej dodatków pojawia się wyłącznie dla Magento 2. Ten trend będzie się pogłębiał z czasem i korzystanie z nowej wersji będzie coraz bardziej atrakcyjne;

g) Dynamiczny rozwój — odkąd Adobe przejęło Magento, wydaje się, że wokół sklepu zaczęło się dziać jakby trochę więcej. Możemy więc liczyć na to, że tempo co najwyżej wzrośnie i bycie na bieżąco samo w sobie pozwoli na uzyskiwanie przewagi konkurencyjnej w swoim segmencie.

Jak widać — więcej jest argumentów za tym, żeby rozważyć migrację, niż powodów do strachu przed jej brakiem.

Proces migracji

migracja magento 1 do magento 2

Postraszył, pocieszył, a dalej nie wiadomo jak to zrobić 🙂

Tytuł obliguje, więc wyjaśnię Ci cały proces, jak zrobić to krok po kroku. Opieram się na praktyce z wdrożeń, rozwoju i migracji Magento, które zrobiliśmy już dla naszych klientów.

Ogólnie proces migracji obejmuje następujące zagadnienia:

  • szablon,
  • rozszerzenia,
  • dane,

inne zmiany, które nagromadziły się od początku funkcjonowania sklepu.

W dalszej części artykułu znajdziesz informacje na temat każdego zagadnienia osobno.

Zanim zaczniesz

Czas na Magento 2

Być może to tylko moje osobiste odczucie, ale „migracja” brzmi jak coś prostego. Instalujemy nową wersję, przenosimy dane i działa.

Prawdopodobnie powinieneś zapomnieć o takim scenariuszu.

Ten wariant sprawdzi się tylko w sytuacji, w której masz stockowe Magento. A i tak czeka Cię dużo pracy. W każdym innym wypadku (dodatkowe moduły, zaawansowane zmiany na frontendzie, dedykowane rozwiązania) przygotuj się na o wiele więcej pracy, która wcale nie będzie prosta.

Dlatego zanim zaczniesz, pamiętaj:

  1. Poznaj swój sklep — powinieneś wiedzieć, co tak naprawdę zmieniło się w sklepie i znać szczególne przypadki (na przykład wyjątki w terminach dostaw, których nie widać na pierwszy rzut oka);

  2. Zinwentaryzuj moduły — Magento ma budowę modułową, dlatego dobrze byłoby przypisać poszczególne dodatkowe funkcje do struktury modułów;

  3. Pozbądź się niepotrzebnych rzeczy — w tym artykule już padły słowa o długu technologicznym. Podobnie będzie z niepotrzebnymi funkcjami — jeśli coś nie jest Ci potrzebne, może nie warto przenosić tego do nowego sklepu;

  4. Zweryfikuj SEO — sklep internetowy jest tak dobry, jak jego widoczność w sieci. Utrata organicznego zasięgu to koszmar niejednego przedsiębiorcy. Dlatego zadbaj o to, żeby wypracowana latami pozycja nie przegrała z nowym rozwiązaniem. Sprawdź, na które frazy się pozycjonujesz, jak wyglądają metadane, jak wygląda charakterystyka ruchu. To punkt wyjściowy do porównania z nowym sklepem;

  5. Pomyśl o migracji jak o nowym projekcie — zmiana sklepu dla zmiany sklepu nie wydaje się najbardziej rozsądną decyzją biznesową. Dlatego powyższe cztery punkty to dobry wstęp dla ustalenia, gdzie jesteśmy dzisiaj. Skoro dokonujesz tak dużej zmiany, warto pomyśleć, gdzie chcesz być jutro.

Ostatni punkt potraktowałbym szczególnie poważnie. W istocie, o migracji Magento należy myśleć jak o nowym projekcie sklepu.

Jeśli przechodziłeś kiedyś przez proces digital transformation, występuje tutaj analogia. Nie chodzi o to, żeby to, co robisz analogowo, robić lepiej. Chodzi o to, żeby wykorzystać kanał digital do zmiany organizacji. Podobnie ze sklepem — nowa wersja Magento to szansa na całkowicie nowy start, pozbycie się naleciałości i w konsekwencji lepszą sprzedaż.

Biorąc pod uwagę, że migracja nie będzie ani tania, ani łatwa — wykorzystaj jej potencjał biznesowy do granic możliwości.

Szablon Magento 1 nie jest kompatybilny z Magento 2

Wspominałem, że nie będzie łatwo?

Zakładam, że na etapie przygotowań podjąłeś z agencją wszystkie niezbędne kroki, żeby określić cel biznesowy Twojego nowego sklepu internetowego. Poszły za tym oczekiwane funkcjonalności, opisane wyjątki, punkty styku z innymi systemami, etc.

Gdybym miał zarekomendować tylko jedną zmianę, która będzie wartościowa dla użytkownika końcowego, będzie to właśnie odświeżenie layoutu.

Dlatego ten etap powinieneś opracować jak przy nowym sklepie, mając do dyspozycji oczywiście punkt odniesienia w postaci wyglądu starego sklepu. Tobie zostawiam decyzję, czy wykorzystasz:

  • badania z użytkownikami,
  • makiety funkcjonalne nowej witryny,
  • indywidualny projekt graficzny,

czy jeden z gotowych szablonów z modyfikacjami. Warto jednak, żebyś zapamiętał — skoro robimy coś od nowa, aż szkoda nie spróbować zrobić tego lepiej.

Moduły Magento 2 nie są kompatybilne z Magento 1

Już wiesz, czemu mówiłem o „nowym sklepie”, „projekcie”, itd.?

Niestety, podobnie jak z szablonem, z modułami nie będzie łatwo. Wynika to z całkowitej zmiany silnika, przez co stary kod po prostu się nie przeniesie. Mam jednak dobrą nowinę — jeśli korzystasz z modułów popularnych firm (Amasty, Mirasvit, etc.), jest bardzo duża szansa, że producent udostępnił podobny moduł w nowej wersji. Jeśli masz szczęście, być może okaże się, że dostępny jest także migrator danych, który ułatwi następny krok.

Czy to najlepsza strategia?

Zaproponuję inną. Znów w myśl strategii sprzątania, warto nie patrzeć na moduły, tylko na funkcjonalności, które realizują.

Być może jedną z optymalizacji będzie opracowanie nowej listy modułów, która będzie krótsza i w konsekwencji łatwiejsza (a tym samym tańsza) do wdrożenia. Mając spisane wymagania biznesowe, powierz ten krok agencji, która wdraża sklep. Oni zaproponują lepsze rozwiązanie niż zmiana starego modułu na nowy.

To samo dotyczy indywidualnych funkcji, które były pisane tylko dla Ciebie (co rozwiązuje dwa punkty w jednej sekcji).

Dane… dużo danych da się zsynchronizować

Na koniec trochę pozytywnych informacji: dane da się w większości przenieść.

Wynika to z następujących faktów:

  • baza danych Magento 2 jest bardzo zbliżona do starszej wersji,
  • Magento opublikowało własny migrator, który trochę ułatwia proces,
  • niektórzy producenci opublikowali migratory do własnych modułów,
  • można przepisać moduły tak, żeby działały na niezmienionej strukturze bazy danych (choć nie zawsze to jest dobry pomysł).

Nie będę zagłębiał się w szczegóły migracji, bo to praca dla agencji. To, co warto na tym etapie rozważyć (i firma powinna Ci zaproponować):

  • pozbycie się starych rekordów,
  • optymalizacja struktury bazy danych,
  • podejście do migracji od strony potrzeb (i właśnie dlatego ten punkt jest na końcu).

Zwyczajowo migracja danych jest wykonywana przynajmniej dwa razy:

  • raz na potrzeby „próby mikrofonu”, czyli przed ostateczną weryfikacją działania nowego sklepu,
  • drugi raz w momencie wdrożenia, żeby uzupełnić braki, które wynikają z tego, że Twój sklep ciągle działa i zbiera zamówienia.

Widać, że warto zainwestować w maksymalnie automatyczne skrypty, bo po pierwsze oszczędzają czas, a po drugie — można je wykonywać wielokrotnie, więc będziesz pewny, że nic nie wyjdzie w ostatniej chwili.

Co dalej?

Zauważ, że w procesie pominąłem wiele kroków, które są typowe dla wdrożenia standardowego sklepu internetowego. Cały proces integracji, uzupełniania danych na sklepie, podłączania płatności, Analytics, i tak dalej.

Nieprzypadkowo — chciałem wyłuszczyć tylko rzeczy ściśle związane z migracją. Oczywiście to nie znaczy że pozostałe nie występują (tym bardziej, że umówiliśmy się na używanie zwrotu „nowy projekt”).

Jest jednak jeszcze jedna rzecz, o której koniecznie musisz wiedzieć.

Testy.

W przypadku nowego sklepu testujemy spełnienie założeń biznesowych. W przypadku zmiany dochodzą:

  • testy integralności danych,
  • testy przypadków szczególnych,
  • weryfikacja działania w warunkach brzegowych ze starym sklepem,
  • weryfikacja przekierowań adresów URL,
  • dostęp do konta starych klientów.

Chcemy uniknąć regresu. Wnikliwe testy na pewno pomogą.

Zostaje nam właściwie ostatnia kwestia związana z migracją — uruchomienie produkcyjne. I pytanie „kiedy”? Tutaj z pomocą przyjdą raporty z Analytics, na podstawie których określisz, który okres jest luźniejszy w sklepie. Weź pod uwagę dwie rzeczy:

  • konkretną porę wdrożenia +2-3h zapasu (prawdopodobnie będzie to środek nocy),
  • będziesz potrzebował jeszcze dodatkowych parę dni, żeby mieć 100% pewności, że wszystko działa. Czyli wdrożenie w środku piku na pewno nie jest dobrym pomysłem.

Niezależnie od pory i momentu, warto powiadomić klientów odpowiednio wcześniej, że będą trwały prace konserwacyjne. Dodatkowo na czas prac powinna widnieć zaślepka, która o nich informuje.

Na koniec

Sam widzisz, że migracja do Magento 2, to tak naprawdę bardziej „wdrożenie starego sklepu Magento w Magento 2”. I tak rzeczywiście jest.

Dlatego nie rekomenduję takiej zmiany tylko z powodu obwieszczenia końca supportu. Zwyczajnie może Ci się to nie opłacić. Jeśli jednak wiesz, że zmiana wyjdzie Twojemu sklepu na dobre, życzę Ci cierpliwości i dobrego partnera technologicznego — a po wdrożeniu dużego skoku wyników sprzedażowych. No bo przecież po to robimy to wszystko, prawda?