Webflow limits you to one nested Collection List per page and restricts the number of items to 5 for nested lists. To bypass this limitation, you can load richer data using a lightweight jQuery script, pulling items from hidden collections or external sources.
1. Use Webflow’s CMS and Hidden Collection Lists
- Add hidden Collection Lists elsewhere on the same page (or use
display: none until needed). - Filter and name these collections accordingly, so jQuery can target them when needed.
2. Output Full CMS Data in Hidden Containers
- Add a Collection List with a limit of 100 (maximum allowed on full lists).
- Include all dynamic fields inside hidden
<div>s or data attributes (data-title, data-category, etc.). - This pre-loads CMS content into the page without displaying it visually.
3. Create Your Target Display Containers
- Place empty containers (or a basic Collection List as a placeholder) where nested items should appear.
- Give each placeholder a unique selector or
data-id to link it with the hidden CMS data.
4. Use Lightweight jQuery to Inject Nested Items
- Use a minimal jQuery script (loaded via Webflow’s Page Settings > Before </body>) to:
- Select the correct hidden data items based on the parent Collection context.
- Append the relevant nested items dynamically using
.append() or .html().
Example approach:
- Loop through visible Collection items (e.g., blog posts).
- For each item, find the matching hidden items (e.g., related tags or sub-categories).
- Inject these into the parent using
$(this).find('.nested-container').append(...).
Avoid performance issues by:
- Loading jQuery from CDN only if not already included.
- Minimizing DOM queries by caching selectors.
- Using
data-* attributes instead of inner text lookups. - Lazy loading images (use
loading="lazy") inside injected HTML.
5. Example jQuery Snippet (Inline Concept Only)
Mentioned inline here for reference—not actual code block:
- Use something like:
$(".parent-item").each(function(){ var id = $(this).data("id"); var nested = $(".hidden-items .nested[data-parent='"+id+"']"); $(this).find(".nested-container").append(nested.clone()); });
- This ensures each parent displays only its related nested items dynamically.
6. Optional: Use JSON Embed Instead of Hidden List
For larger datasets:
- Export CMS content as JSON (via Airtable, Make.com, etc.).
- Host it externally (e.g., on GitHub or a lightweight API endpoint).
- Use jQuery’s
$.getJSON() to fetch and inject structured data based on matching parent IDs.
This method avoids loading all data on page load and scales better with thousands of entries.
Summary
To bypass Webflow’s nested collection limit:
- Pre-load full CMS data into hidden containers or fetch with JSON.
- Use jQuery to dynamically inject nested CMS content based on parent ID or filter.
- Avoid performance issues by limiting DOM queries, using
loading="lazy", and only loading required data for visible parents.