CMS migration SEO: exports, URLs and redirects by platform

The short answer

CMS migration SEO is the URL work of a platform switch: each old URL that earns clicks or links must reach its mapped page in WordPress. The difficulty depends on the platform you leave: what its export carries, which URL patterns it forces and what its redirect tool can do. Eight platforms are compared below from vendor docs.

CMS migration matrix: eight platforms into WordPress

If your business site is leaving a hosted builder, a store platform or another CMS for WordPress, the platform you leave sets the limits of the move before any design work starts. Each cell cites the platform’s help docs, or WordPress’s own, read on 8 October 2026.

On platform moves into WordPress, end to end, these facts become the platform pattern map: each pattern the old platform forced is either rebuilt in WordPress or turned into one redirect rule, and every URL on your signed inventory is mapped to one WordPress page.

Platform Export URL pattern it forces Redirect tool on the old platform Rebuilt by hand
Wix No site export: the site runs only on Wix’s servers1. WordPress.com’s importer takes pages, images, menus and the site title5 Blog posts under /post/, a prefix you can rename but not remove3; products under /product-page/4 URL Redirect Manager on a custom domain; other domains allowed; 5,000 per site2 Blog posts beyond the 20 newest in the RSS feed, and the design5
Squarespace WordPress-format .xml: layout pages, one blog with its posts, text and image blocks, gallery pages on version 7.06 Items at /page-slug/item-slug; version 7.1 products carry /p/ before the slug7 URL mappings field: 301 or 302, other domains allowed, 400 KB (about 2,500 lines)7 Album, cover, index and portfolio pages, a second blog, product, audio and video blocks, styles and custom CSS6
Webflow Code export on Workspace plans, not Site plans, without CMS, Ecommerce or User Accounts content; Collections as CSV9 Collection items inside the folder named by the Collection URL10 301 redirects on a paid plan; capture-group wildcards; CSV import and export; 1,000 advised11 Forms, site search, password protection, member areas and ecommerce9
Shopify Products as CSV, without the image files; SEO fields filled only where edited by hand13 Fixed /products and /collections paths12 URL redirects from broken URLs only; full URLs for other domains; CSV import and export; 100,000, or 20,000,000 on Plus12 Product images, if the old store closes before the import13
Drupal None for WordPress: its Import screen lists no Drupal importer25 System paths such as node/7, unless a core URL Alias gives them a readable name14 Contributed Redirect module; internal paths or external URLs15 Not listed by the vendor
Joomla No Joomla importer among WordPress’s built-in importers25 Set by three switches: Search Engine Friendly URLs, URL Rewriting and Add Suffix to URL17 Redirects component; needs Use URL Rewriting; bulk import16 Not listed by the vendor
HubSpot HTML files of pages, blog posts and templates; blog post data as a spreadsheet20 Blog post URLs include their blog’s root URL22 URL redirects on paid subscriptions, for HubSpot-hosted domains; other domains allowed18; 500 per CSV upload19 Forms, which lose paid features when the account closes21
WordPress.com WordPress export file of posts, pages and comments, without the theme design, customizations or plugins23 Date-based post URLs such as /2014/10/21/sample-post/24 Paid site redirect for the .wordpress.com address; page redirects need a plugin on a paid plan24 Theme design and customizations23

If your developer or agency is building the new WordPress site, the same facts feed SEO plans for any platform switch: the URL inventory, the redirect map and launch QA, without the build.

What each platform’s export carries, and what it leaves

WordPress reads only a handful of export formats directly: its Import screen offers importers for Blogger, LiveJournal, Movable Type and TypePad, RSS, Tumblr and WordPress export files25. Squarespace and WordPress.com produce a file in that last format. Every other platform here hands over CSV, HTML, an RSS feed or nothing at all, so its content is rebuilt from those files or moved by hand.

Wix, Squarespace and Webflow

Wix states that a site “needs to be hosted and operated on Wix’s servers”1, so no site file leaves Wix. WordPress.com’s Wix importer moves pages, images, menus and the site title, but Wix blog posts cannot be exported and arrive through an RSS feed that carries “the 20 most recent posts”5.

Squarespace exports a WordPress-format .xml file but warns that “Not everything will export, as many features rely on our platform’s JavaScript and CSS”6. Only one blog page fits in the file, and images imported into self-hosted WordPress may arrive as “reference links” that stop working once the Squarespace site is deactivated6.

Webflow’s code export comes with Workspace plans only, not Site plans, and “CMS, User Accounts, Ecommerce content (databases), code components and functionality, and localized pages, elements, and content aren’t included in exported code”9. Collection items leave separately as CSV files9, so blog posts and other Collection items are rebuilt in WordPress from those rows.

Shopify

Shopify exports products to CSV, but “the images associated with each product aren’t included in the CSV file”, and imported images appear only if they “remain viewable on a publicly accessible website”13. The SEO Title and SEO Description columns hold text only where someone edited those fields; elsewhere Shopify generated the search snippet from the product title and description, so the file lacks it13. Customers, orders and payment settings are store data and sit outside this matrix.

Drupal and Joomla

WordPress’s Import screen has no importer for Drupal or Joomla25, so their content moves into WordPress by a database script or by hand. Both shape URLs through settings rather than one fixed prefix, which the next section maps.

HubSpot and WordPress.com

HubSpot exports HTML files of pages, blog posts and templates, with the advice to “Use these files to import content to another platform”20; the HTML still has to become WordPress pages and posts.

WordPress.com’s export is the native WordPress format, without “your theme design, customizations, or plugins”, and a site of more than about 1,000 posts or pages gets a .zip of several XML files to import one by one23. A WordPress.com site keeps the same software after the move, so it belongs with WordPress.com to self-hosted moves rather than with platform switches.

URL patterns the old platform forces, and how WordPress matches them

A forced segment is a piece of the path that the old platform added on its own, such as Wix’s /post/. WordPress can rebuild such a segment through its Permalinks settings, whose Custom Structure field takes structure tags such as %year%, %monthnum%, %day% and %postname%26. Where WordPress cannot rebuild a segment, each affected URL redirects to its mapped page with one 301 redirect.

  • Wix blog posts. A Custom Structure of /post/ plus %postname% matches Wix’s post prefix3, the same move WordPress.com’s own Squarespace guide makes with /blog/ “followed by the %postname% tag”8.
  • Squarespace and Webflow collections. Squarespace blog items sit at the blog’s slug plus the item slug, such as /blog/example-post7, and Webflow items sit in their Collection URL folder10; when the collection is the blog, both take the same Custom Structure.
  • WordPress.com. The Day and name setting gives the year, month and day URLs that WordPress.com uses, so posts keep their paths2426.
  • HubSpot blogs. A post’s URL includes its blog’s root URL22, and that root becomes the fixed part of the Custom Structure.
  • Store URLs. Shopify’s fixed /products and /collections paths12 and Squarespace’s /p/ product URLs7 are mapped with the catalog.
  • Drupal. An aliased path is mapped like any other URL; content that never had an alias answers at its system path, such as node/714, and needs its own row in the map.
  • Joomla. Read the three URL switches first: Add Suffix to URL adds “a suffix to the URL based on the document type”17, and every mapped URL has to match it.
  • Category archives. WordPress keeps a base in category and tag URLs, and “you can’t remove them from the URLs altogether”26, so an old category address without a base redirects.

Changing URLs on purpose

Google’s site-move guidance is headed “Change only one thing at a time”, and its example is a site that wants a new domain name, a new CMS and a new layout: “do them one at a time”28. HubSpot’s own help says a changed URL will “affect the page’s search rankings”22. Since the CMS is the change already under way, the paths WordPress can serve stay put, and a deliberate restructure belongs to a later launch, mapped on its own.

Redirects you can set before leaving the old platform

Redirects on the old platform run only while it still serves the old addresses. HubSpot says its redirects “only work for domains connected to and hosted in HubSpot”18, and the same logic applies to every hosted platform in the matrix: once the domain points at the WordPress host, the redirect map runs there. Old-platform redirects matter when the domain changes together with the platform, or when a platform subdomain or second domain keeps earning visits.

Wix2, Squarespace7, Shopify12 and HubSpot18 document redirects to a full URL on another domain, and Drupal’s Redirect module accepts “an external URL”15. Each comes with conditions: Wix redirects need a custom domain2, HubSpot’s need a paid subscription18, and Squarespace, Shopify and Joomla redirect only addresses that no longer load a page71216. WordPress.com moves a whole .wordpress.com address through a paid site redirect, which is not available on sites with plugins installed or hosting features activated24.

The caps on those tools differ widely, which matters when a large site’s old domain has to stay on the old platform for a while:

Bar chart of the most redirects each platform’s own redirect tool accepts: Shopify 100,000 on non-Plus plans, Wix 5,000, Squarespace about 2,500 lines, Webflow 1,000 advised

Shopify Plus raises its cap to 20,000,000 redirects12, and HubSpot’s bulk upload takes 500 at a time19. Pattern rules stretch a cap where the platform has them: Webflow recommends wildcard redirects “where possible”11, and in WordPress the Redirection plugin supports regular expressions “to match any number of URLs”27.

Redirects the old platform already holds, from earlier slug changes, need a place in the new map as well. Shopify and HubSpot export their redirect lists as CSV files1218, Webflow imports and exports them as CSV11, and Squarespace keeps them as lines in its URL mappings field7. Those rows join every other URL on the inventory in a redirect map template, so each old address reaches its mapped page with one 301 redirect instead of a chain.

What gets rebuilt by hand, platform by platform

An export carries content; it does not carry the parts of a site that ran on the old platform’s code. The vendors name those parts themselves:

  • Design and templates. WordPress.com’s Wix importer says a WordPress theme “will not recreate your exact Wix design”5, and Squarespace leaves style settings and custom CSS out of its file6.
  • Forms. Forms stop working in Webflow’s exported code9, and HubSpot forms “lose their paid features” once a HubSpot account is deactivated21.
  • Search, member areas and protected pages. Webflow’s site search, User Accounts and password protection stay behind with its hosting9.
  • Page types and blocks the file skips. Squarespace’s export omits album, cover, index, info, calendar, portfolio and store pages, page-specific headers, footers and sidebars, and product, audio and video blocks6.
  • Images and files. Google’s site-move guide asks site owners to include “URLs of embedded content” such as images and videos in the move28. Squarespace cannot redirect image or file URLs7 and HubSpot says “File URLs can’t be redirected”18, so files that earn links get WordPress addresses of their own, each a row on the redirect map.

Drupal and Joomla publish no such list. A crawl of the old site, template by template, is the rebuild list there.

Before you close the old account

The old account holds the only copy of some of this, so it closes last. Step 1 needs Google Search Console data from before the change, steps 1 and 5 need a crawler, and the others need admin access to the old platform.

  1. List every URL while the old site is still live: Search Console pages with clicks or impressions in the last 16 months, the sitemap and a full crawl. Google also points to the CMS itself, which “can typically provide a straightforward way to get a listing of all URLs that host content”28.
  2. Run every export the platform offers (pages, posts, products, Collections) and date each file.
  3. Copy the platform’s existing redirect list into the redirect map.
  4. Keep the old site public until the images have copied: WordPress.com notes that copying “can take several hours for sites with many photos”23.
  5. Record each URL’s title, meta description and main heading for the parity check, because some exports leave them blank.
  6. Close the old account only after the launch crawl finds every URL on the inventory reaching its mapped page.

When to hand the move over

If organic search brings in inquiries or sales, hand over the steps above that need Search Console history, a crawler and admin access to both platforms. We move the site into WordPress as the URL-Verified Migration, from $2,990 / £2,390, with every URL on your signed inventory mapped before launch and checked after it. If your developer builds the WordPress site, the Migration Map, from $1,390 / £1,090, hands over the redirect map for that build.

If the switch has already launched and clicks fell, start with a diagnosis when rankings fell after a platform switch: it names the cause before anything is fixed.

Do it yourself

Hand it over

From $2,990 / £2,390

Frequently asked questions

Which URL patterns and exports does each CMS allow?

It differs by platform. Squarespace and WordPress.com export files WordPress can read; Webflow, Shopify and HubSpot export CSV or HTML; Wix has no site export, and WordPress has no importer for Drupal or Joomla. On patterns, Wix puts blog posts under /post/, Shopify fixes /products and /collections, and Drupal shows node paths unless an alias is set. The matrix at the top lists all eight.

Which platforms let you set up 301 redirects before you leave?

Wix, Squarespace, Shopify and HubSpot can each redirect an old address to a page on a different domain, and on Drupal the contributed Redirect module does the same. The conditions differ: a custom domain on Wix, a paid subscription on HubSpot, and on every platform an old site that still serves the domain. WordPress.com offers a paid redirect for the whole .wordpress.com address, or page redirects through a plugin on a paid plan.

What has to be rebuilt by hand after a CMS move?

The design and templates, forms, site search, member areas and any page type the export file skips. Squarespace’s own help lists style settings and custom CSS as content that will not export, Webflow’s exported code runs without forms or CMS content, and HubSpot forms lose paid features after the account closes. Images and files hosted on the old platform also need new WordPress addresses.

Is a CMS migration a good time to change URLs?

Not by choice. Google’s advice for site moves is to make one change at a time, and leaving one CMS for another is already that change. Keep each path WordPress can reproduce, redirect only the URLs whose forced pattern cannot be rebuilt, and save a planned restructure for its own launch.
  1. Exporting or Embedding Your Wix Site Elsewhere Wix Help Center. Accessed .
  2. Setting Up a 301 Redirect for a Page on Your Site Wix Help Center. Accessed .
  3. Wix Blog: About Blog Web Addresses (URLs) Wix Help Center. Accessed .
  4. Creating a Group Redirect (301) Wix Help Center. Accessed .
  5. Import from Wix WordPress.com Support. Accessed .
  6. Exporting your site Squarespace Help Center. Accessed .
  7. URL mappings Squarespace Help Center. Accessed .
  8. Import from Squarespace WordPress.com Support. Accessed .
  9. How do I export my Webflow site code? Webflow Help Center. Accessed .
  10. Manage CMS Collections Webflow Help Center. Accessed .
  11. How do I set up redirects in Webflow? Webflow Help Center. Accessed .
  12. Creating and managing URL redirects Shopify Help Center. Accessed .
  13. Exporting products Shopify Help Center. Accessed .
  14. Concept: Paths, Aliases, and URLs Drupal User Guide (drupal.org). Accessed .
  15. Redirect module README Redirect module for Drupal (drupal.org). Accessed .
  16. Redirects: Links Joomla! Help Screens. Accessed .
  17. Global Configuration: Site Joomla! Help Screens. Accessed .
  18. Create and manage URL redirects HubSpot Knowledge Base. Accessed .
  19. Bulk upload URL redirects HubSpot Knowledge Base. Accessed .
  20. Export web content and data HubSpot Knowledge Base. Accessed .
  21. Export your content and data HubSpot Knowledge Base. Accessed .
  22. Change content URLs HubSpot Knowledge Base. Accessed .
  23. Export your website’s content WordPress.com Support. Accessed .
  24. Redirect a WordPress.com site address WordPress.com Support. Accessed .
  25. Tools Import screen WordPress.org Documentation. Accessed .
  26. Redirection WordPress.org Plugin Directory. Accessed .
  27. How to move a site Google Search Central. Accessed .

Quotes and calls are free.

Get a quote