How to Import WordPress Posts into the Webflow CMS, Step by Step

When you import WordPress posts into the Webflow CMS, the design is the easy part. The hard part is the data: years of posts written in different editors, with shortcodes, page-builder markup, odd image sizes and categories that nobody tidied. This guide walks through the import in the order we do it ourselves. It is one part of our wider WordPress to Webflow migration guide, which covers the whole move.

The short version: plan the fields, export, clean, import the small collections first, import the posts, then check everything against the original.

What a CSV import can and cannot do

Webflow imports CMS content from CSV files. Each row becomes a CMS item and each column maps to a field in the collection. That is simple and reliable, but it means two things. First, the data has to be shaped to fit your collection before it goes in. Second, anything that is not a column, such as a plugin feature or a page-builder layout, does not come across on its own.

There are also third-party apps and scripts that push content through the Webflow API. They help on big archives, but they follow the same rules: the fields must exist first, and the content must be clean.

Step 1: Plan the collection fields

Before exporting anything, decide what a blog post looks like in Webflow. Open a few typical posts on your WordPress site and list every piece of information you want to keep. Then create matching fields in a Webflow collection. Here is the mapping we use as a starting point.

WordPress fieldWebflow field typeNotes
Post titlePlain text (the Name field)Every collection has this by default
SlugSlugCopy it exactly so URLs stay the same
Post contentRich textClean the HTML before import
Featured imageImageImport from a public image URL
Featured image alt textPlain textBind it as the image alt on the template
ExcerptPlain textUseful for cards and as a meta fallback
Publish dateDate/timeKeep the original date, not the import date
AuthorReference to an Authors collectionImport authors first
CategoryReference or multi-reference to CategoriesImport categories first
TagsMulti-reference to a Tags collectionOr drop them if they were never used well
SEO titlePlain textCopied from Yoast or Rank Math
Meta descriptionPlain textCopied from Yoast or Rank Math

Keep the field list lean. Every extra field is one more column to clean and one more thing an editor has to fill in later. If a field was only used on three posts, consider leaving it behind.

Step 2: Export from WordPress

There are three common ways to get posts out of WordPress. Each one works, and the right one depends on how comfortable you are with data.

  • The built-in export: Tools, then Export, gives you an XML file with posts, categories and authors. It is complete, but XML needs converting to CSV before Webflow will take it.
  • An export plugin: a tool such as WP All Export lets you pick the exact fields, including SEO plugin values and featured image URLs, and save straight to CSV. For most sites this is the most practical route.
  • The REST API: WordPress exposes posts as JSON. A developer can pull every post with a short script and build the CSV exactly as needed. This is good for large or messy archives.

Whichever route you take, export the SEO title and meta description from your SEO plugin as separate columns. They are stored apart from the post itself and are easy to forget.

Step 3: Clean shortcodes and page-builder markup

This is the step that decides whether your imported blog looks professional or broken. WordPress post content often contains things that only make sense inside WordPress:

  • Shortcodes such as gallery, caption or button codes in square brackets. In Webflow they show up as literal text.
  • Page-builder wrappers from Elementor, Divi or WPBakery, which add layers of nested divs and classes.
  • Inline styles like custom colours and font sizes pasted from Word or Google Docs.
  • Empty paragraphs and line breaks used as spacing.
  • Embedded scripts and old ad or tracking code.
  • Internal links that point to old URL patterns or to the old domain.

Strip the content down to simple HTML: headings, paragraphs, lists, links, images and the occasional quote. A find and replace pass in a spreadsheet handles common patterns. For bigger archives, a small cleaning script is faster and more consistent than hand editing.

Step 4: Handle images properly

For image fields, Webflow fetches each image from the URL in your CSV during the import. That means the old WordPress site must stay online and publicly reachable until the import is finished and checked.

Images inside the post body need extra care. After a test import, open a few posts and check where the inline images now load from. Anything still pointing at the old server will break the day that server is switched off. If you see that, those images need moving into Webflow's assets and the links updating before launch.

While you are at it, check the image sizes. Very large originals slow pages down, so resize oversized files before import where you can.

Step 5: Import categories and authors first

Reference fields only work if the items they point to already exist. So the order matters:

  1. Create and import the Categories collection.
  2. Create and import the Authors collection.
  3. Create the Tags collection if you are keeping tags.
  4. Only then import the posts, with their category, author and tag columns mapped to the reference fields.

Make the names in the post CSV match the names in the referenced collections exactly. A stray space or different capital letter is enough for a reference to come through empty.

Step 6: Import WordPress posts into the Webflow CMS

In the Webflow designer, open the collection and choose to import a CSV. Webflow shows each column and asks which field it belongs to. Map them carefully, and leave unmatched columns out rather than forcing them into the wrong field.

Start with ten posts. Import them as drafts, open each one on the CMS template, and look at the formatting, the images, the date and the references. Fix the source CSV, not the items in Webflow, then run the full import.

Keep slugs identical

If your WordPress post lived at a slug, keep that exact slug in Webflow. Even when the folder in front of it changes, an identical slug makes redirects simpler and lowers risk. Resist the temptation to tidy old slugs during the import. Tidying is a separate job with its own redirects. How the folder part of the URL changes is covered in WordPress to Webflow SEO migration.

Step 7: Check after the import

Do not trust the import screen alone. Check these before you call it done:

  • The number of items in Webflow matches the number of published posts in WordPress.
  • A sample of posts, old and new, displays correctly on the template.
  • Dates match the original publish dates.
  • Every post has a category and author where one existed before.
  • No shortcodes or stray markup appear in the body.
  • Featured images load and have alt text.
  • SEO titles and meta descriptions came across into their fields.

CMS limits to check on your plan

Webflow plans limit the number of CMS items, collections and fields, and the limits change over time. Check the current limits on your plan against your post count, plus your categories, authors and tags, since those are CMS items too. Leave room for future posts, not just today's archive.

Doing it yourself or handing it over

A blog of a few dozen clean posts is a reasonable weekend project if you are patient. Hundreds of posts written across several page builders is where the cleaning step eats days. Our WordPress to Webflow migration service handles the export, cleaning, import and checks as part of the move, and if you already have a new design in Figma, Figma to Webflow builds the templates the posts will sit in. Once the posts are live, a basic SEO setup makes sure the SEO fields are wired to every template.

If plugins are part of your blog, such as related posts or social sharing, read how to replace WordPress plugins in Webflow next.

Frequently asked questions

Can Webflow import a WordPress XML file directly?

The standard Webflow import works with CSV, so an XML export needs converting first. Many people skip that step by exporting straight to CSV with an export plugin.

Will my post URLs stay the same?

The slug can stay the same, but the folder in front of it usually changes, because Webflow places every CMS item under its collection path. Redirects cover the difference.

Do comments come across?

Webflow has no built-in comment system, so old comments are usually left behind or moved into a third-party comment tool. Decide this before you start.

What happens to images inside my posts?

Check them after a test import. Any image still loading from the old WordPress server must be moved before that server goes offline.

How long does a blog import take?

The import itself is quick. Most of the time goes into planning fields, cleaning old markup and checking the results afterwards.