Headless e-commerce: jak podjąć decyzję i przeprowadzić wdrożenie
Headless oddziela to, co widzi klient, od silnika sprzedaży. Taki podział daje swobodę w projektowaniu produktu, kanałów i integracji, ale razem z nią Twój zespół przejmuje odpowiedzialność za wydajność, checkout, bezpieczeństwo i utrzymanie. W tym przewodniku pokazujemy, jak ocenić, czy warto tę odpowiedzialność wziąć, i jak przeprowadzić wdrożenie headless e-commerce tak, żeby nie skończyć z kosztownym zbiorem luźno połączonych usług.
Weryfikacja merytoryczna: monkydot engineering
1. Co właściwie oznacza headless commerce
W architekturze headless interfejs klienta nie jest związany z panelem i szablonami platformy sprzedażowej. Storefront pobiera produkty, ceny, koszyk, dane klienta i zamówienia przez API. Silnik commerce dalej pilnuje reguł handlowych, ale nie decyduje o tym, jak strona wygląda. Ten sam backend może więc obsługiwać sklep internetowy, aplikację mobilną, portal B2B albo terminal w sklepie stacjonarnym.
To jest opis techniczny i sam w sobie niczego nie obiecuje. Odłączenie frontendu nie sprawi automatycznie, że strona będzie szybsza, SEO lepsze, a koszt całkowity niższy. Daje jedynie możliwość zaprojektowania każdego z tych obszarów osobno. Efekt zależy od sposobu renderowania, modelu danych, liczby wywołań API, cache, procesu publikacji treści i od tego, kto będzie utrzymywał całość po wdrożeniu.
Najważniejsza zmiana dotyczy organizacji. Storefront staje się osobnym produktem programistycznym, z własnym cyklem wydań, monitoringiem, zależnościami i awariami. Jeśli firma nie chce brać za to odpowiedzialności, klasyczna platforma SaaS z dobrze przygotowanym motywem często okaże się rozsądniejszym wyborem.
| Termin | Co opisuje | Czego nie gwarantuje |
|---|---|---|
| Headless | Oddzielenie warstwy prezentacji od backendu commerce | Modułowości całego systemu ani niezależnych wdrożeń poszczególnych usług |
| Composable | Budowanie platformy z wymiennych elementów, np. commerce, CMS, wyszukiwarki | Że każda funkcja powinna pochodzić od innego dostawcy |
| MACH | Zestaw zasad dotyczących modułowości, API, chmury i headless | Że takie podejście opłaci się każdej firmie |
| API-first | Projektowanie kontraktów API jako podstawowego interfejsu systemu | Dobrego modelu domenowego ani stabilnych integracji |
2. Headless, composable i MACH to trzy różne pojęcia
Headless dotyczy przede wszystkim granicy między frontendem a backendem. Composable mówi o tym, jak składa się platformę z poszczególnych funkcji biznesowych. MACH to historycznie skrót od microservices, API-first, cloud-native SaaS i headless; obecne zasady MACH Alliance kładą nacisk na architekturę otwartą, złożoną z modułów i dobrze połączoną. W praktyce można mieć sklep headless z jednym backendem commerce i jednym CMS-em, bez kilkunastu mikroserwisów.
Na start najlepiej sprawdza się modularny monolit z wyraźnie opisanymi granicami. Nie ma potrzeby od razu dzielić systemu na usługi. Medusa pozwala porządkować domeny commerce w modułach i łączyć operacje w workflowy. Odpowiedzialności są wtedy rozdzielone, a przy każdej małej funkcji nie trzeba płacić za komunikację sieciową, osobne pipeline'y i rozproszoną diagnostykę.
Podejście composable ma sens, gdy rzeczywiście spodziewasz się wymiany któregoś elementu. Jeśli wyszukiwarka, CMS i ceny dobrze działają w jednym produkcie, rozdzielanie ich tylko po to, żeby pasowały do diagramu referencyjnego, oznacza więcej kontraktów, więcej faktur i więcej miejsc, w których coś może się zepsuć.
3. Kiedy headless ma sens, a kiedy lepiej zostać przy obecnej platformie
Decyzję zaczyna się od konkretnego ograniczenia biznesowego. Najczęściej są to niestandardowe reguły cen i promocji, kilka kanałów sprzedaży korzystających z jednego backendu, kosztowne ograniczenia szablonów, rozbudowane treści sprzedażowe, sprzedaż na wielu rynkach albo potrzeba pełnej kontroli nad checkoutem. Przy każdym z tych powodów warto zapisać, kto za niego odpowiada, ile kosztuje obecny problem i jaki mierzalny efekt ma przynieść zmiana.
Samo stwierdzenie, że obecny sklep jest wolny, to za mało. Wydajność często da się poprawić bez zmiany platformy: wystarczy ograniczyć liczbę aplikacji, zoptymalizować obrazy, poprawić cache i kod motywu. Headless jest uzasadniony wtedy, gdy problem wynika z ograniczeń samej platformy albo pojawia się w wielu miejscach roadmapy.
- Headless nie jest dobrym wyborem, jeśli potrzebujesz przede wszystkim nowego designu.
- Nie warto go wybierać, jeśli po Twojej stronie nikt nie będzie odpowiadał za produkt i architekturę.
- Nie zmieniaj jednocześnie platformy, ERP, PIM, struktury organizacyjnej i wszystkich treści. Rozłóż to na etapy.
- Brak opłaty licencyjnej nie oznacza, że całkowity koszt będzie niższy.
| Sytuacja | Domyślna decyzja | Kiedy warto ją zmienić |
|---|---|---|
| Standardowy sklep DTC, jeden rynek, mały zespół techniczny | Zostać na SaaS lub obecnym monolicie | Platforma blokuje kluczowy proces, a korzyść pokryje stałe koszty utrzymania |
| Własne ceny, zestawy produktów lub checkout | Rozważyć headless lub otwarty backend | Tej logiki nie da się stabilnie zbudować z rozszerzeń platformy |
| Kilka kanałów korzystających z tych samych danych | Rozważyć podejście API-first | Kanały naprawdę współdzielą domeny i potrzebują własnego UX |
| Problem dotyczy wyłącznie Core Web Vitals | Najpierw zrobić audyt obecnego frontendu | Optymalizacja nie usuwa ograniczeń renderowania lub kodu platformy |
| Mocny zespół produktowo-inżynierski | Headless jest wykonalny | Zespół ma też budżet i odpowiedzialność za utrzymanie 24/7 |
| Termin wymusza szybki start | Wybrać gotową platformę | Zakres MVP da się mocno ograniczyć bez tworzenia krytycznego długu technicznego |
4. Architektura referencyjna: niewiele elementów, jasny podział odpowiedzialności
Minimalna sensowna architektura składa się ze storefrontu, backendu commerce, systemu treści, płatności, opcjonalnie wyszukiwarki, źródeł danych operacyjnych i warstwy obserwowalności. Storefront nie powinien znać szczegółów ERP ani składać ceny z pięciu różnych usług. Korzysta z kontraktu przygotowanego dla swojego kanału, a logika handlowa zostaje w backendzie.
Na styku z systemami zewnętrznymi potrzebne są adaptery, kolejki dla pracy asynchronicznej i trwały rejestr zdarzeń lub zadań. Żądanie klienta nie może czekać na odpowiedź ERP. Ścieżka zakupowa powinna mieć jak najmniej zależności synchronicznych, a pozostałe działania można wykonać po zdarzeniu, z ponawianiem i kolejką błędów.
Warstwa backend-for-frontend przydaje się, gdy storefront musi połączyć dane z kilku domen, ukryć klucze i ograniczyć liczbę zapytań. Nie może jednak stać się drugim backendem commerce. Reguły dotyczące ceny, podatku, promocji i uprawnień powinny być wykonywane w jednym miejscu.
| Komponent | Za co odpowiada | Za co nie powinien odpowiadać |
|---|---|---|
| Storefront | Renderowanie, nawigacja, interakcje, dostępność | Ostateczne wyliczenie ceny i uprawnień |
| Backend commerce | Koszyk, ceny, promocje, klient, zamówienie | Treści redakcyjne i układ strony |
| CMS | Treści, proces publikacji, komponenty redakcyjne | Stany magazynowe i ostateczna cena |
| PIM / ERP / OMS | Dane źródłowe należące do ich domeny | Bezpośrednie sterowanie interfejsem klienta |
| Warstwa integracji | Mapowanie, ponawianie, kolejki, audyt przepływu | Maskowanie tego, że dane nie mają właściciela |
| Obserwowalność | Logi, metryki, trace, alerty i korelacja zdarzeń | Zastępowanie procedur operacyjnych |
5. SEO i renderowanie: najpierw HTML, JavaScript tam, gdzie coś wnosi
Google potrafi renderować JavaScript, ale robi to w kilku etapach: crawling, renderowanie i indeksowanie. Google wprost pisze, że renderowanie po stronie serwera lub prerendering nadal są dobrym rozwiązaniem, bo przyspieszają stronę zarówno dla użytkowników, jak i dla robotów, a nie każdy bot wykonuje JavaScript. Na stronach kategorii, produktów, poradników i marek najważniejsza treść powinna być obecna już w odpowiedzi HTML.
Nie ma potrzeby stosować jednego trybu renderowania w całym sklepie. Strony treściowe i stabilne kategorie mogą być generowane statycznie z rewalidacją. Karty produktów z często zmieniającą się dostępnością mogą renderować stały szkielet na serwerze i odświeżać dane zależne od czasu bez blokowania całej strony. Konto klienta i część koszyka mogą działać jak aplikacja, bo i tak nie są indeksowane.
SEO przy zmianie platformy to osobny projekt migracyjny. Obejmuje zachowanie adresów albo mapę przekierowań 301, canonicale, hreflang, dane strukturalne, sitemapę, statusy HTTP i zgodność treści. Soft 404, puste szkielety aplikacji i canonical ustawiany dopiero przez skrypt to ryzyko, którego łatwo uniknąć. Przed przełączeniem warto automatycznie porównać stary i nowy serwis dla najważniejszych adresów.
- Mierz LCP, INP i CLS na danych od prawdziwych użytkowników, a pojedynczy test laboratoryjny traktuj pomocniczo.
- Ustal budżety na JavaScript, obrazy i liczbę zapytań dla szablonów, zanim powstanie design system.
- Sprawdź, jak zachowują się treści i linki przeznaczone do indeksowania przy wyłączonym JavaScripcie.
- Od pierwszej godziny po migracji monitoruj błędy 404 i 5xx, indeksację oraz Core Web Vitals.
| Typ strony | Zalecane renderowanie | Najważniejszy test |
|---|---|---|
| Kategoria / listing | SSR lub statyczne z rewalidacją | Treść, linki i canonical są w początkowym HTML |
| Produkt | SSR / hybrydowe | Poprawne statusy, schema Product i obsługa wariantów |
| Landing redakcyjny | Statyczne lub SSR | Publikacja w CMS nie wymaga pełnego wdrożenia |
| Koszyk / konto | CSR lub hybrydowe | Dane użytkownika nie trafiają do współdzielonego cache |
| Wyniki wyszukiwarki wewnętrznej | Zależnie od strategii indeksacji | Jawne noindex albo kontrolowane strony docelowe |
6. Dane: jedno źródło prawdy dla każdego atrybutu
Zasada „single source of truth” nie wymaga jednego systemu dla całej firmy. Chodzi o to, żeby dla każdego atrybutu i procesu było wskazane jedno źródło. PIM może odpowiadać za opisy i klasyfikację, ERP za warunki księgowe, OMS za status realizacji, a platforma commerce za koszyk i reguły kanału. Kłopoty zaczynają się wtedy, gdy dwa systemy mogą niezależnie zmienić tę samą cenę albo ten sam status.
Przed rozpoczęciem prac przygotuj macierz danych: encja, atrybut, właściciel, system źródłowy, systemy korzystające z danych, dopuszczalne opóźnienie, sposób korekty i identyfikator korelacyjny. Dopiero z niej wynikają API i zdarzenia. Bez takiej macierzy integracje zaczynają przesyłać całe obiekty i przypadkiem nadpisują pola należące do innej domeny.
Kontrakty trzeba wersjonować i testować. Zmiana pola, znaczenia ceny albo jednostki miary jest zmianą biznesową, nawet jeśli JSON nadal przechodzi walidację. Dla najważniejszych przepływów utrzymuj przykładowe komunikaty, schemat, zasady zgodności wstecznej i testy po stronie odbiorcy.
7. Checkout: jak najkrótsza ścieżka krytyczna i bezpieczne ponawianie operacji
Checkout jest procesem rozproszonym. Sprawdza koszyk, adres, dostawę, cenę, dostępność i płatność, a na końcu tworzy zamówienie. Nie da się tego zamknąć w jednej transakcji bazodanowej obejmującej zewnętrznych dostawców i nie warto tego udawać. Lepiej opisać stany procesu, momenty, od których nie ma odwrotu, i działania naprawcze na wypadek błędu.
Każda operacja, która tworzy zamówienie albo skutek finansowy, powinna obsługiwać klucz idempotencji. Ponowienie żądania po przekroczeniu czasu nie może utworzyć drugiego zamówienia ani drugi raz obciążyć karty. Stripe opisuje ten wzorzec wprost dla żądań tworzących i aktualizujących zasoby. Tę samą zasadę warto stosować we własnych komendach integracyjnych.
Wiążącą cenę wylicza backend tuż przed złożeniem zamówienia. Storefront może pokazywać szacunek, ale nie może przesyłać ostatecznej kwoty jako obowiązującej. Po każdej zmianie adresu, sposobu dostawy, zalogowaniu klienta czy wpisaniu kuponu backend ponownie sprawdza koszyk, a klient powinien jasno zobaczyć, co się zmieniło.
- Utrzymuj stały identyfikator koszyka i identyfikator korelacyjny dla całej próby zakupu.
- Rozróżniaj stany „płatność rozpoczęta”, „płatność autoryzowana”, „zamówienie utworzone” i „zamówienie przyjęte do realizacji”.
- Obsłuż powrót klienta po 3DS, zamknięcie karty, podwójne kliknięcie i przekroczenie czasu po stronie operatora płatności.
- Jeśli biznes tego nie wymaga, nie każ klientowi czekać, aż w ERP powstanie dokument.
- Przygotuj kolejkę wyjątków dla płatności bez zamówienia i zamówień bez potwierdzonej płatności.
8. Bezpieczeństwo: w headless jest więcej publicznego API do ochrony
Publiczny storefront korzysta z API, więc kontrola dostępu nie może polegać na tym, że endpointy są trudne do znalezienia. OWASP API Security Top 10 wymienia m.in. brak autoryzacji na poziomie obiektu, błędy uwierzytelniania, nieograniczone zużycie zasobów i niebezpieczne korzystanie z zewnętrznych API. W sklepie internetowym te ryzyka dotyczą przede wszystkim koszyków, adresów, zamówień, kuponów, kont firmowych i endpointów cenowych.
Autoryzację sprawdza się przy każdym żądaniu, zarówno dla obiektu, jak i dla funkcji. Znajomość numeru zamówienia z adresu URL nie daje prawa do jego podglądu. Dane klienta nie mogą trafić do publicznego cache, logów aplikacji ani narzędzi analitycznych. Klucze dostawców zostają na serwerze, a webhooki muszą mieć weryfikowany podpis, ochronę przed ponownym odtworzeniem i idempotentną obsługę.
Bezpieczeństwo to także ochrona przed nadużyciami procesów biznesowych: masowym sprawdzaniem kuponów, odpytywaniem stanów magazynowych, automatycznym rezerwowaniem towaru i kosztownymi zapytaniami do wyszukiwarki. Limity zapytań powinny uwzględniać użytkownika, organizację, adres IP, koszt operacji i ryzyko biznesowe. Jeden globalny limit to za mało.
- Model zagrożeń dla logowania, koszyka, checkoutu, webhooków i panelu administracyjnego.
- MFA i minimalne uprawnienia dla paneli operacyjnych oraz dostępu do produkcji.
- Rotacja kluczy, osobne środowiska i żadnych nieanonimizowanych danych produkcyjnych w testach.
- Skanowanie zależności, testy autoryzacji na poziomie obiektu i procedura obsługi incydentu.
- Jasno określona retencja danych, logów i kopii zapasowych, zgodna z obowiązkami firmy.
9. Realizacja projektu: pionowe zakresy, równoległe środowiska i plan powrotu
Bezpieczniej jest dzielić projekt na kompletne ścieżki użytkownika niż na „backend, frontend i integracje”. Pierwszy taki zakres może obejmować kategorię, produkt, koszyk, checkout dla jednego rynku i przekazanie zamówienia dalej. Problemy z kontraktami i danymi wychodzą wtedy na początku projektu, a nie w ostatnim miesiącu.
Zmiana platformy powinna mieć okres, w którym oba systemy działają równolegle. Nowy system dostaje kopię rzeczywistych danych, przechodzi testy obciążeniowe, a jego ceny i dostępność porównuje się z wynikami starego. Przełączenie ma swojego właściciela, listę warunków startu, okres obserwacji, plan komunikacji i technicznie wykonalny powrót do poprzedniej wersji.
Flagi funkcji zmniejszają ryzyko tylko wtedy, gdy są monitorowane i mają termin usunięcia. Flaga nie naprawi niezgodnej migracji danych. Zmiany schematu najlepiej projektować w modelu expand-and-contract: najpierw obie wersje muszą ze sobą współpracować, potem przenosi się ruch, a na końcu usuwa stare pole lub ścieżkę.
| Etap | Dowód gotowości | Powód do zatrzymania |
|---|---|---|
| Discovery | Mapa domen, danych, ryzyk i TCO zatwierdzona przez właścicieli | Nikt nie odpowiada za cenę, stany magazynowe lub zamówienia |
| Walking skeleton | Jedno testowe zamówienie przechodzi przez cały proces | Brak korelacji zdarzeń i możliwości diagnozy |
| Pilot | Wybrany rynek lub segment działa na rzeczywistych danych | Rozbieżności w cenach lub zamówieniach bez procedury naprawy |
| Przełączenie | SEO, wydajność, finanse i plan powrotu mają zatwierdzone kryteria | Brak aktualnej kopii, runbooka lub dyżuru |
| Stabilizacja | Alerty i kolejki wyjątków mają właścicieli | Rośnie liczba błędów lub ręcznych korekt |
10. Utrzymanie po starcie: projekt kończy się po okresie stabilizacji
System headless ma więcej ruchomych części niż gotowy sklep SaaS, dlatego zespół potrzebuje wspólnego obrazu tego, co się w nim dzieje. Logi, metryki i trace powinny przenosić identyfikator korelacyjny od żądania klienta, przez backend i kolejkę, aż do integracji. OpenTelemetry definiuje obserwowalność jako możliwość zrozumienia systemu na podstawie danych telemetrycznych. Samo zbieranie logów bez wspólnego kontekstu tego nie zapewnia.
Alerty powinny reagować na objawy biznesowe i wyczerpywanie się budżetu błędów: spadek skuteczności checkoutu, więcej odrzuconych płatności, opóźnienia w synchronizacji cen, zamówienia zawieszone w stanie pośrednim, wzrost błędów 5xx i pogorszenie Core Web Vitals. Alert o obciążeniu procesora na poziomie 80% jest pomocniczy. Osoba na dyżurze musi przede wszystkim wiedzieć, czy klient może kupić i czy zamówienie trafi dalej.
Każdy krytyczny alert ma runbook, właściciela i ścieżkę eskalacji. Runbook opisuje, jak potwierdzić problem, jak ograniczyć jego skutki, jak bezpiecznie ponowić operację, jak ręcznie skorygować dane i kogo poinformować. Raz na kwartał warto przećwiczyć awarię operatora płatności, wyszukiwarki albo ERP oraz odtworzenie danych z kopii.
- Dashboard pokazujący kolejne etapy: ruch, produkt, koszyk, checkout, płatność, zamówienie i eksport.
- SLO dla dostępności checkoutu i maksymalnego opóźnienia najważniejszych danych.
- Kolejka komunikatów nieprzetworzonych (dead-letter queue) z widoczną liczbą zaległości, wiekiem najstarszego komunikatu i właścicielem.
- Regularne uzgadnianie płatności, zamówień i eksportów do systemów operacyjnych.
- Analiza po incydencie bez szukania winnych, ale z terminami i właścicielami działań naprawczych.
11. Koszty i TCO: policz również koordynację i awarie
Całkowity koszt headless obejmuje budowę, migrację, infrastrukturę, usługi SaaS, utrzymanie, bezpieczeństwo, monitoring, dyżury, testy i rozwój kompetencji zespołu. Dochodzi do tego koszt koordynowania dostawców i zmian w kontraktach. Scenariusze trzeba porównywać w tym samym horyzoncie czasu i dla tej samej roadmapy. Zestawienie kosztu nowego systemu z samą fakturą za obecną platformę niczego nie mówi.
Koszty zmienne najlepiej liczyć w jednostkach operacyjnych: na zamówienie, sesję, wyszukiwanie, obraz, wiadomość i rekord w katalogu. Zapisz progi, po których przekroczeniu zmienia się cennik. Dla każdej usługi SaaS określ też koszt rezygnacji: eksport danych, przebudowę integracji, okres wypowiedzenia i funkcje dostępne tylko u tego dostawcy.
Największym ukrytym kosztem jest często zbyt wiele osobnych elementów. Każda usługa to kolejny kontrakt, monitoring, środowiska, uprawnienia, faktura i procedura na wypadek awarii. Najtańszy komponent oceniany w oderwaniu od reszty nie musi dawać najtańszego systemu.
| Pozycja TCO | Pytanie kontrolne | Koszt, o którym często się zapomina |
|---|---|---|
| Budowa i migracja | Czy zakres obejmuje dane, SEO i stabilizację? | Równoległe utrzymanie starego systemu |
| Platforma i SaaS | Jak rośnie koszt wraz z ruchem, GMV i katalogiem? | Opłaty za przekroczenie limitów, wsparcie premium, sandboxy |
| Zespół | Kto odpowiada za produkt, backend, frontend i SRE? | Dyżury, rekrutacja, zastępstwa |
| Integracje | Ile kontraktów trzeba wersjonować i monitorować? | Ręczne uzgadnianie danych i obsługa wyjątków |
| Ryzyko | Ile kosztuje godzina niedziałającego checkoutu? | Incydenty, nadużycia, błędne ceny |
| Wyjście | Czy dane i kod da się przenieść? | Migracja z usług specyficznych dla dostawcy |
12. Jak wybrać partnera do wdrożenia
Dobry partner zaczyna od Waszego obecnego procesu, danych i ograniczeń, a dopiero potem mówi o technologii. Powinien umieć wskazać sytuacje, w których headless jest złym wyborem, i pokazać, jak liczy TCO. Zapytaj, kto konkretnie zaprojektuje system, kto napisze kod i kto będzie dostępny po uruchomieniu.
Oceniaj na podstawie dokumentów i przykładów: decyzji architektonicznej (ADR), diagramu przepływu zamówienia, kontraktu integracyjnego, planu testów, runbooka i podziału odpowiedzialności. Referencje się przydają, ale projekt podobny technologicznie może być zupełnie inny pod względem operacyjnym. Ważniejsze jest to, czy partner potrafi wyjaśnić kompromisy i opisać, co zrobi, gdy coś się zepsuje.
Umowa powinna określać własność kodu i danych, dostęp do kont chmurowych, repozytoriów i pipeline'ów, dokumentację, poziom wsparcia, proces zmian i zasady zakończenia współpracy. Partner nie może być jedynym podmiotem, który potrafi wdrożyć zmianę na produkcję albo odtworzyć środowisko.
- Poproś o przykładową decyzję architektoniczną z opisem odrzuconych wariantów, a nie tylko o diagram docelowy.
- Sprawdź, czy wycena obejmuje migrację, testy niefunkcjonalne, stabilizację i przekazanie wiedzy.
- Zapytaj, jaka jest najpoważniejsza możliwa awaria w proponowanej architekturze.
- Ustal mierzalne kryteria odbioru dla wydajności, danych, checkoutu i utrzymania.
- Zadbaj o to, żeby Twój zespół miał dostęp do produkcyjnej telemetrii od pierwszego dnia.
13. Checklista gotowości i odbioru
Tę listę traktuj jak warunki do spełnienia przed startem. Punkt bez właściciela i bez dowodu wykonania pozostaje otwarty. Jeśli godzicie się na wyjątek, zapiszcie ocenę ryzyka, osobę, która go zaakceptowała, i termin zamknięcia.
- Problem biznesowy, KPI i koszt obecnego ograniczenia są zapisane.
- Pozostanie na obecnej platformie, jej optymalizację, gotowy SaaS i headless porównano w tym samym horyzoncie TCO.
- Każdy kluczowy atrybut danych ma źródło prawdy, właściciela i maksymalne dopuszczalne opóźnienie.
- Storefront nie wylicza wiążącej ceny ani uprawnień.
- Najważniejsza treść SEO, linki, canonical i statusy są dostępne bez renderowania po stronie przeglądarki.
- Mapę adresów, przekierowań, danych strukturalnych i hreflang porównano przed przełączeniem.
- Checkout obsługuje ponawianie, idempotencję, przekroczenia czasu, powrót z płatności i podwójne kliknięcie.
- Działa regularne uzgadnianie płatności, zamówień i eksportów.
- API ma testy autoryzacji na poziomie obiektu, limity zapytań i weryfikowane webhooki.
- Logi, metryki i trace mają wspólny identyfikator korelacyjny i nie zawierają zbędnych danych osobowych.
- SLO, alerty, runbooki, dyżury i kolejki wyjątków mają przypisanych z nazwiska właścicieli.
- Testy obciążeniowe obejmują szczyt sprzedaży, spowolnienie dostawców i sytuację pustego cache.
- Przełączenie ma warunki startu, plan powrotu i okres stabilizacji.
- Kod, dane, konta, pipeline'y i dokumentacja pozostają w dyspozycji firmy.
Źródła i dalsza lektura
- Google Search Central — JavaScript SEO basics ↗
- Google Search Central — SEO Starter Guide ↗
- web.dev — Rendering on the Web ↗
- web.dev — Web Vitals ↗
- MACH Alliance — MACH Principles ↗
- Medusa Documentation — Modules ↗
- Medusa Documentation — Workflows ↗
- OWASP — API Security Top 10 2023 ↗
- Stripe Docs — Idempotent requests ↗
- OpenTelemetry — Observability primer ↗