webflowtutorialwebflow cmsblogcms collections

How to Build a Blog in Webflow: A 2026 CMS Collections Guide

Flowversity··17 min read

A Webflow blog is not a plugin you switch on. It is a CMS Collection that stores your posts, a Collection Template page that designs every post, and a blog index page that lists them. Build those three pieces once and publishing a new post becomes a matter of filling in fields, not touching the layout.

This guide walks how to build a blog in Webflow step by step, using the full sequence we run on our own builds: define the Collection schema, design the post and index pages, wire relational categories and authors, add filtering and pagination, then ship Article schema and per-post SEO. The CMS work assumes a site on the Premium Site plan (or higher), because the Basic plan does not include CMS at all; see our Webflow pricing updates for 2026 for the current plan limits. If you want the fastest path instead of a from-scratch build, many templates in our templates catalog ship with a blog Collection already wired, and we note where that saves time below.

Key Takeaways

  • A Webflow blog needs three parts: a Blog Posts Collection, a post Collection Template page, and a blog index page with a Collection List.
  • Each Collection field you define (excerpt, cover image, author, category) becomes a token you can bind on the template and index pages, so design once, reuse everywhere.
  • Categories and authors are separate Collections linked with Reference and Multi-reference fields, which is what lets you filter by topic and render author bios.
  • A single Collection List renders up to 100 items; use built-in pagination or Finsweet Attributes and Jetboost for search and live filtering.
  • Add Article schema through an Embed bound to CMS fields on the post template, and set per-post SEO from Collection fields. Validate before you publish.
  • If you start from a template with a blog Collection, skip to Step 6 and focus on content; the structure is the part that takes time.

What You Need Before You Start

  • A Webflow site on a plan that includes CMS. The Premium Site plan ($25/month billed annually or $39/month billed monthly) includes 40 Collections and 20,000 CMS items; the Basic plan has no CMS.
  • Designer access to the project, plus Editor access if non-designers will write posts.
  • A rough content model: the fields each post needs (title, summary, cover image, body, author, category) and whether you want tags, reading time, or related posts.
  • 3 to 5 real sample posts to test with. Placeholder copy hides layout problems that real content exposes.
  • Time: 3 to 6 hours for a clean build, faster if you start from a template that already has a blog Collection.
  • Difficulty: Intermediate. You should be comfortable in the Designer, the Navigator, and the CMS panel.

What You Will Have When You Finish

A blog where every new post is a CMS item: you fill in fields, the post template renders the layout, the index page lists it automatically, categories and authors link relationally, schema and SEO generate from fields, and the whole thing paginates and filters without custom code.

Step 1: Create the Blog Posts Collection and Define Fields

The Collection is the database for your blog. Every field you add here becomes a building block you can place on the post template and the index page, so define the schema before you design anything.

  1. In the Designer, open CMS and choose Create new Collection. Name it Blog Posts. Webflow auto-generates the URL slug (/blog-posts) and a Collection Template page.
  2. Keep the default fields: Name (title), Slug, Created on, Updated on, and Author (which points to the built-in Authors list).
  3. Add the fields your design needs. A reliable starter set:
  • Post Body (Rich Text) for the article itself.
  • Excerpt (Plain Text, 150 to 160 characters) for index cards and meta descriptions.
  • Cover Image (Image Ref) for the post hero and the index card thumbnail.
  • Category (Multi-reference to a Blog Categories Collection; build in Step 4) for filtering.
  • Published On (Date) for chronological sorting.
  • Featured (Switch) if you want to highlight certain posts on the index.
  • SEO Title and Meta Description (Plain Text) for per-post search metadata.
  1. Mark the fields a post cannot publish without as Required (Cover Image, Excerpt, Post Body, Published On). Required fields keep half-finished posts out of production.
  2. Save the Collection.

Verify: Open the Collection settings and confirm every field a complete post needs exists, with the right type (Rich Text for body, Image Ref for cover, Multi-reference for categories).

Design the schema before the layout. Adding a field later means revisiting both the template and the index page to bind it. A 10-minute schema plan saves hours of rework. For a fuller platform overview, see our complete Webflow platform guide. Once the fields exist, use this Webflow AEO page-structure workflow to turn them into clear summaries, questions, and related links.

Step 2: Design the Blog Post Template Page

Every Collection comes with a Collection Template page, which is the layout Webflow uses for each individual post. Design this once and every post inherits it.

  1. In Pages, open the Blog Posts (CMS) template page. It sits under your static pages with a CMS badge.
  2. Build the single-post layout: a hero with the Cover Image, an H1 bound to Name, a meta row bound to Published On and the Author reference, then the Post Body Rich Text element.
  3. To bind a field, select an element on the canvas and use the purple Field dropdown in the settings panel, or click a CMS field in the right panel to drop it in. Use the field picker rather than typing tokens by hand.
  4. Add a Related Posts Collection List at the bottom, filtered to the same category and excluding the current post, limited to 3 items.
  5. Set the page URL to use the Slug field (it does by default), and set the page title to the Name field.

Verify: With a sample CMS item selected in the top bar, the template renders that post's real title, image, and body, not the Webflow placeholder.

A note on rich text styling: The Post Body is a Rich Text field, so headings, lists, and links inside posts are styled by the Rich Text element's style settings, not by classes on individual elements. Open the Rich Text element settings and define H2, H3, paragraph, and link styles there once. This is why two posts with identical field data can look different if the Rich Text styles drift.

Step 3: Build the Blog Index Page With a Collection List

The index page lists your posts. It is a normal static page (/blog) with a Collection List bound to Blog Posts.

  1. Create a static page named Blog with the slug blog.
  2. Drag a Collection List element onto the page and connect it to Blog Posts.
  3. In the list settings, sort by Published On descending so the newest post appears first.
  4. Design one list item as your card: Cover Image, Name as a linked H3, Excerpt, and the Category badges. Link the whole card (or its title) to the post template using the current item's link.
  5. Limit the list to the number of cards you want per page (for example, 9 or 12) and turn on Pagination if you have more posts than one page of cards.

Verify: The index shows your sample posts as cards, newest first, each linking to its own post page.

The 100-item limit: A single Collection List renders up to 100 items. That is plenty for a launch blog, but once you pass it you need pagination (built in) or a no-code library for load-more and live search, covered in Step 5.

Step 4: Add Categories and Authors With Reference Fields

Categories and authors are what turn a flat post list into a navigable blog. Build them as their own Collections and link them with Reference fields.

  1. Create a Blog Categories Collection with fields for Name, Slug, and a Description (Plain Text). Add 4 to 6 real categories.
  2. Create an Authors Collection (or use Webflow's built-in Authors) with Name, Photo (Image Ref), Bio (Rich Text or Plain Text), and social links.
  3. Back in Blog Posts, add a Category field as a Multi-reference pointing to Blog Categories, so a post can carry more than one category. Set Author as a single Reference to Authors.
  4. On the Category template page, add a Collection List of Blog Posts filtered where Category equals the current category. Do the same on the Author template page, filtered by Author.
  5. On the post template, bind the author photo, name (linked to the author page), and the category badges (linked to category pages).

Verify: Clicking a category badge on a post takes you to a page listing every post in that category; clicking an author name shows their bio and posts.

Why relational matters. Reference and Multi-reference fields (up to 20 multi-references per collection) are the difference between a blog you maintain and one that maintains itself. Change an author's photo once in the Authors Collection and every post by them updates. This relational structure is a genuine Webflow strength over simpler CMS setups; we compare it directly in Webflow vs Framer.

Step 5: Add Filtering, Search, and Pagination

A long blog needs more than chronological cards. Webflow's built-in Collection List handles sort and basic pagination, but live search and category filtering without page reloads need a no-code library.

NeedToolNotes
Sort newest-first, limit itemsCollection List settingsBuilt into Webflow, no code
Page through more than one screen of postsCollection List paginationBuilt in, sets items per page
Search posts by keywordJetboost or Finsweet AttributesNo-code, real-time, no reload
Filter by category, tag, or author on the indexFinsweet Attributes (cmsfilter) or JetboostAdd filter controls and bind them to the list
Load more without pagination buttonsFinsweet Attributes (cmsload) or JetboostReplaces page-style pagination with a button
  1. Install Finsweet Attributes via their script in Project Settings, or connect Jetboost to your site (both work without writing code).
  2. Add filter controls (category buttons or a search input) above your Collection List and tag them with the attribute the library expects.
  3. Tag the Collection List and its items with the matching data attributes so the library knows what to filter.
  4. Test each control: clicking a category should narrow the list, and clearing it should restore all posts.

Verify: Filtering and search update the list instantly without a full page reload, on both desktop and mobile.

For a broader look at where these tools fit in a Webflow stack, see our Webflow integrations guide.

Step 6: Write and Publish Your First Posts

With the structure built, publishing is a content task, not a design task. Use the Editor for day-to-day writing and keep collection schema changes in the Designer.

  1. Open the Editor (append /editor to your site URL, or open it from the Dashboard) and choose Blog Posts, then Create new.
  2. Fill the required fields: title, slug, excerpt, cover image, body, category, author, and published date. Paste the body as Rich Text so headings and links come through.
  3. Set the SEO Title and Meta Description fields for the post if you added them; otherwise Webflow generates defaults from the title and excerpt.
  4. Set the post to Draft or Publish. Drafts let you preview without going live.
  5. Publish 3 to 5 real posts before launch so every list, filter, and related-posts block has content to render.

Verify: A published post appears on the index, on its category page, and on its author page, with the cover image, excerpt, and body all rendering correctly.

Fill content in the Editor, design in the Designer. The Editor is built for writers and clients; it prevents accidental layout changes. Reserve the Designer for structural edits. This is the same split we use when customizing templates; see how to customize a Webflow template for the broader workflow.

Step 7: Add Article Schema and Per-Post SEO

A blog earns search traffic when each post is machine-readable as an article. Add Article schema bound to CMS fields, and set per-post metadata from Collection fields.

  1. On the Blog Posts Collection Template, drag an Embed element onto the canvas and paste an Article JSON-LD block.
  2. Bind the schema fields to CMS values using Webflow's Add Field picker inside the Embed: headline to Name, datePublished to Published On, image to Cover Image, author to the Author reference, and description to Excerpt.
  3. In the template page settings, set the meta title and description to the SEO Title and Meta Description fields (or Name and Excerpt), so each post generates its own search snippet.
  4. Paste static Organization and Website schema into Page Settings > Custom Code for the site-wide blocks.
  5. Validate the live post in Google's Rich Results Test and the Schema Markup Validator before you call it done.

Verify: The Rich Results Test shows a valid Article type with no errors, and the headline, image, and author resolve to real values from the CMS item.

Schema must live in an Embed on the Collection Template, not in Page Settings Custom Code, because the {{wf}} tokens that bind CMS fields only resolve inside an Embed. The full method, with copy-paste Article, Breadcrumb, and Organization blocks, is in our schema markup in Webflow guide.

Step 8: Test, Optimize, and Publish

A blog that works on the Editor and breaks on mobile is not done. Run a responsive and performance pass before launch.

  1. Walk the index, one full post, a category page, and an author page at desktop, tablet, and phone widths. Watch for image overflow, untappable cards, and broken grid alignment.
  2. Check that cover images have descriptive alt text (set in the Image Ref field) and that heading hierarchy is H1 on the post, H2 and H3 inside the body, never skipping levels.
  3. Set up 301 redirects if you are migrating an existing blog, mapping old post URLs to the new Webflow slugs. Webflow auto-generates the XML sitemap, including CMS items.
  4. Confirm Core Web Vitals are healthy. Webflow serves server-rendered HTML, which is a strong starting position for search; see what actually moves rankings in our Webflow SEO and AEO guide.
  5. Create a backup named Pre-launch blog from Site settings, then publish.

Verify: No horizontal scroll on core pages, every image has alt text, the Rich Results Test passes, and the sitemap lists your posts.

Common Mistakes to Avoid

1. Designing before you define the schema. If you build the layout first and add fields later, you rebind elements twice. Define every Collection field in Step 1, then design against it.

2. Putting schema in Page Settings Custom Code. CMS-bound {{wf}} tokens only resolve inside an Embed on the Collection Template. Pasting them into Custom Code renders them as literal text, which is the single most common Webflow schema mistake.

3. Relying on the Basic plan for a blog. The Basic Site plan has no CMS. A blog needs the Premium plan or higher. Budget for it before you build, or your publish step will block on an upgrade. Current limits are in our pricing guide.

4. Testing with placeholder copy. Real content exposes problems that Lorem Ipsum hides: long titles that wrap, missing optional fields, and excerpts that exceed card height. Always test with 3 to 5 real posts.

5. Skipping the 100-item Collection List limit. If you expect a large archive, plan pagination and filtering in Step 5 before launch, not after the index stops showing your newest posts.

What Success Looks Like

A working Webflow blog lets a non-designer publish a complete, well-formatted, SEO-ready post from the Editor alone. The index updates automatically, categories and authors link relationally, schema validates, and the layout holds on mobile. The reliable sign of success: you can hand the Editor login to a writer and they can ship a post without opening the Designer.

Frequently Asked Questions

Do I need a paid plan to build a blog in Webflow?

Yes, for anything live. The CMS requires a plan that includes it; the Basic Site plan does not. The Premium Site plan ($25/month billed annually or $39/month billed monthly) includes 40 Collections and 20,000 CMS items, which covers most blogs. See our Webflow pricing updates for the full breakdown.

Can I build a blog without coding?

Yes. Collections, Collection Template pages, Collection Lists, relational references, pagination, Finsweet Attributes, and Jetboost all work without custom code. The only place code appears is the Article schema JSON-LD, and that is copy-paste plus field binding, not programming.

How many posts can a Webflow blog hold?

Up to your plan's CMS item limit. The Premium Site plan allows 20,000 CMS items, which is far more than most blogs need. The tighter constraint is display: a single Collection List renders up to 100 items, so use pagination or a no-code filter library to surface older posts.

Should I build a blog from scratch or start from a template?

Start from a template if your goal is speed and a polished design. Many premium templates ship with a blog Collection already wired, with fields, a post template, and an index built in; you skip Steps 1 through 3 and go straight to content. Building from scratch makes sense when you need a custom content model the templates do not cover. Compare options in our best Webflow templates roundup.

How do categories and authors work in Webflow CMS?

They are separate Collections linked to Blog Posts through Reference fields. A post's Author is a single Reference to an Authors Collection; categories are a Multi-reference to a Blog Categories Collection (up to 20 multi-references per collection). Because the relationship is relational, updating an author's photo or a category's name updates every post that references it.

How do I migrate an existing blog into Webflow?

There is no one-click importer for most platforms. You recreate the design and CMS structure in Webflow, then import post content as a CSV into the Blog Posts Collection (Webflow supports CSV import for Collection items). Map old URLs to new slugs with 301 redirects. Treat it as a rebuild, not a migration tool run.

Conclusion

Building a blog in Webflow comes down to three structural pieces, a Blog Posts Collection, a post Collection Template, and a blog index, plus the relational and SEO layers that make it scale: categories and authors via Reference fields, filtering and pagination via Finsweet or Jetboost, and Article schema bound to CMS fields in an Embed. Define the schema first, design against it, then move publishing into the Editor.

If you would rather start 90 percent of the way there, browse Webflow templates that ship with a blog Collection already built, or read our complete guide to Webflow templates for the full buying framework. Once your blog is live, the natural next step is on-page SEO and structured data, covered in Webflow SEO and AEO and our schema markup guide.

Want to skip the build?

Launch with a premium template in days, not weeks

Browse 70+ production-ready templates or grab the All Access Pass and get every template, now and in the future.