Klienci nie dostawali potwierdzeń zamówień. Sklep wysyłał emaile z lokalnego sendmail który był blokowany przez serwery pocztowe jako spam. 95% emaili trafiało do folderu Spam lub było odrzucanych. Czas naprawy: 2 godziny.
Serwer przeciążony, logi nginx pełne requestów do /admin. Boty próbowały się zalogować do panelu admina przez 72 godziny – 50 000 prób. Jeden z kont admin miał słabe hasło. Czas reakcji: 30 minut, wzmocnienie: 2 godziny.
Własna metoda płatności w Magento 2 to jeden z bardziej złożonych modułów do napisania od zera. Wymaga implementacji interfejsu MethodInterface, konfiguracji w system.xml, szablonów JS dla checkout i obsługi webhooków zwrotnych od bramki. Pokażę kompletną strukturę modułu integrującego fikcyjną bramkę płatności – od autoryzacji przez capture po obsługę refundacji.
Sklep z 50 000 produktów – pełny reindeks trwał 6 godzin i często kończył się błędem deadlock. Ceny i dostępność produktów aktualizowały się z opóźnieniem. Czas naprawy: 1 dzień.
Sklep po migracji z Magento 1 do Magento 2 stracił 60% organicznego ruchu w ciągu 2 tygodni. Ahrefs pokazał 4000 błędów 404. Stare URL-e produktów i kategorii nie były przekierowywane. Czas naprawy: 3 dni.
Klienci zgłaszali że nie mogą złożyć zamówienia – po kliknięciu „Złóż zamówienie” strona się przeładowuje i koszyk jest pusty. Zamówienie nie trafia do systemu. Problem dotyczył tylko płatności kartą, przelew działał. Czas realizacji: 4 godziny.
Strona kategorii ładowała się 18 sekund przy 200 produktach. PageSpeed score: 12/100. Problem nie był w serwerze ani Varnishu – był w kodzie modułu który dla każdego produktu wykonywał osobne zapytanie SQL.
Sklep przestał działać natychmiast po uruchomieniu composer update. Biała strona lub błąd 500 na froncie i adminie, logi pełne błędów PHP Fatal Error. Czas realizacji: 2 godziny.
Multi Source Inventory (MSI) to jeden z największych refaktoringów w historii Magento 2 – wprowadzony w wersji 2.3. Zamiast jednego globalnego stanu magazynowego, produkty mogą mieć stany w wielu źródłach (magazyny, sklepy stacjonarne, dropshipping). Algorytm doboru źródeł (Source Selection Algorithm) decyduje skąd realizować zamówienie. Pokażę architekturę MSI, jak działa domyślny algorytm i jak napisać własny.
Magento 2.4.9 wyszło z oficjalnym wsparciem PHP 8.5. Przez ostatnie miesiące testowałem RC na projektach klientów – teraz jest stable i można planować migracje. Pipe operator, readonly dziedziczenie, nowe array functions – wszystkie PHP 8.5 features są teraz pierwszoklasowymi obywatelami w kodzie modułów Magento. Przeglądam co się faktycznie zmieniło w rdzeniu, co trzeba zaktualizować w własnym kodzie i jak wygląda ścieżka upgrade dla istniejących projektów.
