Webflow
How to Migrate from WordPress to Webflow Without Losing SEO
Most WordPress to Webflow migrations that go badly go badly in the same way. The new site looks great, someone flips the DNS on a Friday, and a month later organic traffic is down by a third because half the old URLs now return a 404. The design was never the risky part. The risk lives in the boring steps around it: the URL inventory, the content import, and the redirects.
This is the process I follow on client migrations, in the order I do it. If you're doing it yourself, you can use it as a checklist. If you're hiring someone, use it to check they're not skipping the parts that matter.
WordPress vs. Webflow: What Actually Changes When You Move
Before touching a sitemap, make sure moving off WordPress actually solves the problem you have. WordPress isn't bad software — it just asks someone on your team to act as a part-time sysadmin. When a marketing site relies on Elementor or Divi plus twenty plugins for basic SEO, caching, forms, and security, every small page update turns into a maintenance ticket.
Here is what changes in practice when we move a company from a typical plugin-heavy WordPress setup to a clean Webflow build:
| What You Manage | Typical WordPress Setup (Elementor / Divi + Plugins) | Clean Webflow Architecture |
|---|---|---|
| Plugin & Security Patching | 15–30 plugins needing weekly updates; one conflict can break layouts or forms overnight | Zero plugins to patch; hosting, SSL, forms, and backups are native |
| Mobile Core Web Vitals (LCP) | Often 3.2s – 5.5s on mobile due to page-builder DOM bloat and render-blocking CSS/JS | 0.8s – 1.8s on mobile with clean Client-First CSS and zero unused script bundles |
| Marketing Team Edits | Editors either break spacing inside a visual builder or wait on a developer for layout changes | Editors update text, images, and CMS items inside locked component templates |
| URL Structure & Blog Paths | Flexible root slugs (/post-name/) and automatic date/tag archives (/2024/05/...) | Strict collection folders (/blog/post-name); requires planned 301 wildcard redirects on cutover |
| CMS Scale Limit | Practically unlimited rows in MySQL (wp_posts), though query speed drops without caching | Up to 20,000 CMS items on the Premium site plan (plenty for B2B SaaS, healthcare, and agency sites) |
| True Monthly Cost | $30–$100/mo hosting + paid plugin licenses + developer hours fixing broken updates | $25–$39/mo Premium site plan + zero plugin maintenance hours |
If you run a newspaper with 80,000 articles or a WooCommerce store with complex custom checkout rules, stay on WordPress. If you run a B2B startup, healthcare practice, or agency marketing site with under 5,000 pages and want your team shipping pages without calling a developer, moving to Webflow pays for itself in a quarter.
Why page-builder sites fail mobile LCP, and what fixes it
Step 1: Inventory every URL before you touch anything
Before any design work, get a complete list of what exists today. Not what you think exists. WordPress sites quietly pile up pages over the years: old landing pages, tag archives, author pages, attachment pages, PDFs in the uploads folder. Some of them have backlinks you've forgotten about.
- Crawl the live site with a crawler like Screaming Frog and export every URL that returns a 200.
- Pull your XML sitemap (usually /sitemap_index.xml if you use Yoast or Rank Math) and merge it with the crawl.
- Export the Pages report from Google Search Console for the last 12 months, so you know which URLs actually earn impressions and clicks.
- Check a backlink tool for pages with external links pointing at them. Those are the ones you cannot afford to lose.
Put it all in one spreadsheet, one row per URL. That sheet becomes your redirect map later, so it's worth doing properly now.
Step 2: Decide what moves, what merges, and what goes
A migration is the best chance you'll get to clean house. Not every URL deserves to come across. Go through the sheet and mark each row as keep, merge, or drop. Thin tag archives, empty category pages, and ancient posts with zero traffic and zero links can usually go. Pages that overlap can be merged into one stronger page. Anything with traffic or backlinks stays, or at minimum gets a redirect to its closest equivalent.
Reference 1 · WordPress crawl audit: keep, merge or drop
Source
420 raw WordPress URLs
Found by Screaming Frog, merged with the Search Console Pages report
38 URLs · Core service & product pages
Keep & rebuild · 200 OK112 URLs · Ranking blog posts with traffic or backlinks
Migrate to CMS + 30145 URLs · Overlapping thin posts
Consolidate · 301 to parent post225 URLs · /tag/*, /author/*, /page/2/ and attachment pages
Prune · 410 or 301 to category
Step 3: Plan your URL structure around how Webflow works
This is the step that catches people out. Webflow CMS items always live under their collection's path. A blog post is /blog/post-name, never just /post-name. WordPress, on the other hand, often puts posts at the root of the domain, especially if the permalink setting is "Post name".
So you have a choice to make early. If your posts already live under /blog/, you can usually keep every URL identical, which is the safest outcome. If they live at the root, they'll move to /blog/post-name in Webflow, and every one of them needs a 301 redirect. That's completely fine for SEO as long as it's done, but you need to know it's coming before you build, not after launch.
Watch for the smaller differences too. WordPress adds a trailing slash to URLs; Webflow doesn't. Category and tag archives like /category/news/ won't exist unless you build them as their own collection. Date-based permalinks like /2021/04/post-name/ need a pattern redirect.
Reference 2 · URL path mapping & wildcard 301 blueprint
A · Posts at the root
WordPress: domain.com/why-patients-cancel/301Webflow: domain.com/blog/why-patients-cancelB · Date-stamped permalinks
WordPress: domain.com/2023/08/14/medtech-launch/301Webflow: domain.com/blog/medtech-launchOld path /2023/(.*)/(.*)/(.*) · Redirect to /blog/%3
C · Category folders
WordPress: domain.com/category/case-studies/spectrasight/301Webflow: domain.com/work/spectrasightOld path /category/case-studies/(.*) · Redirect to /work/%1
Webflow redirect rules
# Webflow: Site settings › Publishing › 301 redirects
# Old path Redirect to
/why-patients-cancel /blog/why-patients-cancel
/2023/(.*)/(.*)/(.*) /blog/%3
/category/case-studies/(.*) /work/%1Test each pattern against a handful of real old URLs, with and without the trailing slash, before you switch DNS. If a rule with special characters in the old path doesn’t fire, escape them with % (Webflow’s syntax) and test again.
Step 4: Model your content in the Webflow CMS
Before importing anything, build the collections the content will land in. For a typical blog that means a Posts collection plus separate Categories and Authors collections, connected with reference fields. Don't cram everything into one giant collection with a dropdown for the category. You'll lose the ability to build proper category pages, and the CMS gets painful to edit fast.
Map every WordPress field to a Webflow field: title, slug, body, featured image, excerpt, publish date, author, categories, and the SEO title and meta description from Yoast or Rank Math. Those last two are easy to forget and matter more than most of the others. Also check your Webflow plan's CMS item limit against your post count before you commit; a large archive can push you up a tier.
How I structure Webflow CMS collections for big archives
Step 5: Export from WordPress and import into Webflow
Webflow imports CMS content from CSV, so the job is getting WordPress content into a clean CSV. The built-in WordPress export gives you an XML file, which needs converting. An export plugin like WP All Export is usually quicker, because it lets you pick the exact fields and output CSV directly, including the SEO fields from your SEO plugin.
A few things to get right during the import:
- Import Categories and Authors first, then Posts, so the reference fields have something to point at.
- Keep the original WordPress slug as the Webflow slug, so the redirect map stays simple.
- Strip page-builder shortcodes before import. Divi and Elementor content often comes out wrapped in things like [et_pb_section] that will show up as raw text.
- Check that images inside post bodies aren't still pointing at the old /wp-content/uploads/ folder. If they are, they'll break the day you switch off the old hosting.
- Fix internal links inside posts so they point at the new URLs, not the old ones that now redirect.
Then spot-check. Open twenty random posts and compare them side by side with the originals: headings, lists, embedded videos, image alt text, tables. Rich text conversion is where small formatting problems hide.
Reference 3 · Anatomy of a clean WordPress-to-Webflow CMS import
Raw WordPress export · breaks on cutover
[vc_row][vc_column][vc_column_text]
<span style="font-size: 18px">Why patients cancel</span>
<img src="https://oldsite.com/wp-content/uploads/2022/04/hero.png">
<a href="https://oldsite.com/why-patients-cancel/">Read more</a>
[/vc_column_text][/vc_column][/vc_row]Cleaned for Webflow CMS · production ready
<h2>Why patients cancel</h2>
<img src="https://cdn.prod.website-files.com/…/hero.avif"
alt="Patient checking in at the front desk">
<p><a href="/blog/why-patients-cancel">Read more</a></p>- Shortcodes stripped. [vc_row], [et_pb_section] and friends become plain <p> and <h2> tags.
- Images re-hosted. Uploaded to Webflow so nothing points at /wp-content/ after the old hosting is cancelled.
- Inline styles removed. The Rich Text field’s own classes set the type, so every post looks the same.
- Internal links rewritten. Straight to /blog/[slug], so readers and crawlers never hit a redirect chain.
Step 6: Replace what your plugins used to do
Make a list of every active plugin and what job it does. Most of them disappear on Webflow: SEO fields, sitemaps, caching, image compression, security, and backups are built into the platform. Forms are native. For the rest, you'll need a decision:
- Comments: Webflow has none built in. Use a third-party embed, or accept that most marketing blogs don't need them.
- Memberships and gated content: usually a tool like Memberstack or Outseta connected to the site.
- Site search, booking, or calculators: a dedicated third-party tool with a small embed.
- Analytics and tag manager scripts: add them in the site-wide custom code settings.
Reference 4 · Replacing the WordPress plugin stack in Webflow
| WordPress plugin | In Webflow |
|---|---|
| Yoast SEO / Rank Math | Native Webflow SEO fields + a custom JSON-LD schema embed |
| Elementor / Divi / WPBakery | Client-First classes + reusable Webflow components |
| WP Rocket / Autoptimize | Webflow's built-in CDN hosting, minification settings and WebP/AVIF image conversion |
| Advanced Custom Fields (ACF) | Webflow CMS collections + reference and multi-reference fields |
| Redirection | Site settings › Publishing › 301 redirects, with (.*) wildcard rules |
| Gravity Forms / Contact Form 7 | Native Webflow forms, or a webhook into HubSpot / Make |
Migration check
Check your WordPress migration timeline & redirect risk
Estimated cutover window
5–10 Business Days
SEO redirect advisoryHigh priority
Because your posts sit at the root domain and Webflow requires /blog/[slug], every post needs an individual 301 map before DNS cutover so you don't lose rankings.
Page-builder content exports wrapped in shortcodes like [et_pb_section] or [vc_row]. Budget a cleanup pass before import, or posts land in Webflow as raw text.
Step 7: Build your 301 redirect map
Go back to the spreadsheet from step 1. Every URL that is changing or being dropped needs a destination. Redirect each old URL to the most relevant new page, not blanket-redirect everything to the homepage. Google treats mass homepage redirects much like 404s, and you lose the value those pages had.
Webflow handles redirects in the site settings, and you can upload them in bulk instead of one at a time. It also supports pattern redirects, so a rule like /category/(.*) can send a whole family of old URLs to a new path in one line, using %1 to carry the captured part across. Use patterns for the predictable groups, like date-based post URLs, and individual rules for everything else. Don't chain redirects either. If page A once redirected to B and B now moves to C, point A straight at C.
Step 8: Launch and watch Search Console
A day or two before launch, lower the TTL on your DNS records so the switch propagates quickly. Then on launch day:
- Publish the Webflow site to the custom domain and connect DNS.
- Run your full list of old URLs through a crawler and confirm every one returns either a 200 or a single 301 to the right page.
- Check the new site's pages aren't set to noindex, and that canonical tags point at the live domain.
- Submit the new sitemap in Google Search Console.
- Keep a full backup of the old WordPress site and database somewhere safe, even after the hosting is cancelled.
For the next few weeks, check the Pages report in Search Console for new 404s and fix them as they appear. A small wobble in rankings for a week or two is normal while Google recrawls. A sustained drop almost always traces back to a missed redirect or a page that didn't come across.
Technical SEO checks I run on every Webflow launch
Common questions about migrating WordPress to Webflow
Will I lose my Google rankings if I move from WordPress to Webflow?
Not if the URLs are handled properly. Keep URLs identical where you can, 301-redirect the ones that change to their closest equivalent, and carry titles and meta descriptions across. Expect a short wobble while Google recrawls, then rankings typically settle where they were, often better if the new site is faster.
Can I import my WordPress blog into Webflow automatically?
Partly. You export posts from WordPress to CSV and import them into a Webflow CMS collection, which handles the bulk of the content. But it's not one-click: shortcodes, embedded media, image hosting, and internal links usually need cleaning up before or after the import.
Can Webflow keep my exact WordPress URL structure?
Static pages, yes. CMS content always sits under a collection path like /blog/, so if your WordPress posts live at the root of the domain, they'll need 301 redirects to their new /blog/ address. That's normal and safe for SEO when every post is redirected.
How long does a WordPress to Webflow migration take?
For most marketing sites, 5–10 business days; large CMS migrations take 2–3 weeks. The page count matters less than the content complexity: a site with hundreds of simple posts can move faster than a twenty-page site built on a heavy page builder with custom post types.
Working through it yourself? Use the interactive 28-point migration checklist
Still deciding? Webflow vs WordPress, honestly compared
Rather hand it off? See how I run WordPress to Webflow migrations