Webflow does not natively support dynamic filtering of page content based on URL query parameters without using JavaScript or server-side scripting.
However, here’s a breakdown of what is possible and not possible within the native capabilities.
1. What Webflow Supports Natively
- Collection Pages (CMS Templates): Webflow allows creating unique pages for each CMS item using Collection Pages. These are automatically generated at URLs like
/collection/item-name, and content is dynamically loaded based on the CMS item. - Filtered CMS Lists on Static Pages: You can apply static filters (e.g., show only items where “Category = X”) but not dynamic filters based on URL parameters.
2. What Webflow Doesn’t Support Natively
- Dynamic Filtering via Query String: Webflow cannot parse query parameters (like
?category=dogs) to change page content on the fly without JavaScript. - Server-Side Logic: Webflow is a static hosting platform and does not offer server-side scripting or dynamic routing beyond what’s offered through CMS collection URLs.
3. Workaround Options (All Require JavaScript)
- Use JavaScript query parsing +
display: none/display: block rules to show/hide elements based on the URL. - Combine a CMS List with Isotope.js or MixitUp.js to enable client-side filtering using values pulled from query strings.
4. Alternative Native Approaches
- Use CMS Collection Pages instead of static pages if dynamic behavior is essential. Let Webflow auto-generate a page per item.
- Consider using multi-reference fields or collection lists within CMS templates to display related items dynamically.
Summary
You cannot dynamically show or hide page content in Webflow based on a query parameter without JavaScript or server-side scripting. For dynamic behavior, use CMS Collection Pages or implement JavaScript-based filtering on static pages.