SHORT ANSWER
Webflow and Framer build CMS urls the same way: a folder, then the item’s slug. Webflow’s /blog/launch-notes becomes Framer’s /blog/:slug page with no redirect at all, provided the Framer CMS page uses the same first segment and the slugs survive the csv import. What needs redirects is what changes: renamed collection folders (one Framer wildcard each, /old/* to /new/:1), pages that moved out of Webflow folders, category collections with a new path, and pages that were dropped. The list goes into Framer’s redirect settings, by hand or as a from,to csv.
What Webflow urls look like
/about · /pricing — static pages at the root. Webflow urls have no trailing slash.
/services/web-design — a static page inside a Webflow folder. The folder is part of the url.
/blog/launch-notes — a collection item. The first segment is the collection url, which Webflow generates from the collection name and lets you change in the collection settings (Webflow University). A collection called “Blog Posts” that nobody renamed lives at /blog-posts/….
/blog-categories/design · /authors/jane — categories, authors and tags are collections of their own, each with its own folder and template page.
/blog?a1b2c3_page=2 — pagination of a collection list: a query string with a generated id on the same path (Webflow). Not a separate url to redirect.
/de/about — Webflow Localization puts the locale code first.
/product/slug · /category/slug — Webflow Ecommerce, if the site sells. Decide early where the shop goes; its urls follow that decision.
EXAMPLE
a studio site: 18 static pages, four of them in a /services/ folder, a blog of 120 posts at /blog/, 9 categories at /blog-categories/, 14 case studies at /work/ and an authors collection nobody linked to but Google indexed anyway.
What changes on the Framer side
one path per CMS page, ending in :slug — a Framer CMS detail page has a path like /categories/:slug, and :slug is filled from each item’s slug field (Framer help). The first segment is yours to choose: call it blog and the Webflow urls stay.
slugs come across in the csv — Framer’s Webflow migration guide recommends exporting each Webflow collection as csv and importing it into Framer; the csv import uses a unique slug column to identify items (Framer Academy). Map Webflow’s slug column to it and nothing about the item urls changes. Let Framer generate new slugs from the titles and every item needs a redirect.
no category in the url — a category field can filter a list but cannot become a segment of the item’s url (BRIX Templates on Framer urls). Webflow never put it there either, so this only matters if someone plans a new structure.
pages have their own paths — static pages can sit at any path, so /services/web-design can stay where it is or move to /web-design. Framer’s guide is explicit: keep important paths unchanged where possible, and redirect only changed or removed paths.
Which urls map how
| webflow | framer | redirect |
|---|---|---|
| /about | /about | none |
| /blog/launch-notes | /blog/:slug, slug imported | none |
| /blog-posts/launch-notes | /blog/:slug | /blog-posts/* → /blog/:1 |
| /blog-categories/design | /categories/:slug | /blog-categories/* → /categories/:1 |
| /services/web-design | /web-design | one row per page |
| /authors/jane (no Framer page) | — | to the blog, or let it 404 |
| /blog?a1b2c3_page=2 | /blog | none; the query is not part of the rule |
| /de/about | Framer locale path | check expandToAllLocales |
A wildcard only works when the slugs behind it are the same on both sides. If some posts got new slugs during the move, those rows go into the list individually and above the wildcard, because Framer applies rules in the order they are listed (Framer redirects). The rest of the folder is caught by the wildcard, including posts the crawl never found.
redirect a whole directory
map every crawled page below a directory at once — optionally as a single webflow wildcard rule that also covers urls the crawl missed.
3 pages · 3 targets exist on the new site · + wildcard /blog/(.*) → /magazin/%1
- /blog/relaunch-checkliste → /magazin/relaunch-checkliste
- /blog/301-vs-302 → /magazin/301-vs-302
- /blog/ladezeit → /magazin/ladezeit
the directory rule form mapping /blog to /magazin with sub-paths kept, exported as a wildcard, and a live preview of how many pages it affects.
Building the map
- Crawl both sites before dns moves. In Silentfrog the old site is the Webflow custom domain, the new one Framer’s published domain. Both sitemaps are read along with the crawl, which matters for collections like authors that nothing links to.
- Add what the crawl cannot see. The Search Console pages export brings back old urls that still get clicks, and the rules already in Webflow’s 301 redirect settings go into the url list too, so each of them resolves to its final Framer page in one hop (traffic data).
- Review the uncertain rows. Identical paths match exactly; the rest are scored on slug, title and h1, and anything under 85 % waits for a person. Pages merged during the redesign usually land here.
- Redirect renamed folders with a directory rule. The preview shows which slugs exist on Framer; the ones that do not land in needs review instead of being exported into a 404 (directory rules).
- Export plain path pairs. The file is a
from,tocsv of relative paths, which is the format Framer’s Redirect Sync plugin imports.
EXAMPLE
the studio site above: 167 old urls. 148 match exactly because /blog/ and /work/ kept their names and slugs. The categories moved to /categories/ (one wildcard), the four service pages left their folder (four rows), and the authors collection is not rebuilt: its 6 urls go to the blog. 11 redirects in total, one of them a wildcard.
Getting the list into Framer
Framer keeps redirects under site settings → hosting → redirects, and Framer’s pricing page lists them for the Pro plan and Enterprise (pricing, as listed 3 october 2026). Rows go in through the Redirect Sync plugin, wildcards are easiest added by hand in the panel, and nothing redirects until the site is published. The step-by-step, the exact csv the plugin reads and the wildcard notation are in how to bulk import redirects into Framer.
Framer redirects only paths on its own domain. If the migration also changes the domain, the old domain is redirected at its own dns or hosting provider, not in Framer.
A slower path exists for large sites: Framer’s page-by-page migration puts Framer in front of the domain and sends every path it does not have yet to the old Webflow site with a /* rule, so pages move one at a time. The redirect map is the same; it is just applied in stages.
Before the Webflow plan is cancelled
Some of what the map needs only exists inside the old Webflow project. Collect it while the site is still live and the project still open:
- The collection csvs, one per collection, with the slug column. They are the content for Framer’s csv import and the record of every item url the site had, including drafts that were once published.
- The existing 301 rules from the site’s publishing settings. Their old paths still receive links from the redesign before this one; each needs a rule straight to its final Framer page, not to the Webflow page it used to point at.
- The Search Console pages export for the property, so pages that left the sitemap but still get clicks are in the url list.
- A crawl of the live site, taken before anything changes. Once the domain points at Framer, the old pages can no longer be crawled for their titles and headings, which is what the matching compares.
Silentfrog saves the whole project as a file (save file in the tool), so the crawl of the old site can be kept and reopened after the switch, when the Webflow site no longer answers.
After the switch
- Request every old url once: one redirect, then a 200 on the Framer page.
- Files linked from the old site that sat on Webflow's asset cdn are on a different host, so no rule on your domain covers them; re-upload the ones that matter and update links.
- Renaming a Framer page or a CMS slug later does not update the redirects; add a rule for the old path at the same time.
- Keep the redirects for at least a year; old links and bookmarks keep arriving long after Google has moved on.
In short
- Webflow item urls are /collection-url/slug; Framer CMS pages are /path/:slug. Same path, same slugs, no redirect.
- Import Webflow's slug column into Framer's csv import, or every item url changes.
- A renamed collection folder is one Framer wildcard: /old/* to /new/:1, with changed slugs listed above it.
- Pagination query strings and pages that kept their path need nothing.
- Export plain path pairs from Silentfrog and import them with Redirect Sync on a Pro plan.