Moduły Magento 2 - co warto wiedzieć? | Blog X-Coding
moduly-magento-2-co-warto-wiedziec

Moduły Magento 2 – co warto wiedzieć?

4.06.2020 / / E-Commerce

Jednym z powodów, dla których firmy chętnie kierują swój wzrok ku wdrożeniom Magento 2, jest całkiem spora baza modułów, czyli dodatków rozwijanych (czasami za darmo, częściej płatnie) przez społeczność. W końcu umówmy się – wersja pudełkowa Magento ma wiele, naprawdę wiele zalet (które zresztą były szeroko omawiane nawet na łamach tego bloga), ale te podstawowe funkcjonalności po stronie użytkownika raczej nie znajdują się na tej liście. Pokuszę się o stwierdzenie, że podstawowa wersja Magento 2 (ale też Magento 1) jest… podstawowa. Wystarczy, żeby zacząć, jednak stosunkowo szybko zaczyna czegoś brakować.

Oczywiście nic nie stoi na przeszkodzie, żeby każdą nową funkcję pisać od zera i pod potrzeby Twojego projektu. Jednak w przypadku wielu potrzeb biznesowych szybko okazuje się, że nie są na tyle innowacyjne i indywidualne, żeby inwestować często dziesiątki tysięcy złotych, co odpowiada setkom godzin prac programistycznych. Zazwyczaj będzie tak, że wpisując w wyszukiwarkę internetową „[moja super potrzeba biznesowa] magento 2 extension” znajdzie się odpowiednie rozwiązanie, które będzie:

  • tańsze,
  • o wiele bardziej rozbudowane,
  • wspierane i aktualizowane przez producenta.

Brzmi jak plan? Brzmi, ale uważaj, bo za tym stwierdzeniem kryje się jednak kilka warunków, które spowodują, że nie zawsze warto (a czasami nawet się nie da) instalować dany moduł Magento.

Co można zmodyfikować w Magento (w tym za pomocą modułów)?

Najkrócej mówiąc – w zasadzie wszystko (oczywiście z dokładnością do tego, że coś w ogóle da się zaprogramować). W przeciwieństwie do innych sklepów, w przypadku Magento nie spotkałem się jeszcze ze stwierdzeniem, że czegoś nie da się zrobić. Dlatego mam w zwyczaju mówić, że Magento zaczyna się tam, gdzie inne technologie się kończą i blokują rozwój. Wynika to z tego, że Magento jest napisane w taki sposób, że dodatkowe moduły mogą:

  • dodawać zupełnie nowe funkcje,
  • nadpisywać te istniejące, dzięki czemu sklep będzie zachowywał się tak, jak tego potrzebujesz.

Tutaj szczególnie ważne jest to, że architektura sprzyja powstawaniu takich rozszerzeń, czyli rzeczywiście jest warstwa domyślna (tzw. core Magento) i warstwa rozszerzeń. Dzięki temu można na przykład mieć dwa różne procesy zakupowe w dwóch sklepach i jednocześnie móc aktualizować wersję Magento bez większego stresu, że coś przestanie działać. Oczywiście jakieś ryzyko braku kompatybilności zawsze jest, ale w tym wypadku jest o wiele niższe, bo nigdy aktualizacja Magento nie powinna zmienić kodu zewnętrznych modułów.

Wracając do modułów dla Magento.

W chwili pisania tego artykułu na oficjalnej stronie rozszerzeń Magento (która znajduje się pod adresem https://marketplace.magento.com/) znajduje się prawie 4000 (dokładnie 3976) rozszerzeń do Magento 2 i prawie 2000 (a dokładnie 1986) rozszerzeń do Magento 1, czyli całkiem sporo. Swoją drogą, nasuwa się tu jeden wniosek – już teraz widać przesiadkę do nowej wersji Magento, docelowo ta różnica będzie się jeszcze bardziej pogłębiać, z uwagi na koniec supportu.

Biorąc pod uwagę ilość i różnorodność, w zasadzie każdy najważniejszy aspekt sprzedaży w Internecie już został uwzględniony w odpowiednich rozwiązaniach. Magento, nawet podzieliło swój marketplace na kategorie:

  • Accounting & Finance (finanse i księgowość),
  • Content & Customizations (treść i modyfikacje),
  • Customer Support (obsługa klienta),
  • Marketing,
  • Payments & Security (płatności i bezpieczeństwo),
  • Reporting & Analytics (raportowanie i analizy),
  • Sales (sprzedaż),
  • Shipping & Fulfillment (wysyłka i realizacja zamówienia),
  • Site Optimization (optymalizacja witryny),

ale kiedy przygotowywałem materiał do tego artykułu, każda próba opisania powyższych kończyła się dość niefortunnie. Dlatego opowiem Ci o możliwościach, raczej wykorzystując swój własny sposób podziału.

Zmiana funkcjonowania sklepu

Są miejsca w Magento 2, które niespecjalnie lubię. Takim najlepszym przykładem jest filtrowanie na liście produktów. Domyślnie da się wybrać tylko jedną opcję danego atrybutu, co w wielu przypadkach jest niewystarczające (bo na przykład chcesz poszukać jednocześnie spodni w kolorze niebieskim i szarym).

Na szczęście moduły umożliwiają zmianę tego typu zachowań sklepu. Zmienić w zasadzie można wszystko:

  • nawigację w sklepie – począwszy od wymiany wyszukiwarki, przez zmianę sposobu nawigowania na ajaxowy po dodatkowe możliwości filtrowania,
  • zmianę prezentacji produktu – dzięki modułom możemy między innymi lepiej zarządzać informacją produktową, atrybutami, dodawać załączniki i rozszerzyć recenzje,
  • proces zakupowy – różne są opinie o checkoucie Magento 2. Jedni mówią, że jest fajny, drudzy wręcz przeciwnie, ale jedno jest pewne – może być dowolny, łącznie ze zmianą na jednokrokowy,
  • możliwości składania zamówienia – szczególnie w zakresie swobody metod dostaw i płatności. Większość spedytorów i metod płatności na własną rękę pisze odpowiednie integracje z Magento.

Oczywiście do tego dochodzą też zupełnie nowe funkcje, takie jak na przykład dodatkowe opcje produktów, terminy dostaw, karty podarunkowe, sprzedaż licencji na produkty i tak dalej i tak dalej. Tak jak wspomniałem wcześniej – wpisz, czego potrzebujesz, dopisz do wyszukiwania Magento i jest bardzo duża szansa, że to była popularna potrzeba rynku i ktoś już napisał odpowiednią wtyczkę.

Marketing

Zawsze mówię, że na równi z rozwojem sklepu, powinna iść realizacja porządnie zaplanowanej strategii marketingowej. Co z tego, że masz najlepszy sklep na świecie, skoro nie pracujesz na wzrost ruchu, lojalizację klientów i zadowolenie z zakupów? Na szczęście Twój dział marketingu powinien być w pełni usatysfakcjonowany po przejrzeniu modułów, dzięki którym:

  • zintegrujesz się z popularnymi narzędziami do marketing automation,
  • dostaniesz zaawansowane możliwości zarządzania treścią, na przykład na potrzeby pisania bloga lub bazy wiedzy,
  • zrealizujesz dowolny pomysł na promocje, takie jak 2+1, x-ty produkt y% taniej, produkty gratisowe,
  • będziesz mógł lojalizować klientów za pomocą programów partnerskich i lojalnościowych.

Dodatkowo dzięki modułom marketingowym można rozszerzyć domyślne funkcje SEO (na przykład o obsługę tzw. Rich Snippets) i reklam on/off-site (banery, popupy, powiadomienia push). O ile w obszarze rozwoju samych funkcji sklepu wymyślić można sporo, o tyle marketing najczęściej ma dość standardowe potrzeby i większość z nich da się rozwiązać po zakupach na marketplace Magento.

B2B

Magento w wersji Open Source nie ma wbudowanych funkcji do realizowania sprzedaży B2B. Dlatego, jeśli potrzebujesz prowadzić taką sprzedaż, a z jakiegoś powodu nie chcesz opłacać wersji Commerce, w marketplace znajdziesz moduły umożliwiające:

  • budowanie struktury firmy za pomocą subkont,
  • cenników indywidualnych dla klientów,
  • uwag do zamówień,
  • załączników do zamówień,
  • wystawianie faktur pro forma,
  • wysyłania i akceptacji ofert,
  • płatność limitem kredytowym.

W przeciwieństwie do marketingu, w przypadku handlu B2B najczęściej moduły nie wystarczą. Wynika to z dość indywidualnych potrzeb samej firmy lub jej klientów. Trudno byłoby „opudełkować” jakiś zaawansowany kreator czy konfigurator produktów. Ale zawsze to jakieś wsparcie.

Wygląd sklepu

Zdecydowanie warto je wymienić i zasługują na swoją osobną kategorię.

Podobnie, jak z funkcjami, sprawa ma się z wyglądem sklepu. Nie jestem wielkim fanem standardowego wyglądu i możliwości szablonu Magento. Na dobrą sprawę trudno mi sobie wyobrazić delikatne zmiany stylistyczne i rozpoczęcie sprzedaży, raczej należy tutaj mówić o daleko idących zmianach.

Takie zmiany są najczęściej kosztowne, bo trzeba najpierw je zaprojektować widok po widoku, a następnie wdrożyć. Na szczęście z pomocą przychodzą gotowe szablony graficzne, które:

  • mają o wiele lepsze możliwości konfiguracji,
  • można również modyfikować,
  • są po prostu ładniejsze.

Dlatego, jeśli nie interesuje Cię indywidualny projekt graficzny, o wiele taniej wyniesie znalezienie szablonu, który jest odpowiednio blisko Twoich preferencji i nawet poświęcenie kilkudziesięciu – kilkuset godzin na modyfikacje pod Twoje potrzeby. Oczywiście nie każdy biznes na to pozwoli, ale czasami warto będzie przynajmniej spróbować.

Moduły Magento – kiedy warto, a kiedy się wstrzymać z zakupem

Moduły potrafią znacząco wpłynąć na koszt wdrożenia sklepu. Zazwyczaj ich integracja trwa do kilku godzin, więc mówimy najczęściej przynajmniej o jednym rzędzie wielkości, jeżeli chodzi o liczbę poświęconych godzin w stosunku do wdrażania czegoś od nowa.

Niestety praktyka pokazuje, że wykorzystanie modułów też może przysporzyć wielu dodatkowych problemów:

  1. Brak kompatybilności z szablonem – moduły najczęściej pisane są w taki sposób, że dobrze wpasowują się w standardowy szablon. Czasami w przypadku instalacji szablonu z marketplace lub niewielkich modyfikacji pudełkowego szablonu, moduły zachowają się stosunkowo nieźle. Jednak im więcej modyfikacji na frontendzie, tym więcej będzie potrzeba pracy, żeby moduł wyglądał i zachowywał się zgodnie z zaprojektowaną wizualizacją.
  2. Brak kompatybilności pomiędzy modułami – jeśli wymyślimy sobie wdrożenie Magento z kilkudziesięcioma modułami, to jest wcale niemała szansa, że te moduły nie zagrają między sobą. Szczególnie to wyjdzie, jeśli kilka modułów dotyka tej samej funkcji (na przykład sposobu naliczania cen, koszyka, etc.). Wtedy efekt działania wielu modułów jednocześnie może być nieprzewidywalny, a naprawienie tego stanu rzeczy kosztowne.
  3. Problemy w utrzymaniu – jeśli jedna firma wdraża sklep pod Twoje konkretne potrzeby, to zazwyczaj na początku zaprojektują logikę aplikacji. Im więcej modułów, tym więcej, obrazowo, „firm na budowie”. Lawirowanie pomiędzy kilkunastoma modułami, żeby osiągnąć jedną potrzebę biznesową, zrobi się skomplikowane w przypadku dalszego rozwoju.
  4. Zbędna nadmiarowość – czasami moduł potrafi o wiele więcej, niż potrzebujesz. W późniejszym rozwoju taka sytuacja może się zemścić o tyle, że albo będziesz rozwijał moduł jako całość z uwzględnieniem kompatybilności, albo stracisz część funkcjonalności i nie będzie to zbyt higieniczne rozwiązanie.
  5. Brak kompatybilności ze sklepem – to szczególny przypadek punktu 2., z tym że bardziej dotyczący rozwoju Twojego sklepu. Jeśli istotnie zaingerowałeś w logikę działania Magento, szanse na powodzenie instalacji modułu są raczej niewielkie.

Podsumowując, gdybym miał rekomendować oparcie wdrożenia o moduły:

  • warto wdrożenie zacząć od zebrania i instalacji wszystkich wtyczek,
  • im mniej „dedykowany” sklep, tym szansa na powodzenie użycia wtyczki jest większa,
  • moduły dotyczące tylko panelu administracyjnego mają o wiele większą skuteczność integracji nawet na późnym etapie rozwoju sklepu (bo panel administracyjny stosunkowo niewiele się zmienia),
  • raczej starałbym się trzymać kilku sprawdzonych producentów.

Jak widzisz – nie jest wcale tak łatwo. Na szczęście większość producentów oferuje możliwość zwrotu pieniędzy do x dni od zakupu, więc będzie czas na próbę integracji modułu ze sklepem i odpowiednie testy.

Producenci modułów, których zweryfikowaliśmy

Przez prawie 10 lat aktywnego wdrażania Magento, nie unikaliśmy sięgania po moduły. Wychodzimy z prostego założenia – jeśli można zaoszczędzić na tym, że nie musimy wymyślać koła od nowa, to dlaczego tego nie zrobić? W końcu nawet, jeśli chcesz przeznaczyć większy budżet na sklep, lepiej wydawać na innowacje i budowanie przewagi konkurencyjnej niż na coś, co na rynku jest standardem.

W trakcie realizacji prac korzystaliśmy z modułów kilkudziesięciu producentów. Ci, którzy najbardziej zapadli nam w pamięć:

  1. Mirasvit — dzięki swojemu ponad dziesięcioletniemu doświadczeniu zapewniają wysoki standard rozwiązań oraz dostarczają moduły z różnorodnych kategorii. Sprawia to, że każdy znajdzie dla siebie odpowiednie rozszerzenie. W katalogu tego producenta znajdziemy moduły takie jak: Advanced Product Feeds, Push Notifications, czy Awesome Blog.
  2. Amasty — ponad 150 modułów dla Magento 2.X oraz 101 dla wersji 1.X. Kolejny producent warty uwagi. W zależności od Twoich potrzeb możesz znaleźć moduły w kategoriach: SEO, UX, zarządzanie katalogami czy dostawami. Szczycą się z posiadania światowych gigantów w portfolio, co tylko potwierdza fakt, że warto zapoznać się z ofertą tego producenta np. B2B E-commerce Suite, SEO Toolkit, czy Shipping Suite.
  3. Aheadworks — kolejny producent na pewno może pochwalić się innowacyjnymi rozwiązaniami. Nieważne czy prowadzisz duży sklep, czy dopiero zaczynasz swoją przygodę na Magento. Warto również zainteresować się Aheadworks przed planowaną migracją lub kiedy poszukujesz rozwiązań dla sklepu B2B. Przydatne moduły: Follow Up Email, Smart One Step Checkout i B2B Company Accounts.
  4. Aitoc — w swojej ofercie proponują kilka darmowych modułów np. Two-Factor Authentication oraz Google Customer Reviews, na które na pewno warto zwrócić uwagę. Firma podkreśla, że tworzy moduły dla Magento jako jedna z pierwszych firm na rynku. Doświadczenie, idące w parze z jakością.
  5. Mageplaza — tak jak poprzedni producent, Mageplaza również posiada darmowe moduły — jednak w znacznie większej ilości. Płatne wersje nie odbiegają jakością od proponowanych wcześniej rozwiązań innych producentów. Szeroki wybór kategorii pozwala na rozwinięcie sklepu w zależności od potrzeb. Modułami wartymi uwagi są z pewnością Store Switcher oraz Free Shipping Bar.
  6. BSS — jeden z najlepszych dostawców rozwiązań e-Commerce dla Magento w południowo-wschodniej Azji. Rekomenduje sprawdzić moduły takie jak: Magento 2 SEO Extension i Force Login.
  7. Wyomind — nieodbiegający od poprzedników jakością i możliwościami rozwiązań. Na pewno polecamy zapoznać się z całym katalogiem modułów, jednak jeżeli mielibyśmy wskazać jedne z ciekawszych (i przydatniejszych) polecam Simple Google Shopping i Pickup@Store.

Podsumowując

Czy warto opierać wdrożenie Magento o moduły? Mimo kilku gwiazdeczek, zdecydowanie tak, bo ostatecznie przy dobrym rozplanowaniu prac oszczędzisz pieniądze. Na pewno warto od tego zacząć, raczej trzymać się wąskiej listy dostawców i pilnować, żeby zwyczajnie nie przedobrzyć z ilością. Niestety im później pomyślisz o użyciu modułu, tym trudniej będzie go zintegrować (znam przypadki, gdzie wdrożenie danej funkcji na własną rękę wychodziło taniej, niż grzebanie się z modułem).