Most sites that lose rankings after moving to Webflow do not lose them because of Webflow. They lose them because someone skipped steps — or did them in the wrong order. The platform is not the problem. The execution is.
Your SEO lives in your domain authority, your URLs, your metadata, your backlinks, and the signals Google has been collecting about your site for months or years. None of that is stored in WordPress. It is all external. That means it can all survive the move — if you protect it deliberately.
This guide covers exactly how to do that, step by step.
| What Protects SEO | What Destroys SEO |
|---|---|
| Keeping the same URL structure | Changing URLs without 301 redirects |
| Migrating all meta titles and descriptions | Launching with empty or duplicate metadata |
| Setting up 301 redirects before going live | Forgetting redirects for blog posts and category pages |
| Submitting new sitemap to Search Console | Leaving old sitemap active while new site is live |
| Preserving image alt text | Uploading images without alt text to new CMS |
| Testing everything on staging first | Publishing directly without a pre-launch audit |
Why WordPress Sites Lose Rankings During Migration — and Why It Is Not Inevitable
The fear around this migration is real and it comes from real incidents. But in almost every case where a site dropped significantly after moving platforms, the reason was one of three things: broken redirects, missing metadata, or indexing errors.
Broken redirects happen when old URLs simply stop working and nothing points Google to the new location. Google sees it as content that disappeared. Rankings for those pages drop within days.
Missing metadata happens when someone rebuilds the site visually but forgets that every single page had a custom meta title, meta description, and in many cases Open Graph data that drove click-through rates from search. Webflow does not automatically pull this from WordPress. You have to export it and put it in manually.
Indexing errors happen when the new site is launched with the wrong robots.txt setting — either accidentally blocking Google from crawling it, or having both the old and new site discoverable at the same time, which creates duplicate content signals.
All three of these are avoidable. They just require deliberate steps before launch, not after.
Step 1: Audit Your WordPress Site Before Touching Anything in Webflow
Do not open Webflow yet. Start in WordPress and build a complete picture of what you are protecting.
The tool for this is Screaming Frog SEO Spider. Run a full crawl of your WordPress site and export the results. What you need from this crawl: every URL that is currently live, the page title and meta description for each URL, H1 headings, canonical tags, and any redirects already in place. Export everything to a spreadsheet.
At the same time, go into Google Search Console and export your top-performing pages by clicks and impressions. These are your most valuable pages — the ones driving real traffic. Any mistake on these pages costs you immediately. Flag them separately. They need extra attention during and after the migration.
Use Ahrefs or Semrush to export your backlink profile. You want a list of every external URL that links to your site. Download this as a CSV. During migration, any page that has backlinks pointing to it must either keep its exact URL or have a 301 redirect in place. No exceptions. A backlink pointing to a 404 page becomes worthless the moment the link breaks.
From Yoast SEO or Rank Math, export all your SEO metadata. In Yoast, go to Tools → Export. In Rank Math, go to Status and Tools → Import/Export → Export. Save this file. It contains the meta titles and meta descriptions for every post and page — the exact data you will need to manually add to Webflow.
Now you have a complete SEO map of your existing site. Everything else in this guide depends on this map existing before you move forward.
Step 2: Plan Your URL Structure in Webflow Before Building Anything
This is the decision that causes the most damage when made carelessly.
WordPress typically structures blog posts as /blog/post-name or sometimes with date-based paths like /2023/04/post-name. Webflow CMS creates blog posts as /blog/post-name by default because blog posts live inside a Collection, and the collection slug becomes the URL prefix.
If you keep the same slug structure in Webflow as in WordPress, the URLs match. No redirects needed for those pages. This is the ideal scenario.
If the structures differ — which happens when WordPress had custom post types with unusual URL patterns, or when you are reorganizing the site’s architecture — every single changed URL needs a 301 redirect mapped to it. Build that redirect map now, in a spreadsheet, with two columns: old URL and new URL.
The one URL structure WordPress uses that Webflow cannot replicate is date-based archives like /2023/04/15/post-name. Webflow CMS does not support date-based URL prefixes. If your WordPress site uses this structure, every post URL changes, and you need a 301 redirect for each one. If you have hundreds of posts, Webflow’s bulk redirect import using a CSV file handles this efficiently — you do not have to enter each one manually.
Step 3: Export Your WordPress Content Correctly
WordPress’s built-in XML export (Tools → Export → All content) gives you a .xml file. The problem is Webflow cannot import this directly. The formats are incompatible.
The practical approach for most sites is to use WP All Export plugin to get a clean CSV file from WordPress. Install WP All Export, create a new export, select Posts, and map the fields you need: post title, slug, body content, featured image URL, meta title, meta description, and any custom fields. Export as CSV. Clean the CSV in Google Sheets — remove HTML shortcode artifacts, fix any broken characters, and make sure column headers match what Webflow expects when you set up your CMS Collection.
For larger sites with hundreds of posts, some teams use Octoparse to scrape clean content output directly from the live WordPress site instead of working with database exports. The advantage is you get the rendered content rather than raw database values that may include page builder shortcodes and formatting artifacts.
Images are the most tedious part of this process. WordPress stores featured images as URLs pointing to your current hosting server. When you import posts to Webflow CMS, you cannot bulk upload images through the CSV — Webflow only imports image URLs, meaning the images still load from your old WordPress hosting until you manually re-upload them to Webflow’s Asset Manager. For sites with large image libraries, the practical approach is to upload images to a CDN or cloud storage (Cloudflare Images, AWS S3) first and update the URLs in your CSV to point there, so images load fast from day one even before you have moved everything.
Step 4: Rebuild the Site in Webflow and Transfer SEO Settings
This is where the actual Webflow work begins. Build your site on Webflow’s staging domain (yoursite.webflow.io) with your WordPress site still live on your actual domain. Never take your WordPress site down before the Webflow version is fully tested.
For each static page — homepage, about, services, contact — recreate the page in Webflow and immediately set the SEO settings. In Webflow, click the page in the Pages panel, open Page Settings, and fill in the SEO Title and Meta Description exactly as they appeared in your WordPress SEO plugin export. Do not skip any page. An empty meta description is not neutral — it signals to Google that no one managed this page carefully.
For CMS Collection pages — blog posts, case studies, any dynamic content — Webflow lets you set up dynamic SEO fields using the CMS field variables. In the Collection Template page settings, set the SEO title as something like: {Post Title} | YourBrand and set the meta description to pull from a custom field you created in your Collection called “SEO Description.” Then when you import your posts, populate that field from the Yoast meta export. This way every post gets its exact original metadata — automatically, at scale.
Set canonical tags for every page. In Webflow, canonical tags are under the SEO section of page settings. They default to the page’s own URL, which is correct for most pages. If you have any pages with very similar content — like tag archive pages — set the canonical to point to the primary version to prevent duplicate content issues.
Open Graph settings matter too. Webflow lets you set custom Open Graph title, description, and image per page in the same Page Settings panel. If your WordPress pages had custom OG images for social sharing, carry those across. Social traffic from previously shared links depends on these settings being in place.
Step 5: Set Up 301 Redirects Before Launch — Not After
This is the step most people rush or forget. Setting up redirects after you have already launched the new Webflow site means Google has already started crawling the live site and finding 404 errors. Every day a page returns a 404, it loses ranking signals. By the time you fix it, recovery takes weeks.
Set every redirect up before the domain is pointed to Webflow.
In Webflow, go to Site Settings → Hosting → 301 Redirects. You can add redirects manually or import a CSV file. The CSV format is simple: two columns, “Old Path” and “New Path.” Your old path entries are relative URLs like /old-blog/post-name. Your new path entries are the corresponding Webflow URLs.
A few things to know about Webflow’s redirect system that most guides skip: Webflow redirects are relative to the root domain, not to subdirectories. If you have localized subdirectories like /es/old-url, you need a separate redirect rule for that path — the redirect for /old-url does not cover it automatically. Also, Webflow supports wildcard redirects using the (.*) capture group pattern, which is useful when you have changed an entire directory structure. For example, if every URL under /old-category/ is moving to /blog/, you can write one wildcard rule instead of hundreds of individual rules. But wildcards do not support exceptions, so if one URL in that directory needs to go somewhere different, add that specific redirect rule first before the wildcard.
Test every redirect before launch using Screaming Frog or Redirect Checker. Upload your old URL list and verify that each one returns a 301 status and lands on the correct destination. A redirect that returns a 302 (temporary) instead of 301 does not pass link equity. A redirect chain — where URL A goes to URL B which goes to URL C — loses equity at each hop. Keep all redirects direct: old URL → new URL in one step.
Step 6: Configure Webflow’s Technical SEO Settings
These are the settings that live in Webflow’s Project Settings and affect the whole site rather than individual pages.
Sitemap. Go to Project Settings → SEO → check “Auto-generate sitemap.” This generates a sitemap.xml automatically every time you publish. Make sure your default domain is set correctly in Project Settings → Publishing, because the sitemap reflects whichever domain is set as default. If the default domain is still the .webflow.io staging URL, your sitemap will contain staging URLs, which causes indexing problems when Google crawls it after launch.
Robots.txt. While your site is in development on the staging domain, Webflow automatically disallows crawling via robots.txt — which is correct, you do not want Google indexing the staging version. After you connect your custom domain and are ready to launch, this automatically allows crawling. Check the robots.txt file on your live Webflow domain the day after launch to confirm Google can access it: visit yourdomain.com/robots.txt and verify it does not say Disallow: /.
Schema markup. WordPress sites running Yoast SEO automatically generate basic schema — webpage, breadcrumb, and article schema. Webflow does not generate schema automatically, but it lets you add custom JSON-LD schema through the custom code area on each page or in the site-wide <head>. For blog posts, add Article schema with the post title, author, published date, and image. For a business homepage, add Organization and LocalBusiness schema. For service pages, add Service schema. Webflow AI can assist with generating this, or you can use Google’s Structured Data Markup Helper to create the JSON-LD and paste it into Webflow’s custom code panel.
Step 7: Launch and the First 48 Hours After
When you are ready to go live, point your domain’s DNS to Webflow’s servers. This is done in your domain registrar — change the A record to Webflow’s IP address (75.2.70.75) and add a CNAME record for www pointing to proxy-ssl.webflow.com. DNS propagation usually takes between 30 minutes and 24 hours depending on your registrar and TTL settings.
Do not take your WordPress site down immediately. Keep it accessible for at least a week on a staging subdomain in case you need to reference the original content for any fixes. Most hosting providers let you move the WordPress installation to a subdomain without deleting anything.
Within the first 24 hours after launch, go to Google Search Console and do three things: submit your new sitemap URL (yourdomain.com/sitemap.xml), run URL Inspection on your five most important pages to confirm they are indexable, and check the Coverage report for any 404 errors that appeared after launch. Any 404 errors that show up here are pages that were missed in your redirect map — fix them immediately.
Watch Core Web Vitals after launch. Webflow sites typically score better than plugin-heavy WordPress installations because Webflow generates cleaner HTML and CSS and serves content through a global CDN. But Webflow does not automatically optimize everything. Heavy animations, unoptimized images, and third-party scripts embedded in the site affect LCP (Largest Contentful Paint) and CLS (Cumulative Layout Shift) just like they do on any platform. If your Core Web Vitals were good on WordPress and are now worse on Webflow, the usual culprits are large uncompressed images in the CMS or third-party embeds loading synchronously.
Compress all images before uploading to Webflow’s Asset Manager. Use WebP format where possible — Webflow’s CDN serves WebP to browsers that support it. Set explicit width and height attributes on images to prevent layout shift. Load third-party scripts (analytics, chat widgets, tracking pixels) through Webflow’s Custom Code footer section, not the header, so they do not block page rendering.
What Actually Happens to Your Rankings After Launch
There is a normal, expected pattern after any site migration and it is worth knowing about so you do not panic unnecessarily.
In the first two to four weeks after launch, rankings for some pages may fluctuate — some temporarily drop, some hold steady. This happens because Google is re-crawling and re-evaluating the site on the new setup. It is not permanent damage. It is re-assessment.
If the redirects are in place and metadata is correct, most sites return to their previous rankings within four to six weeks. Sites that did the migration correctly and improved Core Web Vitals in the process typically see ranking improvements beyond their original positions within three months. One consistent pattern from migration agencies handling many of these projects: sites that were slow on WordPress due to plugin bloat see measurable ranking improvements after moving to Webflow, because page speed is a direct ranking factor and Webflow’s clean code structure eliminates most of the overhead.
What causes a permanent ranking drop — one that does not recover — is always one of the same things: missing redirects that were never added, metadata that was not migrated and stayed empty, or pages that were accidentally excluded from the sitemap and never re-indexed.
If rankings do not recover after eight weeks, go back to your URL mapping and audit it again. Use Google Search Console’s Coverage report to identify URLs that are returning errors or are excluded from the index. Use Screaming Frog to re-crawl the live Webflow site and compare it against your original URL list. The problem is almost always in one of those two places.
The CMS Migration Detail Most Guides Skip
Webflow CMS handles categories and tags differently from WordPress. WordPress has a native taxonomy system where categories and tags are database objects with their own URLs that Google indexes. In Webflow, categories become a separate Collection connected to your blog posts through a reference field.
If your WordPress category pages had SEO value — if /category/digital-marketing ranked for certain keywords and had backlinks pointing to it — you need to create matching category pages in Webflow and set up 301 redirects from the old category URLs to the new ones. Otherwise those category-level rankings and the link equity pointing to category pages are lost.
Create a Categories Collection in Webflow with fields for Category Name, Slug, and an SEO Description. Create a Collection Template page for categories with its own SEO title and meta description. Redirect old WordPress category URLs to the corresponding Webflow category pages. This preserves the authority those category pages had built.
At Miracle Concepts, We Handle This for You
WordPress to Webflow migrations done wrong cause real traffic drops that take months to recover from. At Miracle Concepts, we run migrations where SEO is treated as the foundation, not a final checklist item. Every URL mapped, every meta tag transferred, every redirect tested before the domain moves — that is how we protect what you have built.
If you are planning to migrate or already managing a complex site and want someone to handle it cleanly, we would be glad to help.
We Also Help With
At Miracle Concepts, web migration is one piece of a broader service offering. If you are rebuilding your digital presence, our SEO team handles ongoing rankings, keyword strategy, and technical audits so your new Webflow site does not just launch well — it keeps growing. Our web development team builds custom Webflow projects from scratch, including complex CMS structures and third-party integrations. Our UX design team makes sure the new site converts better than the old one, because a fast site that confuses visitors still underperforms. For managed service providers, our MSP services cover the operational and technical support side so your team can focus on delivery. And for businesses that need professional document services — proposals, reports, technical documentation — our documentation team produces structured, client-ready content. One team, across the full stack of what your business actually needs.
