How to migrate from Squarespace to WordPress
Squarespace exports layout pages, one blog with its posts, and text and image blocks as a file the WordPress importer reads. Products, further blogs, galleries, video and the design are left out and are rebuilt. Redirect each old address before you change the domain.
- By
- WP Ministry
- Updated
In short
- Squarespace's export holds layout pages, one blog with its posts, and text and image blocks. It leaves out products, other page types, video, audio, drafts and the design.
- Keep the Squarespace subscription active until the new site is live. An export needs an active, published site.
- After the import, check that each image was copied to the new site and loads from it. Images can stay on Squarespace's servers and break when that site is closed.
- List every address the old site answers at before you start, and redirect each one that changes.
- Customer passwords are not in any export. Customers set a new one.
- Change the domain last, after the redirects, forms and images have been checked.
You can move a Squarespace site to WordPress yourself. Squarespace exports part of a site as an .xml file in WordPress's own format: layout pages, one blog with its posts and comments, and text and image blocks. It does not export products, a second blog, most other kinds of page, video, audio, drafts or the design. Those are rebuilt on the new site, and each old address that changes is redirected.
The export and the import are the short part. The rebuild and the redirects are where the time goes.
What moves and what does not
This table follows the lists in Squarespace's help center of what its export holds and what it leaves out.
| What | In the export file | What to do |
|---|---|---|
| Layout pages | Yes | Import, then lay each page out again in your theme. |
| One blog page with all of its posts | Yes, with up to 1,000 comments on each post | Import. |
| A second or third blog page | No. Only one blog page can be exported | Copy the posts across by hand. |
| Text blocks and image blocks | Yes | Import, then check that the images were copied. |
| Embed blocks, Instagram blocks and similar | Their text only, "with minimum structure" | Rebuild. |
| Audio, video and product blocks | No | Rebuild. |
| Gallery pages | On version 7.0 only | Rebuild on version 7.1. |
| Album, cover, index, info, calendar, portfolio and store pages | No | Rebuild. |
| Dropdowns, and content in page-specific headers, footers and sidebars | No | Rebuild the menus, header and footer. |
| Drafts | No | Copy by hand anything you want to keep. |
| Style settings and custom CSS | No | The design is rebuilt in a WordPress theme. |
| Products | Not in this file. Squarespace exports them as a separate .csv | Import into WooCommerce and add the images again. |
| Customers and orders | Not in this file. Each has a .csv export of its own | Keep as a record, or load with an import plugin. |
| Customer passwords | In no export | Customers set a new one. |
Before you start
Keep the Squarespace subscription active. Squarespace exports only from a site that is active and published, and not from a trial site. If a site has expired, Squarespace says its content may already have been deleted. Do not cancel until the new site is live.
List every address the old site answers at. Open /sitemap.xml on your domain. Squarespace says it lists the URLs of all pages on the site. It leaves out disabled pages, pages hidden from search, password-protected pages and the addresses of uploaded files, so add any of those that people link to. Check that your blog posts and products are on the list too. Keep the list in a spreadsheet.
Copy your URL mappings. Redirects you made in Squarespace are kept in its Developer tools panel, under "URL mappings". Squarespace applies them only to domains connected to a Squarespace site, so they stop the day the domain moves. Add each one to the spreadsheet.
Write down what the site does. Note each form and where it sends its mail, each embed, the store's payment and shipping settings, and anything visitors sign in to. None of this is in the export.
Export the store's data. If you sell on Squarespace, download three files: the products, the orders and the customers. Each is a .csv export in its own panel.
Decide where WordPress will live. This guide is for WordPress on hosting you buy yourself. You need a hosting plan, a WordPress install on a temporary address from your host, and a theme. Build there while the Squarespace site stays live on your domain.
Move the content
Step 1: Export from Squarespace
Set the site's availability to "Public". Open the Import & export content panel, select "Export", then the "WordPress" icon. If the site has more than one blog page, a "Select Primary Blog" message appears: pick the blog to export and select "Export". When the export has finished, "Download" saves the .xml file to your computer.
Step 2: Set the permalinks on the new site
In WordPress, go to Settings, then Permalinks. Choose "Post name", or enter a structure of your own under "Custom Structure", and select "Save Changes". Leave it on "Plain" and every address looks like
/?p=123. The section on redirects below explains which to pick.Step 3: Install the WordPress importer
Go to Tools, then Import. Under "WordPress", select "Install Now", then "Run Importer". The importer is a free plugin from WordPress.org.
Step 4: Import the file
Select "Choose File", pick the .xml file, and select "Upload file and import". WordPress asks you to map each author in the file to a user on the new site, or to create a new user. The same screen has two boxes. Tick "Download and import file attachments", which starts unticked: without it no image is copied. Leave "Change all imported URLs that currently link to the previous site so that they now link to this site" ticked, and select "Submit". If the import stops part of the way through a large file, the server may have run out of memory: ask your host to raise the limit, or split the file into smaller ones and import each in turn.
Step 5: Check that the images were copied
Where an image's address points does not settle it. With the second box ticked, the importer changes an address on the old site's domain to the new site's whether or not the file was copied. Check three things.
- The importer's last screen. Above "All done." it lists each file it could not copy, as "Failed to import Media" with the file's name.
- The Media Library. Your images should be in it. If it holds none of them, nothing was copied.
- An image in an imported post. Open the post on the new site, right-click an image and open it in a new tab. A copied image loads, from an address on the new site that by default contains
/wp-content/uploads/. An address on the new site that answers "not found" is an image that was never copied. An address that is not on the new site is an image still being loaded from Squarespace.
Squarespace warns about this: on a WordPress site you host yourself, the import "may only pull reference links", and those links stop working when the Squarespace site is deactivated. Download each missing image from the old site, upload it to the Media Library and replace it in the post.
Step 6: Rebuild what the export left out
Work down the table above: galleries, portfolio and event pages, video and audio, a second blog, the menus, the header and the footer. Rebuild each form with a form plugin and send yourself a test message.
Step 7: Move the store
Install WooCommerce. Its built-in importer takes a .csv file of products: go to Products, then All Products, and select "Import". On the column mapping screen, match each column in Squarespace's file to a WooCommerce field, or choose "Do not import". Squarespace's product file does not hold featured images or variant images, so add those by hand. The built-in importer is for products only. Keep the order and customer files as your record, or load them with an import plugin made for the job.
Step 8: Rebuild the design
The export holds no style settings and no custom CSS. Choose a theme, set its colors and type, and lay out each page again.
Redirect your old addresses
Links on other sites, bookmarks and search results all point at your old addresses. Squarespace's own documentation says what happens when an address changes with no redirect: a visitor who follows the old link gets a 404 error. The same is true after a move.
| Kind of page | On Squarespace | On WordPress |
|---|---|---|
| Page | The page's URL slug, such as /about | The page's slug, such as /about/ |
| Blog post | The blog page's slug, then a part set by the post's title and the blog's URL format, which can include the year, month and day | Set by the permalink structure: /sample-post/ with "Post name", or under the date with "Day and name" |
| Product | The store page's address, then the product's slug. On version 7.1 a p/ always comes before the slug | With WooCommerce, /product/ and then the product's slug, unless you change the product base |
| Category or tag | Copy these from the live site | /category/ or /tag/ and then the name, unless you change the base |
You can keep some addresses by matching the structure. If your posts sit at /blog/post-title, the custom structure /blog/%postname%/ puts them at the same path. A structure with dates is harder to match exactly. WordPress writes the month and day with two digits, so check how your old addresses write them.
The WordPress addresses here end in a slash and the Squarespace ones do not. Do not assume the two are treated as one: request an old address without the slash on the new site and see that it reaches the page.
For each address that still changes, make a redirect. Redirection is a free plugin in the WordPress.org directory. It manages 301 redirects from a screen under Tools, imports a list from a .csv file, and accepts a pattern where many addresses change in the same way. Work from the spreadsheet: old address in one column, new address in the next.
Check the redirects twice. Before the domain moves, add an old path to the temporary address and see where it lands. After the domain moves, run the old addresses through the redirect checker, which follows a redirect and shows each hop. Each old address should reach the right page in one hop.
Check before you switch the domain
- Each address in the spreadsheet either exists on the new site or has a redirect.
- Every image on the new site loads, and none is loaded from Squarespace.
- Each form sends, and its mail arrives.
- On a store, a test order goes through with the payment method in its test mode.
- Under Settings, then Reading, "Discourage search engines from indexing this site" is not ticked.
- You know where your email is hosted, and which records in the domain's settings belong to it.
Then change the domain. If the new site was built on a temporary address, give it the real one first: how to change your WordPress URL covers that. If the domain is registered with Squarespace, it can stay there. In its DNS settings, delete the records under "Squarespace Defaults" and add your host's records under "Custom Records". Leave the records for your email alone. Squarespace says a change can take 24 to 48 hours to work properly.
Where it goes wrong
- Images left behind. The site looks finished, the Squarespace subscription is canceled, and the images vanish. Check that the images were copied before you cancel.
- The second blog. Only one blog page is exported. A site with a news section and a journal loses one of them unless it is copied by hand.
- Pages that arrive flat. Text from embed blocks and similar comes across with very little structure, and a page built mostly from galleries or video arrives almost empty.
- Linked files. Squarespace says linked .pdf files are in the export but cannot be imported into WordPress. Upload each file to the Media Library and fix the link.
- Redirects that were never made. Blog posts and products are the addresses most likely to change. URL mappings made in Squarespace are gone the day the domain moves.
- Passwords. No export holds them. Tell store customers before the move that they will set a new password.
- Forms and email. A rebuilt form sends its mail from the new site, and nothing tells you when that mail does not arrive. Send a test through each form and look for it in the inbox. Changing the domain's records can also cut off mailboxes if the mail records are removed with the rest.
If you would rather hand the move over, our Squarespace to WordPress migration service starts with a free assessment and a fixed quote in writing.
Common questions
Does it matter whether my site is on version 7.0 or 7.1?
In two places. Gallery pages are exported on version 7.0 only. And on version 7.1, product addresses always have a p/ before the product's slug, which changes the redirects you write.
Squarespace recommends WordPress.com. Should I import there?
It depends on where you want the site to live. Squarespace recommends WordPress.com because it copies your images to its own servers during the import. On hosting you buy yourself, the image check above does that job by hand.
Is the export file a backup of my site?
No. It holds part of the content and none of the design, the store or the settings.
When can I cancel Squarespace?
After the domain points at the new site, the redirects have been checked and no image is loaded from Squarespace. Squarespace's own instructions put it the same way round: cancel after the import has succeeded.
- ResourceWebsite migration checklist: before, during and after the move
- ResourceWebsite redesign SEO checklist: what to record, map and check on a rebuilt site
- Cost guideWordPress migration cost: which job you are being quoted for, and what moves the price
- GuideHow to migrate a website without losing SEO: what Google and Bing document
- GuideHow to migrate a WordPress site to a new host without downtime
- GuideHow to migrate from Shopify to WooCommerce

