Webflow's CMS limits, and what to do when you hit them
Every Webflow project that goes wrong at scale goes wrong in the same place: something that looked like content turned out to be a database, and nobody checked until the import stopped.
What is in this
There is a question worth asking before any Webflow build with real content behind it, and almost nobody asks it: is this content, or is this a database with a website in front of it?
The answer decides the architecture. Get it right and Webflow's CMS is one of the best things about the platform. Get it wrong and you find out during an import, three weeks in, when the thing you have already designed around stops accepting items.
The limits that actually bind
Most of Webflow's documented limits never come up. Four of them do.
The fifth is the one that ends projects, and it does not have a number I am willing to print: collections and items are capped per site plan, with the caps moving between plans and changing over time. It moves with the plan, it has moved before, and a figure in a blog post is exactly the kind of thing that is quietly wrong a year later. Read it off Webflow's pricing page for the tier you are actually on, and read it before the design is signed off rather than after.
Reference depth is the constraint nobody plans for
Item caps are easy to reason about. The one that surprises people is how deep you can reach.
A collection item can reference another collection. On the page, you can render fields from that referenced item. What you cannot reliably do is go a further hop: reach through a reference, to another reference, and pull a field off the end of it. That is a join, and the CMS is not a relational database.
In practice this means a shape like article → author → author's employer → employer's logo does not resolve the way your data model says it should. The fix is almost always denormalizing: put the field you need on the item that has to render it, and accept that you are storing it twice.
That sounds like a compromise and mostly is not. A marketing site is read far more often than it is written, and denormalized data is the correct trade for that ratio. It only becomes painful when the duplicated field changes often, which is a signal in itself.
Patterns that buy room
Three things reliably buy headroom, in the order I reach for them.
Split the collection by what renders together. A single "Resources" collection holding guides, webinars, case studies and press releases burns item count on things that never appear on the same page. Four collections cost four slots and save thousands of items.
Stop storing what you can derive. Fields that exist only to filter or sort are often computable from fields you already have. Every one you remove is a field you never have to keep correct.
Paginate rather than pre-render. The 100-item render cap is a soft constraint, not a hard one, but designing a page that assumes everything shows at once is how it becomes hard. Decide early.
When to move the data out and keep the pages
Sometimes none of that is enough, and the honest answer is that the data does not belong in Webflow. This is not a failure of the platform; it is the platform being used as a database.
Where the line actually falls
Content
- A few hundred items a person wrote
- Changes when somebody decides it should
- Every item wants its own indexable URL
- Editors need to change it without a developer
A database
- Tens of thousands of rows
- Changes because a system changed it
- Most rows will never be visited directly
- Search and filtering over the whole set
The architecture that works is boring and worth saying out loud: the data lives in the system built for it, and Webflow renders the pages that need to rank. You keep the Designer, the editor workflow and the marketing site. You give up pretending the CMS is a backend.
Where that split lands is the whole conversation on a marketplace or an EdTech site, and it is the thing I would settle before anything gets designed. What Webflow will not do covers the other constraints in the same spirit.
The cost of getting this right is one conversation. The cost of getting it wrong is finding out with a design already approved and an import already failing.
Also worth reading
-
Performance
Getting cited by AI search, for a site with ten pages
llms.txt, structured data and the machine-readable artifacts, and an honest assessment of which of them anything currently reads.
-
Performance
Core Web Vitals, explained for the person who has to fix them
Three metrics, what each actually measures, and which of your problems each one is telling you about. Without the jargon.
-
Platform limits
Custom code in Webflow, and where it belongs
Webflow's code fields have a hard character limit and no version control. What belongs in them, what belongs elsewhere, and how to keep a site maintainable either way.
Reach out and see if we are a good fit.
Currently booking two to four weeks out.