Sklep działał normalnie, ale konwersja nagle spadła o 40% w ciągu jednego dnia. Google Analytics pokazywał ruch na poziomie normy. Problem był niewidoczny gołym okiem – tylko przy konkretnym rozmiarze ekranu przyciski w checkoucie nachodziły na siebie i były nieaktywalne. Czas diagnozy: 3 godziny, naprawy: 30 minut.
GraphQL w Magento 2 to nie tylko API do odczytu – możesz dodać własne typy, queries i mutations. Custom resolver to klasa PHP która odpowiada za pobranie danych dla danego pola lub query. Pokażę kompletną implementację: schemat GraphQL, resolver z autoryzacją, obsługę błędów i testy integracyjne. Na przykładzie query pobierającego historię zamówień klienta z filtrami.
Sklep przestał przyjmować płatności kartą w nocy z soboty na niedzielę. Monitoring nie wykrył problemu bo strona działała – tylko checkout był zepsuty. Klienci dostawali ogólny błąd „Nie można przetworzyć płatności”. Stracono kilkanaście godzin sprzedaży zanim zgłoszenie dotarło w poniedziałek rano. Czas naprawy: 45 minut po zgłoszeniu.
Headless commerce i PWA (Progressive Web App) to modne pojęcia w e-commerce. Agencje chętnie je rekomendują – często niezależnie od tego czy rzeczywiście rozwiązują problem klienta. Poniżej próba odpowiedzi na pytanie kiedy headless ma sens, a kiedy jest przerostem formy nad treścią.
Nowy frontend React nie mógł komunikować się z Magento REST API. Każde żądanie AJAX kończyło się błędem CORS w konsoli przeglądarki. Backend działał poprawnie gdy testowano przez Postman lub curl. Czas naprawy: 2 godziny.
Integracja ERP ze sklepem przez REST API działała coraz wolniej. Pobieranie listy zamówień przez API trwało 45 sekund. Endpoint zwracał całą historię zamówień zamiast tych z ostatnich 24 godzin. Czas naprawy: 3 godziny.
Po migracji sklepu na nowy serwer zdjęcia produktów nie wyświetlały się – zamiast nich szare zastępniki. W bazie danych były ścieżki do plików, ale pliki nie istniały na dysku. Czas naprawy: 5 godzin.
Wzorzec Command enkapsuluje żądanie jako obiekt, co pozwala parametryzować operacje, kolejkować je, logować i implementować cofanie. W Magento 2 ten wzorzec jest podstawą systemu kolejkowania wiadomości (MessageQueue) – każda wiadomość to Command który jest wykonywany asynchronicznie przez consumer. Pokażę implementację od klasycznej wersji po integrację z kolejką Magento.
Wybór agencji do wdrożenia Magento to decyzja która ma wpływ na kilka lat działalności firmy. Zły wybór to nie tylko przepłacenie – to projekt który nie dochodzi do końca, sklep który nie działa jak powinien, i latanie od agencji do agencji żeby naprawić błędy poprzednika. Poniżej sygnały na które warto zwrócić uwagę jeszcze przed podpisaniem umowy.
Nowa wersja modułu wdrożona na produkcję powodowała błąd 500 na całym sklepie. DI compilation kończyło się błędem o brakującym interfejsie. Problem był w zmianie sygnatury konstruktora bez aktualizacji di.xml. Czas naprawy: 1 godzina.
