JournalSEO & AI search

A WordPress to Webflow migration plan

How to move a marketing site from WordPress to Webflow without losing content or links: seven steps, what won’t transfer, and lessons from real moves.

Written by
Matthew Bishop
Published
Reading time
8 minutes

A WordPress to Webflow migration is four jobs: mapping your content into Webflow’s CMS, deciding what happens to every URL, rebuilding what your plugins did, and checking it all on staging before the domain moves. Plan for some content to move by hand, and have every redirect in place before launch. Rankings can still move, so watch Search Console afterwards.

Most of the risk is in things nobody wrote down: the page that still gets traffic from a link in 2019, the form a plugin quietly ran, the category archive search engines indexed years ago. The plan below is how we find those before launch rather than after.

It draws on three of our migrations: Altus, from WordPress to Webflow; Fresh Clinics, from HubSpot’s CMS to Webflow, with HubSpot kept as its CRM; and Smokeball, where three regional Webflow sites were rebuilt and moved together. If you’re still deciding whether to move, start with Webflow vs WordPress for B2B marketing teams.

The plan at a glance

  1. Take stock: list every page and post, and decide what to keep, merge or retire.
  2. Map the content: turn post types, authors and categories into CMS collections and fields.
  3. Get the content out: export from WordPress, convert to CSV and import, by hand where exports fail.
  4. Decide every URL: keep addresses where you can, and redirect everything that moves, in one hop.
  5. Replace the plugins: forms, SEO fields, analytics and consent, rebuilt or replaced.
  6. Check it on staging: content, links, forms, metadata and redirects, signed off before launch.
  7. Launch and watch: redirects live before the domain moves, then a week of close monitoring.

1. Take stock of what you have

List every page and post on the current site, not just the ones in the navigation. The XML sitemap is a good start, and Search Console shows which pages actually get visits and links. Then decide, page by page, what to keep, merge or retire.

On Smokeball’s Australian and UK sites we audited every address in the old and new sitemaps: 425 and 257 existing pages, against 400 and 196 new ones. A migration is the cheapest moment you’ll ever have to drop pages that no longer earn their place. Retiring a page still means deciding where its address should point.

2. Map the content into collections

WordPress keeps most content as posts and pages. Webflow’s CMS works in collections, each with its own fields, so the content needs a map before it moves.

For Altus, blog posts, case studies, partners, testimonials and FAQs each became a collection. Authors became a collection of their own, and each post links to its author and category, so a bio is written once rather than on every post.

Fix the structure as you go. Smokeball’s US content arrived as 11 exports with 718 blog posts, 77 case studies and 65 legal resources. Three overlapping webinar collections became one, presenters became a reusable set of 59 speaker profiles, and 30 blog categories became 11.

The Altus blog: category tabs over a grid of articles with their authors

Altus’s blog, moved from WordPress into Webflow’s CMS, with authors as their own collection.

3. Get the content out

WordPress exports content as XML. Webflow imports CSV, so the usual route is to convert the export and import it collection by collection, mapping columns to fields (Webflow).

Webflow’s import has limits worth knowing before you start (Webflow):

  • Files of up to 4 MB, and only as many items as your site plan allows.
  • Images imported by URL don’t get responsive versions, so use images that are already sized, or upload them in Webflow.
  • File fields, such as PDFs, can’t be imported and are added by hand.
  • Reference fields, such as a post’s author, match on the referenced item’s slug.

Plan for some of it to move by hand. Altus’s WordPress site was built with a page builder, and its exports came out as little more than layout code, so the blog, case studies and integrations were moved across by hand and checked one by one. Tables and formatted content often need cleaning into plain rich text either way.

4. Decide what happens to every URL

Keep addresses the same wherever you can: a URL that doesn’t change needs no redirect. Altus’s old and new sitemaps came out almost identical, so only a handful of older and test pages needed redirects. Everything that does move gets a permanent (301) redirect to its closest new page, not to the home page.

A sample of the decisions, as they’d appear in a redirect map:

Old address Decision New address
/blog/our-2024-product-update Keep /blog/our-2024-product-update
/category/news/page/2 Retire and redirect /blog
/services-old Merge and redirect /services
/wp-content/uploads/guide.pdf Move the file and redirect The PDF’s new address
/old-folder/(.*) Redirect the whole folder /new-folder/%1

A few rules save trouble later:

  • One hop. Old addresses should point straight to the final page, with no redirect chains.
  • Folders in one rule. Webflow can redirect a whole folder with a wildcard. Put specific rules before wildcard ones, because rules run in order (Webflow).
  • Watch the count. Webflow sets no hard limit but recommends no more than 1,000 redirects. Fresh Clinics needed 324; Smokeball’s Australian and UK sites needed 399 and 246.
  • Import carefully. Importing a CSV of redirects replaces all the existing ones, so export first (Webflow).

The redirect map is a decision document as much as a technical one, so your team should approve it.

5. Replace what your plugins did

Plugins don’t migrate. List every active plugin and decide what takes its place:

  • Forms. Embed forms from your CRM and map their fields. Altus’s HubSpot forms needed field mapping before they embedded cleanly, and Fresh Clinics has HubSpot forms on every page.
  • SEO fields. Titles, descriptions and social images from an SEO plugin need carrying over to Webflow’s page and collection settings.
  • Analytics and consent. Set up again, and tested, before launch.
  • Everything else. It becomes a Webflow feature, a Webflow app, a small piece of custom code, or nothing at all. Many plugins solved problems Webflow doesn’t have, such as caching and security.

Some features are better rebuilt than replaced. Fresh Clinics runs hundreds of events a year from HubSpot, so instead of typing them in twice, a sync brings them into the site’s event calendar twice a day.

6. Check it all on staging

Before anything goes live, check the new site against the old one on staging:

  • content against the source, including headings inside rich text
  • every link and call to action
  • every form, submitted through to the CRM, with notification emails going to the right people
  • page titles, descriptions and social images
  • phone layouts and navigation
  • a 404 page, and unused pages left as drafts
  • CMS collections without their own pages kept out of search
  • analytics and cookie consent
  • a sample of redirects, tested against the old addresses

Then have the right people on your team sign it off. At Altus, the marketing team checked every page’s copy against the content document, its links and its metadata, while we handled social images, structured data and redirects. Every sign-off was in a week before launch.

For Smokeball’s US content we checked the move in four passes, from confirming every record arrived to comparing 1,319 field values against the originals. Fresh Clinics spent a month testing on staging before launch.

7. Launch, then watch

Add the redirects before the domain moves, not after (Webflow). Redirects are a site setting, so they only go live with a full publish.

On launch day the domain is connected, the sitemap switched on, form emails pointed at your team, and the staging copy taken offline so it can’t compete with the real site in search. Altus’s own IT team made the domain change, and the new sitemap went into Search Console the same day.

After launch, watch Search Console closely. We monitor every site for its first week, fix anything that comes up, and then train the team.

“Website seems to be running well and all very positive feedback after the launch (and no SEO rankings dropping off a cliff which is always a relief!)”

Nick Rivett, Marketing Manager, Altus, a week after launch

That’s the realistic goal: rankings can still move after any migration, and Search Console shows you early which pages need attention.

Who does what

A migration goes smoothly when the decisions sit with the right people:

  • Your team decides what to keep, merge or retire, approves the redirect map, supplies new copy and images, and signs off the content on staging. Content is usually what holds a migration up, so start on it early.
  • We map the content, run the import and the manual moves, build the redirects and replacements, test everything, and handle the launch.

Questions we get asked

How long does a WordPress to Webflow migration take?

We plan most builds, migrations included, for two and a half to three months. When one runs longer, it’s usually waiting on copy. Altus’s redesign and move from WordPress took 18 weeks from kickoff to launch. Fresh Clinics’ move from HubSpot’s CMS ran from November to its February launch, including a month of testing on staging.

Will we lose our Google rankings when we move to Webflow?

A careful migration keeps the risk low, but no one can promise rankings won’t move. Redirect every old address to its new home before launch, carry over page titles and descriptions, submit the new sitemap, and watch Search Console closely in the weeks after.

Can Webflow import WordPress content automatically?

Partly. WordPress exports XML, which you convert to CSV for Webflow’s CMS import. Simple posts usually come across well. Page-builder layouts, files and plugin features don’t, and images imported by URL don’t get Webflow’s responsive versions, so plan for some manual work.

What happens to our WordPress plugins?

They don’t move. List every active plugin and decide what replaces it. Webflow handles hosting, security and SEO fields itself, forms can embed from your CRM, and anything else is either a Webflow app, a small piece of custom code, or no longer needed.

If you’d like a second pair of eyes on your plan, or someone to run it, tell us about your site. The Altus, Fresh Clinics and Smokeball case studies have the full stories.

Sources

Keep reading.

All posts