Cacheable routes
P2Lab Cache groups storefront responses into seven route types. Each one can be toggled independently under Settings → Speed Boost → Dashboard → Cacheable Routes. By default everything except the async buybox is on.
The seven route types
Section titled “The seven route types”Cache Home Page
Section titled “Cache Home Page”frontend.home.page — your shop’s landing page.
Almost always safe to cache. Disable only if your home page renders per-session content (e.g. a personalised recommendation block rendered server-side).
Cache Navigation Pages
Section titled “Cache Navigation Pages”frontend.navigation.page — category landing pages with their full breadcrumb, filter sidebar and initial product set.
Safe to cache for anonymous traffic.
Cache Navigation Pages (AJAX)
Section titled “Cache Navigation Pages (AJAX)”frontend.navigation.page.ajax — the AJAX request that fetches subsequent listing pages when a visitor paginates or sorts.
Cacheable. Bear in mind every distinct combination of filter / sort / page becomes its own entry — large catalogues with many filter combinations grow the cache quickly.
Cache Navigation Filters (AJAX)
Section titled “Cache Navigation Filters (AJAX)”frontend.navigation.filter — the filter aggregation request (which filter values to show, with counts).
Heaviest backend response per request. Caching has the biggest impact here.
Cache Product Pages
Section titled “Cache Product Pages”frontend.detail.page — product detail pages.
Cacheable for anonymous traffic. If your buybox is rendered server-side and varies per customer (B2B prices, customer-specific rules), make sure those visitors are correctly identified as logged-in so the cache is bypassed.
Cache CMS Pages
Section titled “Cache CMS Pages”frontend.cms.page — standalone CMS pages (about, contact, landing pages).
Safe to cache unless your CMS pages embed dynamic, per-visitor blocks.
Cache Async Buybox (AJAX)
Section titled “Cache Async Buybox (AJAX)”p2lab.cache.async-buybox — the async buybox component used by some themes to defer pricing / stock rendering.
Off by default. The buybox response contains pricing and rule-modified output that may be customer-specific. Enable only if your storefront does not personalise it.
Per-sales-channel toggles
Section titled “Per-sales-channel toggles”Each toggle can be overridden per sales channel from the page-header switcher. Useful for a setup where, for example, the public B2C channel caches everything but the B2B channel keeps product pages uncached.
How toggles interact with invalidation
Section titled “How toggles interact with invalidation”Disabling a route type stops the plugin from creating new cache entries for it, but existing entries stay valid until they expire or are invalidated. To free the storage immediately, run Dashboard → Clear →
Bypassing the cache for a specific URL
Section titled “Bypassing the cache for a specific URL”Toggles work at the route-type level. To bypass an individual URL without disabling its whole type:
- Add a query parameter that is not in the Ignored Query Parameters list. Every distinct value of an un-ignored parameter is treated as a separate variant — the request becomes uncacheable for the duration of that parameter being present.
- Set
Cache-Control: no-storefrom your controller / event subscriber.
See Query parameter filtering for the parameter-handling rules.
What’s not in the toggle list
Section titled “What’s not in the toggle list”A handful of routes are never cached, regardless of settings:
- The cart, checkout and account areas
- Anything that requires a customer session
- Admin / API endpoints
- POST / PUT / DELETE responses
These are excluded at a layer below the toggles.