Listing modes
When a visitor lands on a cached listing page, the cached HTML is served immediately. But if any product on that listing has changed since the cache was written, the listing also needs to refresh — either by fetching the fresh listing on top of the cached one, or by silently swapping individual product cards.
P2Lab Cache offers two listing load modes under Settings → Speed Boost → Dashboard → Listing → Listing Load Mode.
Skeleton mode (default)
Section titled “Skeleton mode (default)”The classic refresh behaviour:
- Cached listing renders immediately.
- A loading overlay appears.
- The page fetches a fresh listing in the background.
- When fresh data arrives, the overlay disappears and the new content replaces the old.
Pros
- Simple and predictable
- The visitor sees a clear “refreshing” indication
Cons
- The visible refresh interrupts the visitor’s flow
- If the listing rarely changes, the overlay is gratuitous
Background refresh mode
Section titled “Background refresh mode”A more sophisticated behaviour:
- Cached listing renders immediately.
- A background request fetches the fresh listing.
- The plugin diffs the cached and fresh HTML at the product-card level.
- Only the cards that actually differ are replaced — silently, in-place. Unchanged cards never re-render.
Pros
- Visitor doesn’t see a flash / overlay
- Only changed cards re-render — preserves scroll position, hover state and lazy-loaded images
- Fastest perceived experience
Cons
- Slightly more complex client-side; relies on the storefront’s listing markup matching what the cache stored
- If markup structure changes significantly between cache write and refresh (e.g. after a theme update), the diff falls back to full replace
Background replacement effect
Section titled “Background replacement effect”When using Background refresh, you can pick the visual transition for replaced cards under Listing → Background Replacement Effect:
- Instant (default) — replace the card immediately, no animation
- Fade (300 ms) — fade-out + fade-in over 300 ms; smoother but adds a perceived “shimmer”
Skeleton mode ignores this setting.
When to switch
Section titled “When to switch”- Default-style storefronts with little customisation → Background refresh + Instant works out of the box and gives the cleanest UX.
- Heavily themed storefronts where listing markup is custom → start with Skeleton, test Background refresh on a staging environment, then switch.
- Stores with frequent listing changes → either mode works; Background refresh feels less noisy.
- Stores with rare listing changes → either mode works; Skeleton’s overlay is rarely visible because most cached listings don’t need a refresh anyway.
Sales-channel scope
Section titled “Sales-channel scope”Both settings can be overridden per sales channel.
How it interacts with invalidation
Section titled “How it interacts with invalidation”The listing mode applies to already-cached listings that just need a freshness check. A listing whose cache entry was invalidated and never re-warmed is rendered from scratch (full MISS) regardless of mode.