CMS Best Practices

Webflow CMS Best Practices:
The Complete Reference Guide

The conventions, constraints, and architecture patterns that keep a Webflow CMS maintainable at scale. Bookmark this one.

This is a reference guide — the kind of document you bookmark and come back to at the start of each project. It covers the conventions and decisions that separate a Webflow CMS that works at 500 items from one that breaks at 50.

None of this is complicated. Most of it is obvious in retrospect. The problem is that CMS architecture decisions are made early, under time pressure, and they are expensive to reverse. This guide exists to slow you down for thirty minutes at the start so you do not lose thirty hours later.

Plan Before You Build

The cost of changing a Webflow CMS structure increases dramatically after launch. Before launch, changing a field type means deleting the field and recreating it — annoying but manageable. After launch, with hundreds of items and live pages depending on that field, the same change requires data migration, rebinding every element in the Designer, QA across every collection page, and possibly downtime.

Here is the thing nobody tells you until you learn it the hard way: Webflow does not let you change field types. Period. You chose Plain Text when you needed Rich Text? Delete the field, create a new one, migrate every item manually. You used an Option field when you needed a Reference? Same process. This limitation has 138 votes on the Webflow wishlist and has been open for years. Every field type decision you make is permanent.

Before you open the Webflow Designer, answer these questions:

  • What are the distinct content types on this site? Each one is probably a collection.
  • How do they relate to each other? These are your reference fields.
  • What fields does each content type need? Be specific about types — Plain Text vs. Rich Text matters.
  • Who will edit this content? Developers tolerate complexity. Clients do not.
  • Will this site be localized? This affects every field decision you make.

Write this down. A spreadsheet works. An Airtable base is better — and you can later use Trellis to sync it directly to your CMS. The format does not matter. The act of mapping it out before building is what prevents the most common and most expensive mistakes.

Spreadsheet mapping collection fields to types before building in Webflow
A simple planning spreadsheet prevents the most expensive CMS mistakes. Map every field before you touch the Designer.

Collection Architecture: Flat vs. Relational

A flat CMS has one collection per content type with no references between them. A relational CMS uses reference and multi-reference fields to connect collections. The decision between flat and relational is the single most important structural choice you will make.

Flat is simpler but duplicates data. If your blog posts have an "Author Name" plain text field instead of an Author reference, you type "Sarah Chen" into every post she writes. When Sarah gets married and changes her name, you update thirty posts individually. When you want an author page that lists all of Sarah's posts, you cannot build it — there is no relationship to query.

Relational is more work upfront but eliminates duplication. The Author collection has one item for Sarah. Every post references that item. Name change? One edit. Author page? Automatic. The tradeoff is that references add complexity in the Designer and require editors to understand the relationship model.

The blog-with-categories example

A blog with a "Category" option field (Design, Development, Strategy) works fine for five categories that never change. But the moment a content manager wants to add a new category, rename one, or create a category landing page with a description and hero image — you need a Categories collection with a multi-reference from Blog Posts. If you started with an option field, you now face a migration. Start with the reference.

The portfolio-with-services example

A portfolio site where each project lists services rendered (Branding, Web Design, UX Research). If services are just text labels, an option field or comma-separated text works. But agencies almost always want service pages — pages that describe each service and list related projects. That requires a Services collection with a multi-reference from Projects. Again, plan for where the site is going, not where it is today.

When to go flat

  • Small sites with one or two collections and fewer than 50 total items
  • Content types that genuinely have no relationships
  • Prototype or MVP sites that will be rebuilt
  • Static content that will never be filtered, sorted, or cross-referenced

When to go relational

  • Any site with more than two content types
  • When you need to filter or sort by a related entity
  • When the same entity (author, category, service) appears across multiple collections
  • When non-developers will edit content and need dropdown selects instead of free text
Diagram showing flat vs relational CMS collection architecture in Webflow
Flat architecture duplicates data. Relational architecture uses references. The choice determines how painful changes are six months from now.

Field Naming Conventions

Webflow prefers Title Case for display names — "Hero Image", "SEO Meta Description" — and generates kebab-case slugs automatically: hero-image, seo-meta-description. You do not control the slug format, so focus on getting the display name right.

Good field names are self-documenting. Someone opening your Webflow project for the first time should understand what each field contains without clicking into it.

Rules that hold up across projects

  1. Be specific. Hero Image not Image. Card Description not Description. When a collection has three image fields, "Image" tells you nothing.
  2. Prefix related fields. SEO Meta Title, SEO Meta Description, SEO OG Image. This clusters related fields in the editor panel. An editor scanning a list of 30 fields can spot the SEO group instantly.
  3. Mark references explicitly. Author Reference or Categories (Multi-Ref). When someone reads the field list, they should know immediately which fields link to other collections.
  4. Never use special characters. Ampersands, slashes, parentheses in field names can cause issues with API access and data exports. Stick to letters, numbers, and spaces.
  5. Be consistent across collections. If your Blog Posts collection has SEO Meta Title, your Case Studies collection should too — not Meta Title or Page Title (SEO). Consistency matters more than any individual naming choice.

Designing Collections for the Actual Page

A common mistake: designing collections based on what the data "is" instead of how the page works. A "Case Studies" collection with fields for title, body, and client sounds logical. But look at the actual design.

The case study detail page needs: a hero image (full-width, high resolution), a body (rich text with embedded images), an outcomes section (structured — maybe a list of metrics with before/after numbers), client info (name, logo, industry, URL), a testimonial quote, and related case studies (multi-reference).

The card grid on the homepage needs: a thumbnail (different dimensions than the hero image), a title, a one-line excerpt, and a category label.

Those are two different views of the same data, and they need different fields. The hero image and thumbnail are not the same image — one is 16:9, the other is 4:3 or square. The body and the excerpt are not the same content — one is rich text, the other is a plain text summary. Design backwards from the layout, not forwards from the data model.

Case study detail page layout mapped to CMS fields
Map every dynamic element on the page to a CMS field. The design dictates the schema, not the other way around.

The 60-Field Limit as a Design Constraint

Sixty fields per collection. Six are system fields (Name, Slug, Created On, Updated On, Published On, Archived). That leaves you 54.

Use the 60-field limit as a forcing function, not a frustration. If you are past 40 fields, something is wrong. Your collection is probably trying to model an entire page layout — hero section, three content blocks, testimonial section, CTA, sidebar widgets — and each section eats 5-8 fields. That is a sign that the collection is doing the work of two collections.

Split by access pattern, not by data type. Do not create an "Images" collection and a "Text Content" collection. Instead, split by how the data is used: a core "Landing Pages" collection (title, slug, SEO fields, status) and a "Page Sections" collection (section type, heading, body, image, CTA) connected via multi-reference. The core collection stays lean. Sections are reusable across pages.

The cost of splitting is real: more complexity in the Designer, nested collection lists, conditional visibility rules. But the cost of not splitting is worse — an editing experience so bloated that content managers avoid using it.

When to Split One Collection Into Two

Three clear signals that a collection should be two collections:

  1. Fields that only apply to some items. Your "Posts" collection has "Event Date", "Event Location", and "Event Registration Link" fields — but only 20% of posts are events. Those three fields are blank on 80% of items. That is an Events collection waiting to be extracted.
  2. Different page templates needed. If blog posts and case studies share a collection because "they are both content," but their detail pages look completely different, you are fighting the CMS instead of using it. Each collection gets one collection page template. Two designs means two collections.
  3. Approaching the field limit. If you are at 45 fields and the client just asked for three more, do not squeeze. Split now, while the collection is still manageable. Splitting a 55-field collection with 300 items is a full day of work. Splitting a 45-field collection with 50 items takes an hour.

Multi-Locale CMS Planning

Webflow's localization feature adds translated versions of fields per locale. This sounds simple until you do the math.

A 30-field collection with 3 locales is effectively 90 fields of editorial work per item. Every localizable text field — title, body, excerpt, meta title, meta description, alt text — needs a translated version for every locale. Your content team is not filling in 30 fields per item. They are filling in 30 fields times 3 locales.

Plan for this from day one:

  • Decide which fields are localizable at setup time. You can toggle this later, but changing localization settings after content exists gets messy.
  • Not everything needs localization. Reference fields, number fields (sort order, prices in a single currency), switch fields (featured flags), and image fields (unless images contain text) should usually stay locale-independent.
  • Keep localized collections lean. If a collection will be localized, that is a reason to be even more aggressive about field count. Every unnecessary field multiplies by the number of locales.
  • Slug localization matters for SEO. Decide early whether localized pages use translated slugs (/fr/services/conception-web) or shared slugs (/fr/services/web-design). This affects URL structure site-wide and is painful to change later.
Locale field multiplication diagram showing how 30 fields become 90 with 3 locales
Localization multiplies editorial workload. A 30-field collection with 3 locales means 90 fields of content per item.

Building for Content Editors, Not Developers

The person who builds the CMS is rarely the person who uses it daily. Developers tolerate complexity — they built it, they understand the logic. Content editors — the marketing manager, the client, the intern — need clarity. They do not know why there are two image fields or what "Multi-Ref" means. They just want to update the blog without breaking anything.

Practical steps that take minutes during setup and save hours during editing:

  • Use help text on every field. Webflow lets you add a description to each field. Use it. "The short description shown on listing pages. Keep under 120 characters." or "Square image, minimum 800x800px. Used on the team grid." This takes thirty seconds per field and eliminates the guessing that leads to broken layouts.
  • Order fields by editorial workflow. The most-edited fields (title, body, featured image) go at the top. SEO fields and technical fields go at the bottom. Webflow lets you reorder fields — most people never touch this setting.
  • Mark required fields. If a field must be filled for the page to render correctly, mark it required. This prevents half-finished items from going live with broken layouts.
  • Set sensible defaults. Switch fields should default to the most common state. Date fields should default to today. Option fields should have a reasonable first option. Defaults reduce cognitive load.
  • Limit option field choices. An option field with 30 choices is a dropdown nobody wants to scroll through. If you have more than 8-10 options, consider a separate collection with a reference field — the editing experience is better and you get collection pages for free.

Backup and Change Management

Webflow has no version control for CMS content. There is no "undo" for a bulk delete. No diff view showing what changed between Tuesday and Friday. No staging environment for CMS content — staging sites display the same CMS data as production. This is not ideal. But it is the reality, and you need to work around it.

  • Export regularly. CSV exports are your backup. Schedule them weekly or before any major content operation. Store them somewhere version-controlled — Git, Google Drive with version history, Airtable.
  • Sync to Airtable as a backup layer. If your CMS is synced to Airtable, Airtable becomes a second source of truth with its own revision history. Not a replacement for exports, but an additional safety net.
  • Document your schema. When you add, remove, or rename a field, note it somewhere. A simple changelog prevents the "why does this field exist and who added it" conversation three months later.
  • Version your structure decisions. Take a screenshot of your collection schema after major changes. Or run a Trellis audit — it captures your CMS structure at a point in time and tells you what shifted.
  • Test bulk operations on a duplicate site. Before running a large import or sync, clone the Webflow site, run the operation on the clone, verify results, then run on production. Fifteen minutes of caution prevents hours of recovery.
Trellis audit report showing CMS structure snapshot with field types and naming issues
A Trellis audit captures your CMS structure and flags issues before they compound.

Putting It Together

Every decision in this guide is cheap at the start and expensive later. Field types are permanent. Collection splits get harder with more data. Naming conventions are easiest to establish before anyone has built muscle memory around the wrong names.

The pattern for doing this well is simple: plan the schema on paper first, build it with consistent conventions, audit it before launch, and document it for the people who will maintain it after you.

If you want to go deeper on collection setup specifically, read the complete guide to Webflow CMS collection setup. If you want to see how Trellis fits into this workflow, here is how it works. And if you want to see how Trellis compares to doing this manually or with other tools, see the comparisons.

Early access

Get your CMS architecture right

Trellis audits your Webflow CMS and tells you exactly what to fix. No guessing, no second opinions needed.

Run a free audit

No credit card. No Webflow connection required to explore.