---
title: "Website Migration Planner: Which URLs Keep Their Path"
description: "Free website migration planner: read your sitemap and see which URLs keep their path on Webflow, Framer, Astro or Next.js, and which need a 301."
url: "https://dardo.studio/en/tools/website-migration-planner/"
language: "en"
translations: {"es":"https://dardo.studio/es/herramientas/planificador-migracion-web/","pt":"https://dardo.studio/pt/ferramentas/planejador-migracao-de-site/"}
updated: "2026-10-22T12:00:00Z"
---

Free tools

# Website migration planner

Before you rebuild a site, find out which of its URLs the new platform can keep. This planner reads your current sitemap, sorts the URLs into the patterns behind them and checks each one against the URL rules Webflow, Framer, Astro and Next.js document: which keep their exact path, which need a 301 (with the new path drafted, ready to export) and which to test because the vendor doesn't say. It runs in your browser, before the new site exists.

By [Nicolas Ceron](https://dardo.studio/en/nicolas-ceron/) · Updated Oct 22, 2026 · 5 min read

[Get a proposal](https://dardo.studio/en/contact/?service=website-migration)

The plan is made in your browser; our server only reads the sitemap address you type.

**Form fields**

- Site or sitemap address
- URLs or paths, one per line
- Upload a sitemap.xml or a crawl export (CSV)
- Moving from: WordPress; Webflow; Framer; Squarespace; Wix; Another platform
- AstroCoded site, static or on demand
- Next.jsCoded React site
- WebflowVisual builder with a CMS
- FramerVisual builder with a CMS

## The URL rules this plan applies

Each rule comes from the vendor's own documentation, read on October 22, 2026. Where a vendor documents nothing, the plan says to test it rather than guess.

### Webflow

- **Folders.** Static pages can sit in folders and nested subfolders, so a page at /services/web-design can keep its path.  
[Webflow Help: Organize your site with page folders](https://help.webflow.com/hc/en-us/articles/33961390398483-Organize-your-site-with-page-folders)
- **Collection URL.** Webflow serves every CMS item at its Collection URL followed by its slug (/post/your-blog-post) and documents no way to put items at the site's root or under date folders, so posts at /my-post/ or /2019/05/my-post/ move to a Collection folder with a 301 each.  
[Webflow Help: Manage CMS Collections](https://help.webflow.com/hc/en-us/articles/33961244391059-Manage-CMS-Collections)
- **Nested Collections.** A Collection template page can take a parent folder, nested several levels (/resources/blog/post), since April 2023. Webflow's Page URLs article still says only static pages go in folders, so check the setting in your Designer.  
[Webflow Help: Structure and style Collection pages](https://help.webflow.com/hc/en-us/articles/33961277976467-Structure-and-style-Collection-pages)
- **Characters.** Webflow supports lowercase Latin letters and numbers in page URLs (its examples also use hyphens). It removes special characters such as ! \~ . & and converts other scripts to Latin letters, and it doesn't say what it does with underscores, so test those.  
[Webflow Help: Page URLs](https://help.webflow.com/hc/en-us/articles/33961362705171-Page-URLs)
- **Capitals.** Webflow turns capital letters in page slugs into lowercase, so /About-Us becomes /about-us and needs a 301. Webflow doesn't say whether its redirects match capitals exactly, so test one.  
[Webflow Help: Page URLs](https://help.webflow.com/hc/en-us/articles/33961362705171-Page-URLs)
- **Extension.** Webflow removes dots from page slugs, so a page can't live at /about.html or /index.php: each needs a 301 to its new path. Webflow's redirect help shows no example from such a path, so test one after import.  
[Webflow Help: Page URLs](https://help.webflow.com/hc/en-us/articles/33961362705171-Page-URLs)
- **Trailing slash.** Webflow's paths have no trailing slash in its examples, and it doesn't document whether /about/ answers or redirects to /about. Publish one page and test it; if /about/ doesn't reach the page, add the drafted 301s.  
[Webflow Help: Page URLs](https://help.webflow.com/hc/en-us/articles/33961362705171-Page-URLs)
- **Files.** A PDF or an image isn't a page, and Webflow documents no way to keep a file at its old address: upload it, then redirect the old address to the file's new one if it changed.  
[Webflow Help: How do I set up redirects in Webflow?](https://help.webflow.com/hc/en-us/articles/33961294898835-How-do-I-set-up-redirects-in-Webflow)
- **Query string.** Webflow's redirects can match a query string when ?, = and & are escaped with % (/%?p%=12), and the Webflow export writes them that way. Choose each target by hand.  
[Webflow Help: How do I set up redirects in Webflow?](https://help.webflow.com/hc/en-us/articles/33961294898835-How-do-I-set-up-redirects-in-Webflow)
- **Languages.** With Localization, each locale lives in a subdirectory (/es/) you can rename, so a language folder can keep its paths; translated page slugs need a Localize Advanced or Enterprise plan.  
[Webflow Help: Manage your site's locales](https://help.webflow.com/hc/en-us/articles/53682971927571-Manage-your-site-s-locales)
- **Redirects.** 301 redirects need a paid plan and live in Site settings → Publishing. Older rules run first, wildcards use (.\*) and %1, they don't apply to localized subdirectories, and a redirect can't sit on a path a published page still uses: unpublish or rename that page first.  
[Webflow Help: How do I set up redirects in Webflow?](https://help.webflow.com/hc/en-us/articles/33961294898835-How-do-I-set-up-redirects-in-Webflow)
- **CSV import.** Redirects can be imported from a CSV with two columns, old path then new path, up to 16 MB. An import replaces every redirect already on the site and one invalid row fails the whole file, so export the current list first and merge.  
[Webflow Help: Import/export 301 redirects](https://help.webflow.com/hc/en-us/articles/33961211526291-Import-export-301-redirects)
- **Redirect limit.** Webflow sets no hard limit but recommends 1,000 redirects at most; one wildcard rule can cover a whole folder (/old-blog/(.\*) → /blog/%1).  
[Webflow Help: How do I set up redirects in Webflow?](https://help.webflow.com/hc/en-us/articles/33961294898835-How-do-I-set-up-redirects-in-Webflow)

## Before you export your content

What the platform you're leaving lets you take with you, from its own help pages. Do it before you cancel the plan.

### Leaving WordPress

1. Tools → Export writes one WXR (XML) file with your posts, pages, custom post types, comments, custom fields, categories, tags and users; All content adds menus.  
[WordPress Documentation: Tools Export Screen](https://wordpress.org/documentation/article/tools-export-screen/)
2. The file links to your media rather than holding it, and the importer copies the images from the old site, so keep that site online until the move is checked.  
[WordPress.com Support: Export your website's content](https://wordpress.com/support/export/)
3. On your own server, back up the WordPress folder (uploads included) and the database, and copy any redirect rules from .htaccess: they stop working with the old server.  
[WordPress Advanced Administration: Migrating WordPress](https://developer.wordpress.org/advanced-administration/upgrade/migrating/)
4. Since WordPress 5.5 the site lists its public posts, pages, taxonomies and authors at /wp-sitemap.xml (up to 2,000 URLs a file), unless search engines are discouraged. An SEO plugin may serve its own instead; this planner reads either.  
[Make WordPress Core: New XML Sitemaps Functionality in WordPress 5.5](https://make.wordpress.org/core/2020/07/22/new-xml-sitemaps-functionality-in-wordpress-5-5/)
5. Note your permalink structure under Settings → Permalinks (/%postname%/, /%year%/%monthnum%/%postname%/ or plain ?p=123): it decides which posts need a 301 on the new platform.  
[WordPress Documentation: Settings Permalinks Screen](https://wordpress.org/documentation/article/settings-permalinks-screen/)
6. The export includes custom fields, but WordPress doesn't document whether your SEO plugin's titles and descriptions travel with them: crawl the live site for each page's title and description before the switch.  
[WordPress Documentation: Tools Export Screen](https://wordpress.org/documentation/article/tools-export-screen/)

## Key takeaways

- A platform move breaks URLs for a few documented reasons: CMS folders, trailing slashes, extensions, capitals and query strings.
- Webflow puts every CMS item under its Collection's folder, so root-level or dated blog posts need a 301 each; Astro and Next.js can rebuild any path.
- Neither Webflow nor Framer documents how an address ending in a slash answers: test one page before launch.
- Plan the redirects before the build, then check them against the staging site's real URLs.

## How to plan a migration with it

1. **Read your sitemap.** Type your site's address and the planner finds its sitemap through robots.txt or the usual addresses, sitemap indexes included. You can also paste URLs or upload a crawl export.
2. **Pick both platforms.** The one you're leaving sets the export checklist; the one you're moving to sets the URL rules.
3. **Check the patterns.** Each pattern is one kind of page, such as /blog/{slug} or /{n}/{n}/{slug}. Patterns with many URLs are guessed to be CMS collections: switch any that are hand-made pages, and name the folder a collection should move to.
4. **Read the verdicts.** Keeps its path, a 301 with the new path drafted, or test it. Each verdict links to the rule behind it, and each rule to the vendor's page.
5. **Export the redirects** in the format the new platform imports, plus the CSV for whoever approves the move. Once the new site is on staging, check the map against its real URLs with the [redirect map generator](https://dardo.studio/en/tools/redirect-map-generator/).

## What changes URLs in a platform move

Most URLs that break in a migration break for a few reasons, and each platform documents them differently:

- **CMS folders.** Webflow serves every CMS item under its Collection's folder, so WordPress posts at /my-post/ or /2019/05/my-post/ need a 301 each. Framer documents one folder before :slug; root-level and dated paths aren't documented. Astro and Next.js can rebuild any path.
- **Trailing slashes.** WordPress addresses end in a slash; Webflow's and Framer's don't, and neither documents how /about/ answers. Next.js redirects one form to the other by itself; on a static Astro build, the host decides.
- **Extensions and capitals.** Webflow removes dots and lowercases capitals in page slugs, so /About.html becomes /about. Astro can keep .html addresses with its build.format setting.
- **Query strings.** To every new platform, a plain WordPress link such as /?p=12 is the home page. Only a redirect that matches the query can send it somewhere useful, and only Next.js and Webflow document one.

## What each platform keeps

__What each platform keeps__
| Old URL                                 | Astro                                        | Next.js                        | Webflow           | Framer            |
| --------------------------------------- | -------------------------------------------- | ------------------------------ | ----------------- | ----------------- |
| Pages in folders (/services/web-design) | Keeps                                        | Keeps                          | Keeps             | Keeps             |
| CMS items in one folder (/blog/post)    | Keeps                                        | Keeps                          | Keeps             | Keeps             |
| CMS items at the root (/post)           | Keeps                                        | Keeps                          | 301 to a folder   | Test              |
| CMS items under dates (/2019/05/post)   | Keeps                                        | Keeps                          | 301 to a folder   | Test              |
| Trailing slash (/about/)                | Keeps with build.format 'directory'          | Keeps with trailingSlash: true | Test              | Test              |
| No trailing slash (/about)              | Host decides: test                           | Keeps (the default)            | Keeps             | Keeps             |
| .html address (/about.html)             | Keeps with build.format 'file' or 'preserve' | Test                           | 301               | Test              |
| Capital letters (/About-Us)             | Test                                         | Test                           | 301 (lowercased)  | Test              |
| Query string (/?p=12)                   | 301 at the host                              | 301 with has                   | 301, escaped      | Test              |
| Redirect limit                          | Your host's                                  | 1,024 on Vercel, per Next.js   | 1,000 recommended | 2,500 per project |
| Bulk import                             | Host file (\_redirects)                      | next.config.js                 | CSV, replaces all | Redirect Sync CSV |

From Webflow's and Framer's help centres and the Astro 7 and Next.js 16 docs, read on 22 October 2026. The planner lists every rule with its page under the results.

## What the planner can't tell you

It reads URLs, not pages. It doesn't know which old pages have traffic or links, which content you're cutting or what your new pages will be called, and a sitemap misses pages it doesn't list. Add the pages Search Console and your analytics show with clicks, and replace each drafted target with the page you actually build. Where a vendor documents nothing, test one URL on the platform before launch rather than trusting any planner, this one included. Our [migration checklist](https://dardo.studio/en/blog/website-migration-seo-checklist/) covers the rest of the move: titles, structured data, analytics and launch checks.

## Questions before you choose

**Will my URLs change if I move from WordPress to Webflow?**

Usually the blog's do. Webflow serves each CMS item at its Collection URL and slug (/blog/post), so posts at the root (/post/) or under dates (/2019/05/post/) need a 301 each, while pages in folders can keep their paths. WordPress addresses also end in a slash that Webflow's don't, and Webflow doesn't document how it answers them, so test one before launch.

**Can I keep my URLs when moving to Framer?**

Pages can keep nested paths, and a CMS collection can keep a /folder/:slug path. Framer doesn't document root-level or dated CMS paths, trailing slashes, capitals or .html addresses, so the planner marks those to test, with the 301 to use if the test fails.

**Does Astro or Next.js keep every URL?**

Both can build any path. The address form is a site-wide setting: Astro's build.format and trailingSlash, where a static build leaves slashes to the host, and Next.js's trailingSlash, which redirects the other form by itself.

**How is this different from the redirect map generator?**

The planner works before the new site exists: it predicts the new paths from the platform's rules. The redirect map generator matches your old URLs with the new site's real ones once it's built. Use the planner to scope the move and the generator to check it.

**How many redirects can each platform hold?**

Webflow recommends 1,000 at most, Framer allows 2,500 per project, and the Next.js docs note a limit of 1,024 on Vercel. A wildcard rule can cover a whole folder in one line.

**Is the planner free? Do you keep my URLs?**

It's free and needs no account. The plan is made in your browser; when you read a sitemap by address, our server fetches that public sitemap and returns its URLs without storing them.

## Sources & further reading

Sources behind this page, with further detail from the original publishers.

- [Google Search Central: How to move a site](https://developers.google.com/search/docs/crawling-indexing/site-move-with-url-changes) · developers.google.com
- [Webflow Help: Page URLs](https://help.webflow.com/hc/en-us/articles/33961362705171-Page-URLs) · help.webflow.com
- [Webflow Help: Manage CMS Collections](https://help.webflow.com/hc/en-us/articles/33961244391059-Manage-CMS-Collections) · help.webflow.com
- [Webflow Help: Structure and style Collection pages](https://help.webflow.com/hc/en-us/articles/33961277976467-Structure-and-style-Collection-pages) · help.webflow.com
- [Webflow Help: How do I set up redirects in Webflow?](https://help.webflow.com/hc/en-us/articles/33961294898835-How-do-I-set-up-redirects-in-Webflow) · help.webflow.com
- [Webflow Help: Import/export 301 redirects](https://help.webflow.com/hc/en-us/articles/33961211526291-Import-export-301-redirects) · help.webflow.com
- [Framer Help: Using pages](https://www.framer.com/help/articles/how-to-use-pages/) · framer.com
- [Framer Help: How to duplicate a CMS page and connect it to a different CMS collection](https://www.framer.com/help/articles/how-to-duplicate-a-cms-page-and-connect-it-to-a-different-cms/) · framer.com
- [Framer Help: How to setup redirects to maintain SEO ranking](https://www.framer.com/help/articles/how-to-setup-redirects-to-maintain-seo-ranking/) · framer.com
- [Framer Help: Bulk exporting and importing redirects](https://www.framer.com/help/articles/bulk-importing-exporting-redirects/) · framer.com
- [Framer Help: How to self host using a reverse proxy](https://www.framer.com/help/articles/how-to-self-host-using-reverse-proxy/) · framer.com
- [Framer Developers: addRedirects](https://www.framer.com/developers/reference/plugins-add-redirects) · framer.com
- [Astro Docs: Routing](https://docs.astro.build/en/guides/routing/) · docs.astro.build
- [Astro Docs: Configuration reference](https://docs.astro.build/en/reference/configuration-reference/) · docs.astro.build
- [Next.js Docs: trailingSlash](https://nextjs.org/docs/app/api-reference/config/next-config-js/trailingSlash) · nextjs.org
- [Next.js Docs: redirects](https://nextjs.org/docs/app/api-reference/config/next-config-js/redirects) · nextjs.org
- [Next.js Docs: How to handle redirects](https://nextjs.org/docs/app/guides/redirecting) · nextjs.org
- [WordPress Documentation: Tools Export Screen](https://wordpress.org/documentation/article/tools-export-screen/) · wordpress.org
- [Squarespace Help: Export your site content](https://support.squarespace.com/hc/en-us/articles/206566687-Export-your-site-content) · support.squarespace.com
- [Wix Help: CMS, exporting content from your collection](https://support.wix.com/en/article/cms-formerly-content-manager-exporting-content-from-your-collection) · support.wix.com

[Dardo](https://dardo.studio/) · [Free tools](https://dardo.studio/en/tools/) · Migration planner

## Plan it, then check it

The planner scopes the move. Check it against the new site once it's built, or have us run the migration.

[01 · **Redirect map generator** · Match old URLs with the new site's real ones](https://dardo.studio/en/tools/redirect-map-generator/) · [02 · **Migration checklist** · Titles, structured data, analytics and launch checks](https://dardo.studio/en/blog/website-migration-seo-checklist/) · [03 · **Website migration service** · URL inventory, redirects and post-launch checks](https://dardo.studio/en/services/website-migration/) · [04 · **Talk to Dardo** · Send your platforms and dates](https://dardo.studio/en/contact/?service=website-migration)

## Keep exploring.

- [Service · **Website migration services without losing SEO**](https://dardo.studio/en/services/website-migration/)
- [Service · **Astro development: fast content sites and migrations**](https://dardo.studio/en/services/astro-development/)
- [Service · **Webflow design and development for marketing teams**](https://dardo.studio/en/services/webflow-development/)

- [Service · **Framer website design and development for startups**](https://dardo.studio/en/services/framer-development/)

**More to explore**

- [Service · **Technical SEO for new and custom-built websites**](https://dardo.studio/en/services/seo/)
