- The page is served from the plain URL’s cached copy.
- The page gets a cached copy of its own, one per distinct value.
- The page is rendered fresh for every request.
The three groups
Ignored
Fluid does not recognize the parameter. It is removed, and the visitor gets
the plain URL’s cached page.
Cached separately
The parameter changes the page in a known, limited way, so it earns a cached
copy of its own.
Not cached
The parameter can change the page in ways that cannot be cached safely. Every
request renders fresh.
Ignored parameters
Any parameter Fluid does not recognize is ignored. Marketing tags are the common case:/home/shop.
Visitor tracking is unaffected. Attribution is reported from the browser with the
URL the visitor actually has, so campaign tags still reach your analytics.
Check a parameter your theme reads
If your Liquid reads a parameter — throughrequest.query_parameters or
params — check whether it reaches your template. Request the URL and read one
header:
If you land in the third row and your template needs the value, move the logic
to your front-end code, which still sees the parameter in the browser URL.
Parameters cached separately
Each distinct value gets its own cached copy of the page.
A filtered grid is cached per combination, so the first visitor to a facet waits
for a render and everyone after them does not:
The shop filter parameters are cached only on
/shop, and filterrific[sorted_by]
only on /shop and /join. On any other page they do not change the product
grid, so Fluid does not cache them there — those requests render fresh instead.count, page, and per_page are cached everywhere, because a paginated
section can appear on any template.Parameters that are not cached
These reach the origin on every request, and nothing is written to the cache.
Any
filterrific filter not in the cached table is also uncached.
Check what a URL does
Every storefront response carries a header naming the outcome:MISS and then HIT. A URL
that answers SKIP both times is never cached.
Writing links that stay cached
- Prefer a path over a parameter.
/home/categories/serumsis cached; a filter parameter that reproduces it is cached separately. - Keep marketing tags. They cost nothing — they are ignored and the visitor gets the cached page.
- Put your own state in a parameter only when your front-end code reads it. Liquid will not see it.
- Keep language and country out of storefront links.