Tags:
- Action Required
- Themes
Bare query strings no longer bust the cache for assets
Action required
We're enhancing Shopify's asset caching to improve load times. As part of this update, we are modifying the URL query parameters recognized for cache busting.
Effective March 24, 2026, bare query strings (a ? followed by a value with no key) will not refresh cached assets. Previously, these strings appeared to refresh assets because altering the URL could bypass the cache; this incidental behavior will be discontinued.
If your asset URLs are generated with Liquid filters (such as ), you’re already compatible—no changes are necessary.
What’s changing
Referencing assets (e.g., images, fonts) with a URL containing a bare query string will no longer refresh the cached asset when the value is updated.
For example:
image.png?123
The same applies within CSS:
background-image: url('image.png?123');
What to do
Use the appropriate Liquid filter to generate URLs (e.g., , ). Shopify handles versioning and updates the URL automatically whenever the asset changes.
In templates:
{{ 'image.png' | asset_url }}
This outputs a URL with a version parameter:
image.png?v=1384022871
In CSS, use a .css.liquid file to incorporate Liquid:
background-image: url('{{ "image.png" | asset_url }}');
Why this matters
Continuing to use bare query strings may result in stale assets being served until the cache expires. Using Liquid filters ensures that the correct, current version of each asset is delivered, enhancing performance by enabling more effective CDN and browser caching.
Learn more
- asset_url filter
- file_url filter
- CSS syntax to ensure automatic updates