Przejdź do głównej zawartości

Tryby listingu

Gdy odwiedzający trafia na cache’owaną stronę listingu, cache’owany HTML jest serwowany natychmiast. Ale jeśli jakikolwiek produkt na tym listingu zmienił się od czasu zapisu cache, listing też musi się odświeżyć — albo przez fetch świeżego listingu na wierzchu cache’owanego, albo przez ciche zamienienie pojedynczych kart produktów.

P2Lab Cache oferuje dwa tryby ładowania listingu pod Settings → Speed Boost → Dashboard → Listing → Listing Load Mode.

Klasyczne zachowanie odświeżania:

  1. Cache’owany listing renderuje się natychmiast.
  2. Pojawia się loading overlay.
  3. Strona fetchuje świeży listing w tle.
  4. Gdy świeże dane przychodzą, overlay znika i nowa treść zastępuje starą.

Plusy

  • Proste i przewidywalne
  • Odwiedzający widzi wyraźny wskaźnik “refreshing”

Minusy

  • Widoczne odświeżanie przerywa flow odwiedzającego
  • Jeśli listing rzadko się zmienia, overlay jest zbędne

Bardziej wyrafinowane zachowanie:

  1. Cache’owany listing renderuje się natychmiast.
  2. Żądanie w tle fetchuje świeży listing.
  3. Plugin diffuje cache’owany i świeży HTML na poziomie karty produktu.
  4. Tylko karty, które faktycznie się różnią, są zamieniane — cicho, in-place. Niezmienione karty nigdy się nie re-renderują.

Plusy

  • Odwiedzający nie widzi flash / overlay
  • Tylko zmienione karty re-renderują — zachowuje pozycję scrolla, stan hover i lazy-loaded obrazki
  • Najszybsze percypowane doświadczenie

Minusy

  • Trochę bardziej złożone client-side; opiera się na tym, że markup listingu storefrontu pasuje do tego, co zapisał cache
  • Jeśli struktura markupu się znacząco zmienia między zapisem cache a refreshem (np. po aktualizacji theme’a), diff spada do pełnego replace

Gdy używasz Background refresh, możesz wybrać wizualne przejście dla zamienionych kart pod Listing → Background Replacement Effect:

  • Instant (domyślnie) — zamień kartę natychmiast, bez animacji
  • Fade (300 ms) — fade-out + fade-in przez 300 ms; gładsze, ale dodaje percypowany “shimmer”

Tryb Skeleton ignoruje to ustawienie.

  • Storefronty w stylu domyślnym z niewielką customizacją → Background refresh + Instant działa od ręki i daje najczystszy UX.
  • Mocno themowane storefronty z custom markup listingu → zacznij od Skeleton, przetestuj Background refresh na staging, potem przełącz.
  • Sklepy z częstymi zmianami listingów → oba tryby działają; Background refresh wydaje się mniej hałaśliwe.
  • Sklepy z rzadkimi zmianami listingów → oba tryby działają; overlay Skeleton jest rzadko widoczne, bo większość cache’owanych listingów i tak nie potrzebuje refresh.

Oba ustawienia można nadpisać per kanał sprzedaży.

Tryb listingu ma zastosowanie do już cache’owanych listingów, które potrzebują tylko check freshness. Listing, którego wpis cache został zinwalidowany i nigdy nie nagrzany ponownie, jest renderowany od zera (pełny MISS) niezależnie od trybu.