006 – Migracja z Magento 1 do 2 – co powinieneś wiedzieć?

Szósty odcinek „Sztuki e-Commerce” to kompendium wiedzy o migracji z Magento 1 do Magento 2. Omawiam w nim takie kwestie jak:

  • co oznacza koniec wsparcia,
  • dlaczego warto zmienić Magento 1 na 2,
  • jak wygląda proces migracji,
  • jak najlepiej podejść do procesu, żeby pozbyć się starych błędów.
Listen to „006 – Migracja z Magento 1 do 2 – co powinieneś wiedzieć?” on Spreaker.

Dodatkowe materiały

Jeśli zainteresował Cię temat migracji do Magento 2, mogą zainteresować Cię także:

  1. Porównanie użycia Magento 1 vs. Magento 2 od SimilarTech
    https://www.similartech.com/compare/magento-1-vs-magento-2
  2. Porównanie użycia Magento 1 vs. Magento 2 od BuildWith
    https://trends.builtwith.com/shop/Magento oraz https://trends.builtwith.com/shop/Magento-2
  3. Artykuł X-Coding IT Studio o migracji do Magento 2
    https://x-coding.pl/blog/ecommerce/migracja-z-magento-1-do-magento-2-wszystko-co-powinienes-wiedziec/
  4. Porównanie Magento 1 i 2
    https://x-coding.pl/blog/developers/magento-1-x-i-2-x-jakie-sa-roznice/
  5. Magento Data Migration Tool
    https://devdocs.magento.com/guides/v2.3/migration/migration-tool.html
  6. Odcinek „005 – jak napisać dobry brief?„, w którym podpowiadam, jak napisać brief sklepu
    https://marekkich.pl/sztuka-ecommerce/005-jak-napisac-dobry-brief/,
  7. Odcinek „004 – jaki sklep internetowy wybrać?„, w którym podpowiadam, jak wybrać silnik sklepu internetowego
    https://marekkich.pl/sztuka-ecommerce/004-jaki-sklep-internetowy-wybrac/

Transkrypcja odcinka

Jednym z częstszych motywów w filmach jest zostawianie przez bohatera listu, który zaczyna się słowami „jeśli to czytasz, to prawdopodobnie”… – no na przykład „już nie żyję” i jest wtedy pełna dramaturgia i wszyscy są przerażeni. I ja tak sobie myślę, że gdybym miał grać w filmie, to na bank chciałbym komuś zostawić taki list.

Niestety moja uroda pozwala mi maksymalnie na gadanie do mikrofonu i to zdecydowanie bez kamer, ale też pozwolę sobie na wstęp z rozmachem w iście hollywoodzkim stylu, mówiąc, że jeśli chcesz zmigrować z Magento 1 do Magento 2 przed zakończeniem wsparcia i jeszcze słuchasz tego odcinka, to w tym momencie jest już prawdopodobnie za późno.

Już w czerwcu 2020 (według oficjalnych doniesień) Adobe przestanie ostatecznie wspierać Magento 1 i dwójka, która jest z nami w lepszej lub w gorszej formie od ładnych paru lat stanie się wówczas jedyną wspieraną i rozwijaną dalej wersją.

No i o ile w pierwszych latach nie byłem wielkim orędownikiem tej nowej odsłony Magento, to dzisiaj można ją ocenić jako taką bardzo dojrzałą platformę do sprzedaży elektronicznej. Zauważyłem, że o ile na początku informacja o końcu wsparcia nikogo specjalnie nie bolała, to im bliżej terminu, tym więcej firm zaczyna jednak już odczuwać pewną presję i ryzyko związane z tym, że ktoś niedługo zgasi światło i już wtedy nic nie zostanie.

My w X-Coding IT Studio widzimy to przede wszystkim we wzroście zapytań dotyczących migracji z jedynki do dwójki a przy okazji takich sformułowaniach nadających tempo sprawie, typu „czy jeśli podpiszemy umowę jutro, to będziecie w stanie zacząć współpracę już pojutrze?”. No i może warto od razu rozprawić się z takim pytaniem w szerszym gronie – dla tych, którzy dopiero zaczynają, termin czerwcowy jest już praktycznie nierealny. Cień szansy mają jeszcze małe sklepy, przy których nie ma zbyt wiele pracy przy migracji, ale takich sklepów zdecydowanie jest mniej i myślę, że raczej tutaj trzeba myśleć, że po prostu będzie ciężko wyrobić się na czerwiec.

Odcinek szósty powstał właśnie po to, żebyś będąc w tej niefortunnej sytuacji mógł na spokojnie ocenić, czy na pewno trzeba się aż tak spieszyć. Jak będzie wyglądać świat po zakończeniu wsparcia? I jeśli jeszcze nie zacząłeś tych prac, to jak przygotować się do procesu migracji?

Co oznacza koniec supportu Magento?

Najpierw dwa słowa o tym, co właściwie oznacza koniec supportu.

Formalnie rzecz ujmując, jeśli po czerwcu dalej planujesz korzystać z Magento 1, to nie powinieneś już raczej liczyć ani na rozwój tego silnika, ani na nowe aktualizacje dotyczące przede wszystkim bezpieczeństwa. Czyli tak teoretycznie użytkownicy starego Magento zostaną pozostawieni sami sobie, przynajmniej bez wsparcia producenta, co szczególnie będzie ryzykowne w sytuacji, gdy okaże się, że ktoś znajdzie jakąś lukę w zabezpieczeniach, no i świat postanowi tę lukę wykorzystać w sposób niecny.

To są takie dwie bezpośrednie konsekwencje.

No i warto sobie zadać pytanie, jak wiele sklepów powinno się zacząć  martwić? Postanowiłem to sprawdzić na dwóch stronach. Pierwsza to BuildWith, druga to SimilarTech i o ile te strony się nie mylą (chociaż ktoś musi się mylić, bo te dane są troszeczkę różne), to mówimy tutaj o jakichś 150 000 sklepach na świecie i kilku tysiącach w samej Polsce.

Rodzi to pewne pytanie – czy z samych tych dwóch powodów te wszystkie tysiące sklepów powinny zacząć proces grupowego panikowania, a przy okazji proces migracji do nowej wersji?

Według mnie nie jest to taka zero-jedynkowa sytuacja, no ale po kolei.

Kwestia rozwoju jedynki raczej nie powinna budzić wątpliwości, no bo przecież wersja 1.9 była wydana już w maju 2014 roku i od tego czasu kolejnych kilkanaście aktualizacji aż do obecnej 1.9.4.4 tak naprawdę obejmowały tylko drobne patche, głównie tak naprawdę były to związane rzeczy z małymi rzeczami, albo z bezpieczeństwem sytuacji. No i nie wydaje mi się, żeby ktoś ze słuchaczy liczył na zmianę tego stanu rzeczy i wyczekiwał jakichś grubych zmian w samym systemie. No bo tak naprawdę dwójka jest już od 5 lat i mniej więcej od tego samego czasu jedynka praktycznie stoi w stagnacji.

A swoją drogą poprzednie duże wersje, czyli 1.8 i 1.7 też nie były jakoś bardzo mocno rozwojowe w stosunku do zmian na przykład funkcjonalnych. O wiele bardziej poważną sprawą są kwestie bezpieczeństwa, no bo jak to tak zostawić system bez aktualizacji tych krytycznych luk, które mogą później zostać wykorzystane? I tutaj trochę ze względu na moje wykształcenie będę trochę bardziej surowy, bo uważam, że zaniedbanie sklepu w kwestiach bezpieczeństwa to po prostu poważny problem. Szczególnie dlatego, że potencjalne szkody mogą być duże, bo na przykład mogą dotyczyć przechwycenia płatności, kradzieży danych użytkowników, czy w ogóle jakichś wrażliwych informacji. No i w dobie RODO i ochrony danych osobowych to po prostu może być bardzo droga lekcja.

Co prawda w Magento przez te wszystkie lata pewnie sporo luk zostało wykrytych i naprawionych, no bo od ostatnich 6 lat wyszło prawie 20 aktualizacji bezpieczeństwa, z czego w samym 2018 roku 4 i w 2019 3, no ale kto wie, co jeszcze zostało przeoczone przez Twórców. Dlatego ten stres przed zagrożeniem uosobicie uważam za całkiem słuszny i uważam, że nie ma sensu tej sprawy jakoś mocno bagatelizować.

No ale tutaj jest takie jedno małe „ale”, bardziej moja mała refleksja, bo smutna prawda jest taka, że większość tych firm, z którymi się spotykam, ma swoje Magento dziurawe jak durszlak. Rzadko mi się zdarza trafić na taką naprawdę aktualną wersję z wgranymi poprawkami, z bezpiecznym serwerem i taką wersję Magento, o której powiem „ok, jesteście bezpieczni” (przynajmniej potencjalnie). Raczej wygląda to tak, że firmy albo zapominają o tej konieczności, albo tego po prostu nie robią, bo na przykład jest to zbyt skomplikowane, bo samo Magento było zbyt mocno zmienione. Bo rzeczywiście tak się dzieje, że jeżeli pojawiają się jakieś dodatkowe zmiany, no to te aktualizacje nie są wcale takie oczywiste, bo poza oficjalnymi zmianami być może trzeba jeszcze coś zrobić w innym miejscu, powoduje to problemy ze zgodnością i to często stanowi problem, no, potencjalnie nie do przeskoczenia, więc firmy się na to nie decydują.

Dla tych firm tak naprawdę zakończenie wsparcia niewiele zmieni, bo być może ich system nie jest bezpieczny już od na przykład 2016 roku. No i sama zmiana na Magento 2 tego bezpieczeństwa nie poprawi, jeżeli zostaną zachowane stare nawyki, no bo skończy się dokładnie tak samo, że po pierwszej aktualizacji bezpieczeństwa ten system przestanie być bezpieczny, no a z drugiej strony mówimy o czymś o wiele świeższym, więc szansa, że takie luki się pojawią, jest o wiele większa, niż w przypadku jedynki, która miała kilka lat na to, żeby ktoś ją porządnie przetestował.

No ale co jeśli jesteś jednak tym świadomym użytkownikiem, dbasz o swoje Magento a i tak wiesz, że nie zdążysz?

No to nie zdążysz.

Ale na osłodę powiem może taką rzecz, która niech będzie ostatnią deską ratunku i jest to pewien optymizm z mojej strony. Osobiście podejrzewam, że w razie krytycznych problemów w zabezpieczeniach to społeczeństwo, które zbudowało się wokół Magento, jakoś zareaguje. Więc po pierwsze nie spodziewałbym się wielkich luk w bezpieczeństwie, biorąc pod uwagę, ile tego już było zabezpieczone, a z drugiej strony, jeżeli nawet się coś pojawi, to mam taką cichą nadzieję, że ktoś zareaguje, no i przez jakiś czas będziemy sobie w taki sposób radzić, jeżeli ktoś po prostu nie zdążył.

Czyli tak spinając klamrą te konsekwencje: czy nieaktualna i niewspierana wersja to problem? Tak, jest to zdecydowanie problem na dłuższą metę i o ile na początku być może da się to jeszcze jakoś zalepić, na przykład wsparciem społeczności, no to z czasem będziesz musiał się z takim problemem zmierzyć.

Dlaczego miałbyś zmieniać Magento 1 na Magento 2?

Skoro tak sobie pohejtowałem w pierwszej części, to czy w takim razie w ogóle jestem zwolennikiem rezygnowania z Magento 1 i przechodzenia na dwójkę?

Pragnę powiedzieć wszem i wobec – oczywiście, że jestem i pewnie inaczej nie nagrywałbym tego odcinka, bo o ile nie rekomenduję takiej zbiorowej paniki, bo w pośpiechu rzeczy lubią nie wychodzić, a przy okazji ten pośpiech nie przekłada się za bardzo na tempo prac (no bo analiza swoje trwa, podpisanie umowy też, przydzielenie zespołu też, te rzeczy wymagają czasu), to zdecydowanie poza paniką warto na spokojnie zdecydować się na zmianę silnika. Ale podam Ci cztery dodatkowe powody, które poza tymi dwoma powyżej będą wspierały moją rekomendację.

Po pierwsze – Magento 1 jako technologia powolutku będzie się kurczyć. Skoro oficjalne wsparcie się kończy, no to nie powinniśmy się spodziewać nowych wdrożeń, chyba że ktoś wpadnie na taki hipsterski pomysl, no ale raczej nie powinniśmy się tego spodziewać. To powoduje, że ta popularność będzie spadała, a razem ze spadkiem popularności odchodzić będą powoli specjaliści, których też będzie realnie coraz mniej. I jest to dość naturalne zjawisko, no bo w końcu który programista czy technolog, czy specjalista chciałby się specjalizować w czymś, co powoli wymiera? To z kolei przełoży się na problem ze znalezieniem firmy, która podejmie się rozwoju i utrzymania starszych sklepów, a konieczność wzięcia odpowiedzialności za system bez wsparcia od tej strony bezpieczeństwa no na pewno nie jest też atrakcyjny dla biznesu, żeby się pod takim utrzymaniem czy wdrożeniem podpisać. Podobnie sprawa będzie wyglądała w przypadku zatrudnienia programistów do własnego zespołu. W przypadku Magento 2 oczywiście też nie można dzisiaj powiedzieć, że mamy miliony tych specjalistów na rynku, no ale ta liczba stale rośnie i ryzyko, że zostaniesz sam ze swoim sklepem, dzisiaj jest niewielkie.

Drugi powód niejako wiąże się z pierwszym, ale dotyczy globalnych konsekwencji związanych z technologią. Mówiąc prościej – to community, czyli ta społeczność związana z Magento 1 też za chwilę zaliczy przesiadkę na dwójkę, bo, tak jak mówiłem, pewnie przez jakiś czas społeczność zadba na przykład o bezpieczeństwo danych czy w ogóle systemu i będzie trwała wymiana wiedzy taka raczej aktywna w obszarze Magento 1, tak trzeba dodać, że to zjawisko powoli zacznie sobie zanikać. Dotyczy to też na przykład dostawców modułów i już teraz tak naprawdę widać, że firmy niechętnie wspierają moduły dla jedynki, tym bardziej że są już odpowiedniki dla nowego Magento, no i większość jednak zakupów modułów dotyczy właśnie Magento 2. Więc po prostu utrzymanie tych starszych się nie opłaca, a rozwój tym bardziej.

Kolejny powód to świetna szansa na pozbycie się długu technologicznego. Myślę, że nie pomylę się zbyt wiele, jeśli powiedziałbym, że Twoje Magento ma już minimum trzy lata. Czyli ostatnie wdrożenie jedynki szacuję, że powstawały mniej więcej w 2017 roku, gdzieś tam w okolicach. No i jeżeli przez ten cały czas się rozwijałeś, w mniejszym lub większym stopniu musisz się zmierzyć z powstałym długiem technologicznym, bo to jest naturalne, że takie coś się pojawia w systemie, który się rozwija. To z kolei przekłada się na oczywiście coraz większy koszt rozwoju. Więc wystartowanie od nowa przy wyborze odpowiedniej firmy da Ci szansę na wyzerowanie takiego długu, pozbycie się błędów przeszłości (na przykład takich błędów w założeniach, czy wdrażania funkcji, które po prostu się nie sprawdziły, czy instalacji modułów, które Ci okazały się niepotrzebne) i wystartowania na czysto, na takim o wiele wyższym pułapie, który będzie wynikał między innymi właśnie z tych doświadczeń.

No i ostatni punkt numer 4, trochę będzie nieobiektywny, ale i tak uważam, że warto o tym wspomnieć. Pomijając dług technologiczny i to, że rozwój jedynki może w dłuższej perspektywie być nieopłacalny, niebezpieczny, no a w skrajnym wypadku niemożliwy, na Magento 2 warto się przesiąść dlatego, że jest po prostu lepsze od swojego poprzednika. To sklep, który zachowuje wszystkie cechy z jedynki, a przede wszystkim te najważniejszą, czyli jest skalowalny i właściwie nieograniczony, jeżeli chodzi o dalszy rozwój pod Twoje potrzeby biznesowe. Poza tym, co zostało, doszły też nowe rzeczy do dwójki, czyli przede wszystkim nowy panel administracyjny, lepszy checkout, lepsze przystosowanie do B2B, lepsze przystosowanie do wdrożeń omnichannel, czyli takich dwóch haseł, które dzisiaj są po prostu modne. Magento 2 ma lepszą wersję mobilną i jest też gotowe do wdrożeń PWA i cały czas w kierunku PWA się rozwija. No i skoro mówimy o rozwoju, to w ogóle Magento 2 ma o wiele większą dynamikę rozwoju, co jak sądzę, ma po prostu związek z przejęciem Magento przez Adobe.

Czyli mówimy tutaj o rozwiązaniu bardziej dojrzałym, lepiej dostosowanym do potrzeb dzisiejszego użytkownika, a przy okazji dalej tak samo elastycznym w rozwoju. I to dopiero jest według mnie realny powód do zmiany.

Zanim podejmiesz decyzję o migracji

Mimo że to wszystko brzmi sensownie i mam nadzieję, że nawet udało mi się Ciebie przekonać do podjęcia dalszych kroków, to muszę zmierzyć się tutaj z dwoma pytaniami, które najczęściej padają w moich rozmowach na ten dokładnie temat.

Pierwsze brzmi „Wydałem na sklep x złotych, od kilku lat po prostu sprzedaję i raczej nic mi więcej nie potrzeba, poza kilkoma godzinami wsparcia miesięcznie. Czy muszę znowu wydawać kupę kasy na nowy sklep?„. To jest jedno z częstszych pytań, które jest całkiem uzasadnione, bo po co wydawać tyle pieniędzy na coś, co po prostu działa i nie mamy wobec tego jakichś większych oczekiwań? Osobiście uważam, że takie pytanie mogłoby zadać naprawdę wielu właścicieli sklepów, no bo w końcu nie każdy wykłada też kilkadziesiąt tysięcy miesięcznie na rozwój. Niektórzy godzą się na to, co mają.

W poprzednim odcinku odnosiłem się do motoryzacji, więc teraz to jest świetny moment, żeby znowu podnieść temat motoryzacyjny, mimo że się na tym kompletnie nie znam. Ale myślę, ze porównanie jest dość obrazowe, bo to trochę tak, jakbyś się dowiedział u mechanika, że dobrze byłoby sprzedać ten samochód i kupić nowy, bo za chwilę wysiądzie Ci skrzynia biegów, albo w trakcie jazdy wypadną koła i po pierwsze, jazda jest trochę ryzykowna (no bo mogą odpaść koła), a po drugie jak już coś się stanie, to będzie Cię to kosztowało po prostu sporo pieniędzy.

No i jedni pobiegną do salonu po nowy samochód, drudzy będą zaleczać te problemy i liczyć, że nic poważnego się nie stanie, a jeszcze inni zbagatelizują temat i będą jeździć. Swoją drogą ja tak kiedyś zbagatelizowałem temat, o czym dowiedziałem się u mechanika. Nie byłem zbyt szczęśliwym człowiekiem wtedy, ale mam nauczkę na całe życie.

W przypadku Magento jest podobnie. Używać można i być może nic się nie stanie, ale pamiętaj, że dalsze korzystanie z tego systemu po tym, jak zakończy się wsparcie, to już raczej na własne ryzyko.

Drugie pytanie często dotyczy migracji, czyli „Czy z Magento 1 najlepiej przejść na Magento 2?„. I to jest znowu świetne pytanie. Niestety, na które odpowiedź brzmi „to zależy„, no bo na przykład, jeżeli w pierwszej kolejności niekoniecznie dobrym pomysłem było w ogóle użycie Magento w Twoim przypadku, to tak samo niekoniecznie dobrym pomysłem będzie zmiana na dwójkę. Tak naprawdę za chwilę dowiesz się, że w ogóle migracja to jest takie określenie, które warto ubrać w cudzysłów w przypadku akurat Magento i brzmi trochę bardziej naturalnie, niż jest w rzeczywistości. Ta migracja to jest troszeczkę bardziej skomplikowany temat.

Dlatego zdecydowanie nie trzeba się koniecznie nastawiać na taką konkretną zmianę. To nie jest tak, że mając jedynkę, trzeba iść do dwójki. Można równie dobrze zacząć od researchu i wybrać ostatecznie zupełnie inny sklep. Jeśli chciałbyś zacząć od researchu i pomyśleć o innych możliwościach, polecam pójść do odcinka numer 4. Tam opisywałem mniej więcej, z jakich platform możemy skorzystać i jak powinien ten proces wyboru wyglądać.

Jak wygląda proces migracji?

No dobra, myślę, że na podstawie tego, co mówię, przeszedłeś już jakiś proces decyzyjny. Jeżeli zakończyłeś go na „tak” mam dobre wiadomości – reszta odcinka, to już tylko proces migracji i wskazówek dotyczących samego procesu.

I może od razu, żeby rozwiać wątpliwości – w branży przyjęło się określenie migracja i ja też go używam, żeby łatwiej było Ci się odnaleźć w tym, czego dotyczy ten odcinek, natomiast osobiście uważam, że to wcale nie jest najlepsze słowo i w ogóle określenie migracja nie oddaje stopnia skomplikowania tego procesu. No bo migracja brzmi jak coś takiego naturalnego. Takie przełożenie rzeczy z plecaka do torby. Natomiast w przypadku Magento będzie taki proces prosty w zasadzie tylko wtedy, jeżeli Twoja instalacja opierała się o szablon i o moduły. No a przy okazji ten sam szablon i te same moduły będą w nowej wersji.

No ale taki scenariusz nie jest zbyt częsty, a przy okazji i tak nie daje stuprocentowej gwarancji, że będzie to proces bezbolesny. Dlatego o migracji należy myśleć bardziej jako nowym projekcie, a co robi się w przypadku nowego projektu?

No to, co ikomersiaki lubią najbardziej, czyli pisze się brief.

I zainteresowanych pisaniem briefu sklepu internetowego odsyłam do poprzedniego odcinka, czyli piątego, bo tam dość wyczerpująco omówiłem, czym różni się idea od potrzeb, czym różnią się potrzeby od roadmapy, na co zwrócić uwagę, kiedy wchodzą grafiki, kiedy wchodzi technologia i tak dalej, czyli całe takie, mam nadzieję, kompendium, które pomoże Ci napisać brief, tam po prostu znajdziesz.

No i gdyby faktycznie okazało się w międzyczasie, że może jednak nie Magento, to tam też jest opisane to, w którym momencie warto w ogóle patrzeć na to, jaka to powinna być technologia.

Na szczęście można ten proces trochę uprościć w sytuacji, kiedy rzeczywiście decydujesz się na Magento 2. Powiem Ci, jak ja to robię. W momencie, kiedy przychodzi do mnie firma z potrzebą zmiany z jedynki na dwójkę, proszę o następujące materiały:

  • dostęp do panelu administracyjnego,
  • dokumentację wdrożeniową jedynki (jeżeli oczywiście była),
  • dokumentację integracji,
  • backlog projektu,
  • czasami dostęp do kodu i jeżeli dostęp do kodu, to z całym repozytorium.

Po co mi to? Ponieważ wtedy mogę sprawdzić, jakie były instalowane moduły, za co te moduły odpowiadają, jak był zmieniony kod, co siedzi w środku, jakiej to jest jakości, co ten sklep robił, czyli tak naprawdę patrząc na to, jak wygląda ten sklep i rozmawiając z Tobą na pogłębianiu potrzeb, ja jestem w stanie stwierdzić, co tak naprawdę jest potrzebne, jeżeli robilibyśmy to samo.

Więc z doświadczenia wiem, że wychodzi z tego całkiem dobry brief, a wiadomo, że z całkiem dobrego briefu jest już całkiem niezła wycena. Pamiętaj, że to działa dalej tak, jak zawsze mówię, czyli wycena będzie tak dobra, jak ten brief, czyli jeżeli marzy Ci się zupełnie inny sklep, no to takie podejście nie jest dla Ciebie. Ale jeżeli mówimy o takim odpowiedzeniu sobie na pytanie „to samo, ale na Magento 2”, to to jest świetny sposób na przybliżenie tego, jakie koszty będziesz musiał ponieść, żeby taką operację wykonać.

Poza zbieraniem potrzeb i oceną kosztów warto, żebyś pamiętał o dwóch dodatkowych elementach.

Pierwszy to jest etap migracji, bo na etapie przed-wdrożeniowym trzeba określić jakie dane i w jakim zakresie powinny zostać przeniesione do nowego sklepu. Różnie z tym zakresem bywa, czasami na przykład nie ma potrzeby przeniesienia starych zamówień, bo są w ERP i nie chcemy na przykład, nie wiem, zaczynać od zaśmieconego systemu. No ale z kolei na przykład dane produktowe mogą być już w PIM albo w ERP, więc też one się zsynchronizują w momencie, kiedy odpalimy integracje.

Druga kwestia to SEO i to jest o wiele ważniejsza sprawa. Warto tutaj wpuścić wykonawcę do głębszych rozmów z Twoją agencją bądź z osobą, która zajmuje się SEO, omówić strategię zmiany systemu, na co zwrócić uwagę, jak wykonać przekierowanie, jak powinna wyglądać struktura adresacji, które treści są strategiczne. No bo zmiana pod kątem SEO jest takim jednym z ważniejszych elementów, bo błędy, nie wiem, wizualne czy funkcjonalne raczej jeszcze można wybaczyć. Nie powinno ich być, ale nie są aż tak tragiczne. Natomiast jeśli spadniesz w wynikach wyszukiwania, uważam, że jest to niewybaczalne z punktu widzenia biznesu, bo to bardzo mocno przekłada się na zyski, a właściwie na mniejsze zyski czy często nawet na ich brak.

To nam zamyka kwestie przed-wdrożeniowe, czas na graficzne.

Tu pojawi się pierwszy schodek, a mianowicie szablony graficzne z Magento 1 w ogóle nie są kompatybilne z Magento 2. Spoiler: tych schodków będzie dzisiaj więcej, to jest dopiero pierwszy. Czyli migracja w tym przypadku grafik polega na tym, że tak naprawdę musimy przygotować wygląd sklepu od nowa. Chyba że był oparty o szablon, to wtedy po prostu musimy kupić (jeżeli jest) ten sam szablon, tylko że dla nowej wersji.

Gdybym miał zarekomendować jedną zmianę, którą warto wykonać przy zmianie sklepu internetowego, byłoby to właśnie związane z redesignem.

No bo jaka to sztuka wydać dziesiątki lub setki tysięcy złotych na coś, co dla użytkownika końcowego będzie dokładnie takie samo jak było? Tym bardziej że, skoro już ustaliliśmy, że Twój sklep ma już pewnie minimum około trzech lat, no to raczej już czas na odświeżenie graficzne. Zakres tych zmian pozostawiam Tobie, można kupić taki sam szablon i go trochę doszlifować, można zlecić odświeżenie agencji, no a możesz pójść w totalną rewolucję i zrobić coś zupełnie nowego. Nie ma tutaj jednej właściwej drogi, ale na pewno jakiś ruch w kierunku redesignu warto wykonać, bo i tak te pieniądze będą do wydania.

Oczywiście najtaniej wyjdzie nam wdrożenie w wariancie, w którym po prostu miałeś szablon i kupujesz taki sam dla Magento 2, więc jeżeli szukasz oszczędności, to myślę, że to jest jeden z takich lepszych sposobów.

Poza grafikami migracja obejmuje to, w jaki sposób sklep działał i tutaj będzie drugi schodek, bo moduły też nie są kompatybilne. Wyjdzie za chwilę na to, że nic nie jest kompatybilne, ale do tego jeszcze dojdziemy.

To, że moduły nie są kompatybilne, wynika z faktu, że silnik Magento został napisany całkowicie od nowa no i praktycznie cały kod źródłowy (w tym szablonu graficznego, co wiąże się z powyższym punktem) jest po prostu do przepisania. I tutaj proces będzie tak naprawdę całkiem podobny do szablonu. W sytuacji, w której miałeś moduł w Magento 1, jest duża nadzieja, że podobny moduł, lub często ten sam znalazł się w Magento 2. Wtedy wystarczy go kupić, zintegrować znowu z systemem w taki sposób, który odpowiada Twoim potrzebom no i on wtedy działa.

Często moduły tej samej firmy mają nawet swoje migratory z jedynki do dwójki, na przykład na potrzeby przeniesienia danych, które były związane z tym modułem. Jeżeli chodzi o dedykowane funkcje, czyli to wszystko, co zlecałeś agencji i do czego nie było modułów, trzeba to po prostu przepisać na nowo. Wówczas ten stary kod może stanowić pewne źródło inspiracji, czyli możemy go traktować jako takie dobre praktyki, no ale wymaga to po pierwsze dość dobrej dokumentacji no i dość dobrze napisanego kodu, bo jeżeli to jest spaghetti, to tak naprawdę niewiele z tym można zrobić. Lepiej opisać te potrzeby od nowa i po prostu napisać je w sposób zgodny ze sztuką, nie patrząc się na to, co było.

Mając już sklep, który wygląda tak, jak sobie wymarzyłeś (no albo tak jak wyglądał wcześniej) i działa zgodnie z dokumentacją (albo znowu z poprzednią wersją sklepu) zostaje nam jeszcze migracja danych. No i teraz pomyśl – skoro szablon był niekompatybilne i moduły są niekompatybilne, to jak sądzisz – czy będzie się dało przenieść dane?

Będzie się dało przenieść dane. Na szczęście te dane będą w większości kompatybilne, a co więcej, Magento opublikowało nawet swój tzw. Data Migration Tool, czyli takie narzędzie, które znacznie ułatwia i automatyzuje ten proces. No i dodatkowo, jak już wspomniałem wcześniej, producenci też często mają jakieś swoje migratory, więc to przeniesienie danych to już nie jest aż taki duży ból, jak w punktach 1 powyżej i 2 powyżej, czyli moduły i szablon.

Co tutaj może pójść nie tak (bo zawsze coś może)?

Przede wszystkim zmiany w bazie danych, które wyniknęły z modułów, albo modyfikacji funkcji sklepowych, czyli na przykład, jeżeli dodawałeś nowe tabele, nowe pola w koszyku albo indeksery, to trzeba te dane zidentyfikować i zmigrować je najczęściej osobno, a przy okazji jeszcze obsłużyć po stronie modułu na etapie pisania poszczególnych funkcji.

Natomiast sama migracja jest takim naprawdę istotnym momentem, w którym możesz po pierwsze zoptymalizować strukturę sklepu, a po drugie pozbyć się niepotrzebnych rekordów i tę bazę odciążyć i trochę poprawić sposób, w jaki działa Twój sklep. Dlatego do migracji ja bym nie podchodził tak machinalnie, na zasadzie „przenosimy wszystko tak, jak jest” tylko raczej rekomenduję tutaj znowu wyjście z potrzeb, ustalenie, po co te zmiany się pojawiły i po co te dane tam są, no i wtedy decydował, czy te dane w tej dokładnie formie muszą się pojawić w nowym sklepie, czy może jeszcze powinny być przeniesione, ale w innej formie, czy w ogóle raczej zostawiamy je w starym, bo nam po prostu nie są potrzebne.

Z doświadczenia wiem, że osoby, które znają Magento 1, raczej nie będą miały problemów z czytaniem na przykład bazy danych Magento 2, bo one są bardzo podobne do siebie, więc łatwo się w nich odnaleźć.

To prowadzi nas do ostatniego etapu migracji, czyli oczywiście stabilizacji i wdrożenia produkcyjnego. Tutaj też jest parę elementów, na które warto zwrócić uwagę w kontekście właśnie tej zmiany.

Przede wszystkim testy zgodności. Mając do dyspozycji dokumentację poprzedniego sklepu (o ile jest), czy po prostu na etapie pogłębienia potrzeb, wyjdą na pewno takie rzeczy, jak warunki brzegowe, czyli na przykład taki skrajny przykład naliczania ceny, który zależy od jednego klienta i tylko od jednego dnia. Warto przejść przez takie scenariusze, które nam wyjdą w trakcie i sprawdzić, czy rzeczywiście ten sklep w tych danych trudnych momentach, które jeszcze przy okazji rzadko występują, zachowuje się tak, jak my oczekujemy, żeby się zachowywał.

Poza tym warto też przetestować integralność danych, po prostu poszczególne zadania, przekierowania adresów no i na koniec dostępy do kont użytkowników. Raczej nie chcę nad tym mocno rozwodzić, bo nie jest to główny temat tego odcinka, poza tym każde wdrożenie ma ten etap stabilizacyjny i tutaj migracja wnosi tylko to, że pewne rzeczy trzeba sprawdzić w takim kontekście poprzedniego sklepu.

Rada na koniec

Na koniec zostawię Cię z radą, jak ja rekomenduję w ogóle podchodzić do kwestii migracyjnych i najczęściej tak samo mówię moim klientom, bo często jest taki problem, że przychodzi firma, mówi, że chce Magento 2, ma Magento 1 i mówi, że przecież wiadomo, jak to działa, więc łatwiej to będzie wdrożyć.

No niestety nie jest to aż tak prosta sprawa. Co więcej, żeby rzeczywiście sprawdzić, czy rzeczywiście ten kod się nadaje, to to jest troszeczkę bardziej skomplikowany proces i wymaga dodatkowych po prostu analiz, więc nie jest to najlepsza droga.

I moja rada jest następująca: według mnie do Magento 2 należy podchodzić zawsze tak, jak by się projektowało sklep po prostu od nowa. Czyli przeprowadzić taką standardową analizę potrzeb, spisać idee, później pogłębić te potrzeby, wykonać analizę przed-wdrożeniową, gdzieś tam w międzyczasie wyceny, fajnie od razu zrobić redesign i tak dalej. Czyli zaczynamy tak, jakbyśmy kompletnie nie myśleli o Magento 1.

Co nam w takim razie daje Magento 1? No po pierwsze dane, które trzeba przenieść, a po drugie (i to było już wcześniej tutaj powiedziane), Magento może być takim źródłem inspiracji. Czyli możemy potraktować stary sklep w takim zakresie dobrych praktyk, czyli mają jakiś moduł do napisania, możemy spojrzeć na poprzednią wersję i pewne rzeczy sobie po prostu zabrać (o ile są dobrze napisane) bądź podejrzeć, jak mają działać, co skróci nam czas wdrożenia.

Takie potraktowanie sklepu jako bonus, na pewno w pewnym sensie obniży nam budżet, ale gdyby się okazało, że jednak się tego nie da zrobić, to ta wycena nie brała tego pod uwagę, więc nie ryzykujesz, że ten budżet bardzo mocno się rozjedzie.

Podsumowując

Podsumowując, mówiąc o migracji z Magento 1 do 2, poza kilkoma prostymi przypadkami, raczej nie powinieneś mieć obrazu takiej bardzo prostej czynności. Ten proces wymaga specjalistycznego zespołu, wykonania sporej pracy na etapie analitycznym, no a później na etapie wdrożeniowym, stabilizacyjnym i przy okazji na etapie migracji danych.

Im bardziej będziesz myślał o nowym sklepie, a stary traktował jako takie źródło porównania czy takich dobrych praktyk, o których mówiłem, tym lepiej dla projektu. Na pewno najtaniej, jeżeli patrzysz na budżet, wyjdzie, jeśli w starym sklepie nie było dużo grzebane (mówiąc kolokwialnie) i zarówno szablon, jak i moduły mają swoje odpowiedniki w nowej wersji. Podobnie będzie z migracją danych – jeżeli da się wykorzystać ten Data Migration Tool, to rzeczywiście to wpłynie pozytywnie na budżet projektu.

Największą korzyścią, jaką widzę w migracji do dwójki, jest utrzymanie bezpieczeństwa systemu i szansa na pozbycie się wszelkich długów technologicznych, czy naleciałości, które pojawiły się przez lata rozwoju. Czy koniecznie rekomenduje przejście z jedynki na dwójkę? Niekoniecznie, uważam, że warto to poprzedzić przynajmniej dłuższą rozmową, czy weryfikacją potrzeb. Jeżeli przychodzą do nas klienci, to my zawsze sprawdzamy, czy na pewno Magento 2 to jest najlepsze rozwiązanie dla ich potrzeb, jeżeli nawet mieli Magento 1, bo to nie jest aż tak zero-jedynkowe, jak mogłoby się wydawać.

Wiem, że czeka Cię dużo pracy związanej z migracją, mam nadzieję, że ten odcinek pomoże Ci w tym procesie się odnaleźć, więc jedyne co mi zostaje, to życzyć Ci powodzenia.