3 błędy w architekturze headless, które rujnują Twój e-commerce
Headless commerce brzmi jak zbawienie – oddzielasz frontend od backendu, zyskujesz elastyczność, szybkość i możliwość personalizacji. Jednak w praktyce wiele firm wpada w te same pułapki, które zamieniają przewagę headless w koszmar wydajnościowy i finansowy. Oparte na realnych projektach – oto trzy błędy, które widzę najczęściej.
Błąd 1: Nadmierna liczba zapytań API
Gdy frontend jest odłączony, każda informacja musi być pobrana przez API. W klasycznym monolitycznym sklepie backend generuje gotowy HTML z danymi. W headless frontend wysyła wiele zapytań, by złożyć stronę. Problem pojawia się, gdy architekt domyślnie tworzy osobne endpointy dla każdego elementu: nagłówka, stopki, listy produktów, filtrów, koszyka, rekomendacji. Skutek? Strona kategorii wysyła 50-100 zapytań API, zanim w ogóle zacznie renderować treść.
Przykład z życia: Jeden z klientów JurskiTech – średniej wielkości sklep z odzieżą – przeszedł na headless z zewnętrznym CMS-em. Po wdrożeniu czas ładowania strony głównej wzrósł z 1,2 s do 4,8 s. Powód? Frontend wysyłał 80 zapytań do API, a każde z nich było blokujące. Po wprowadzeniu agregacji (GraphQL jako warstwa pośrednia) i cache’owania odpowiedzi, czas spadł do 0,9 s.
Jak uniknąć? Zastosuj GraphQL z odpowiednim batchowaniem lub zbuduj warstwę BFF (Backend For Frontend), która agreguje dane. Nie pozwól, by każdy komponent frontendu bezpośrednio komunikował się z backendem. Ustal limit zapytań na stronę – np. maksymalnie 5-10 głównych wywołań.
Błąd 2: Brak strategii cache’owania
Headless daje pozorną swobodę – możesz używać dowolnego frameworka frontendowego, a backend jest niezależny. Jednak bez przemyślanej strategii cache’owania, każda wizyta użytkownika generuje pełne obciążenie backendu. Klasyczne podejście: cache całej strony w CDN. W headless musisz cache’ować dane na poziomie API, komponentów i całych stron.
Sytuacja z rynku: Klient z branży meblowej miał headless oparty na Next.js i Shopify jako backend. Każde wejście na stronę produktu powodowało zapytanie do Shopify API – to nie tylko spowalniało odpowiedź, ale też generowało opłaty za nadmiarowe zapytania (licencyjne plany Shopify mają limity). Po wdrożeniu warstwy cache Redis z czasem życia 5 minut, obciążenie API spadło o 70%, a średni czas odpowiedzi skrócił się z 2 do 0,4 s.
Jak uniknąć? Ustal hierarchię cache: CDN dla całych stron statycznych, Redis dla danych API, cache przeglądarkowy dla zasobów. Pamiętaj o unieważnianiu cache przy zmianach danych. Nie zakładaj, że „headless jest szybki sam z siebie” – szybkość wymaga inwestycji w pamięć podręczną.
Błąd 3: Złe zarządzanie stanem koszyka i autoryzacją
W headless stan aplikacji (koszyk, zalogowanie) musi być synchronizowany między frontendem a backendem. Częsty błąd: przechowywanie koszyka tylko na froncie (localStorage) – prowadzi do utraty danych przy odświeżeniu lub zmianie urządzenia. Albo przeciwnie: każde kliknięcie „dodaj do koszyka” wysyła zapytanie do backendu – co jest bezpieczne, ale powoduje opóźnienia i utrudnia działanie offline.
Przykład z projektu: Startup sprzedający kursy online używał headless z React i własnym API. Koszyk był przechowywany po stronie klienta. Gdy użytkownik dodał kurs, a następnie odświeżył stronę – koszyk znikał. To generowało frustrację i porzucenia koszyka na poziomie 25%. Rozwiązanie: hybryda – koszyk na froncie z regularną synchronizacją do backendu (co 30 sekund) oraz przywracanie stanu z backendu przy starcie sesji.
Jak uniknąć? Zastosuj strategię „optimistic UI” z backendem jako źródłem prawdy. Koszyk przechowuj w cache przeglądarki i na serwerze. Autoryzację oprzyj na tokenach JWT umieszczonych w ciasteczkach HttpOnly, a nie w localStorage (większe bezpieczeństwo). Pamiętaj o obsłudze przypadków brzegowych: timeout, zmiana urządzenia, wiele kart przeglądarki.
Podsumowanie
Headless commerce to potężne narzędzie, ale tylko przy przemyślanej architekturze. Nie daj się skusić obietnicom bez pokrycia – każda warstwa oddzielenia kosztuje. Największe ryzyko to mnożenie zapytań API, brak cache i źle zarządzany stan. Zanim zdecydujesz się na headless, przeanalizuj swój obecny sklep: czy naprawdę potrzebujesz tej elastyczności? Jeśli tak – zainwestuj w warstwę agregacji danych, solidne cachowanie i spójny system autoryzacji. W JurskiTech pomogliśmy wielu firmom przejść ścieżkę headless bezboleśnie – kluczem jest unikanie tych trzech błędów.
Twój sklep e-commerce zasługuje na architekturę, która nie spowalnia sprzedaży. If you need help, we’ve got your back.


