Pagination Logic with CMS Filters
Yes, the Webflow pagination element dynamically updates the total page count based on the results of the active CMS filter. The pagination logic calculates the total number of pages using only the subset of items that meet the filter criteria, rather than the entire collection.
Behavioral Analysis
When a CMS filter is applied to a Collection List, Webflow processes the filter on the server side before rendering the list and its associated pagination. This ensures that if a collection of 1,000 items is filtered down to 20 items, the pagination will reflect only the pages necessary to display those 20 items (based on your "Items per page" setting), rather than providing empty pages for the remaining 980 items.
Bounding Queries to Specific Subsets
To maintain independent pagination for a specific subset of data, you must use separate Collection List elements. Because pagination is bound to the specific Collection List instance, you cannot have one pagination element control multiple different filtered lists on a single page.
- Method: Create multiple Collection List elements on the page.
- Configuration: Apply a unique CMS filter to each list.
- Result: Each list will generate its own independent pagination set based on its specific filtered result set.
Critical Constraint: The 'Max Items' Setting
It is important to distinguish between CMS Filters and the Max Items setting. The "Max Items" setting acts as a hard ceiling for the entire query. If your total collection has 500 items but "Max Items" is set to 100, the pagination will only ever account for a maximum of 100 items, even if your filter would have otherwise returned 200.
Verification Steps
To verify this behavior in your specific project environment:
- Create a collection with a known quantity of items (e.g., 50 items).
- Set the Collection List to display 10 items per page.
- Apply a filter that you know only 15 items satisfy.
- Confirm that the pagination now shows 2 pages instead of 5.
Diagnostic Detail Required: Are you using native Webflow CMS filters, or are you using a third-party filtering library (such as Finsweet Attributes)? Third-party libraries often handle pagination via JavaScript on the client side, which differs significantly from native server-side behavior.