How to migrate from Squarespace to Shopify, step by step
Squarespace gives you clean CSV exports for products, contacts and orders — and quietly keeps everything else. This is the whole move: the four exports, the rebuilds, the redirect map with its one genuinely awkward path, and the cancellation order that keeps your site up throughout.
Written for someone doing this themselves. Every step links to the documentation it came from, so you can check it rather than trust us. If you would rather not do it, we will quote it.
The checklist
Every step, in the order it has to happen.
Before you touch anything2
Settings → Developer Tools → URL mappings, plus the live sitemap
Watch out: A site upgraded from 7.0 to 7.1 had /p/ injected into product URLs at upgrade time — both shapes live in Google’s index, and both need redirect rows.
Squarespace → Asset Library
Watch out: There is no bulk media export — and when a Squarespace site deactivates, its image links deactivate with it, which kills a Shopify import that references them.
Get your data out3
Products & Services → Products → Export all
Watch out: The export omits reviews, featured images, image alt text and variant images — and download products cannot be represented at all.
Contacts → … → Export all contacts · Products & Services → Orders → Export
Watch out: Order exports do not refresh when statuses later change, and Shopify’s guide says to take only fulfilled orders. Saved addresses mostly do not export.
account.squarespace.com → Import & export content → Export → WordPress
Watch out: Only one blog exports — multi-blog sites get a “Select Primary Blog” prompt and the rest are left behind. Product, video and audio blocks are excluded too.
Build in parallel6
Shopify → Online Store → Preferences → Store access
Watch out: Do not remove the password until redirects and DNS are ready — a half-built store in Google’s index is worse than none.
Shopify → Products → Import
Watch out: Weights convert by the store’s actual unit — ×1,000 for kg, ×453.6 for lb. Shopify’s guide assumes pounds, which is wrong for most non-US stores.
Shopify → Customers → Import
Watch out: There is no mapping support for customer CSVs — headers must match Shopify’s template exactly, and duplicate emails are skipped silently.
Settings → Notifications, then the migration app
Watch out: Every imported historical order fires a new-order email to all subscribed staff unless notifications are off first.
Online Store → Themes · Content → Blog posts · Content → Menus
Watch out: Layouts, blocks and custom CSS have no Shopify counterpart — this rebuild is usually the largest line item in the whole project.
Settings → Payments / Shipping and delivery / Taxes and duties
Watch out: Deactivate shipping on digital and service products, or they will ask customers for a delivery address.
Keep your rankings1
Content → Menus → URL redirects → Import
Watch out: Shopify documents /shop as a prefix it will not redirect from — and /shop/p/ is exactly where Squarespace 7.1 products live. Prove one redirect works before building hundreds.
Cut over1
Registrar DNS panel · Shopify → Settings → Domains
Watch out: Domain transfers take up to 15 days and can hit a 60-day lock. Point DNS first, verify the site and TLS are live, and treat the registrar transfer as a separate, later step.
After the switch1
Squarespace → Billing → Subscriptions
Watch out: Cancelling an annual plan ends service immediately, and the domain, email and website are separate subscriptions — cancel in the right order or the site vanishes early.
What does not come with you
Every migration guide that promises everything moves is selling something. These are the things that genuinely do not, and what to do instead.
Page layouts, blocks and custom CSS
They depend on Squarespace’s own code and are excluded from the export by design.
Instead: Rebuild in a Shopify theme — treat it as new design work, not migration.
Members and gated content
Squarespace states members cannot be created or imported manually — each member signed up personally, and there is no account object to move.
Instead: Export the member list from Lists & Segments, then re-onboard through an email campaign with a discount or temporary free access.
Saved payment methods
Cards are tokenised by the payment processor and never held in exportable form.
Instead: Customers re-enter at first checkout. For active subscriptions there is a gated migration path — Shopify Payments as destination, handled with the subscription app’s developer.
Customer passwords
Passwords are encrypted outside Shopify and cannot come across.
Instead: Shopify’s customer accounts sign in with a one-time email code, so there is no password to recreate.
Product reviews
Shopify states flatly that reviews cannot be exported or migrated from Squarespace.
Instead: Re-collect at launch, or manually re-key the best into a reviews app.
Video and audio blocks
Both are on the export exclusion list, and uploaded video cannot be bulk-exported.
Instead: Re-embed YouTube/Vimeo by URL; self-hosted video needs the original masters — confirm they still exist early.
Digital download products
The product CSV format only accepts physical and service products.
Instead: Rebuild them in Shopify and attach files with the free Digital Products app, one at a time.
All but one blog
The XML export handles exactly one blog page; the rest are silently left behind.
Instead: Export the primary blog, then move the others with a migration app or by hand.
Your URLs, mapped.
Squarespace and Shopify disagree about URL shapes, so every old address needs a 301 to its new home. This is the mapping.
| Squarespace | Shopify | Note |
|---|---|---|
| /shop/p/linen-throw | /products/linen-throw | Squarespace 7.1’s default shape — and /shop is a prefix Shopify documents as non-redirectable. Test one before planning the map. |
| /store/linen-throw | /products/linen-throw | 7.0 shape without /p/. Sites upgraded from 7.0 have both shapes indexed and need both rows. |
| /shop/p/linen-throw-x7k2p | /products/linen-throw | Duplicated Squarespace products get random suffixes — pull these from the sitemap, not the product list. |
| /shop?category=Bedding | /collections/bedding | Query-string sources are the highest-risk rows — Shopify warns they may not work. |
| /blog/how-we-weave | /blogs/news/how-we-weave | Shopify inserts a blog handle; never a 1:1 path. |
| /blog/2024/3/12/how-we-weave | /blogs/news/how-we-weave | Date-based post URLs flatten to one segment — every dated post needs its own row. |
| /about | /pages/about | |
| /events/2024/6/1/summer-fair | /pages/events | Shopify has no events object — redirect to a page. |
Your extensions, matched.
- Squarespace Scheduling (Acuity)Keep Acuity, or a booking app
Acuity works standalone with no website at all — often the right answer is to keep it and embed the scheduler in Shopify rather than migrate it.
- Email CampaignsShopify email tools
Subscriber lists move via the contacts CSV; campaign designs do not, and Squarespace email subscriptions are non-refundable.
- Member AreasCustomer accounts + membership app
Members must re-register — there is no member export. Shopify’s passwordless sign-in removes most of the friction.
- SubscriptionsShopify Subscriptions
Subscription contracts do not import by CSV; continuity depends on the separate, gated payment-method migration.
- Gift cardsShopify gift cards
Gift cards exist on every Shopify plan, but there is no verified bulk import of outstanding codes and balances — assume manual reissue.
- Product reviewsJudge.me / Loox / Yotpo
Reviews cannot be exported from Squarespace at all.
- Digital productsShopify Digital Products app
Squarespace cannot export download products; Shopify’s free Digital Products app attaches files one at a time, 5 GB max each.
- Store categories & tagsCollections
Squarespace 7.1 allows 1,000 categories nested three deep; Shopify collections are flat — deep trees become navigation plus filters.
What goes wrong.
Products import but every image is missing
Why: The import CSV pointed at Squarespace-hosted image URLs and the subscription was cancelled before Shopify fetched them — deactivating the site deactivates its image links.
Avoid it: Confirm every image has landed on Shopify’s CDN before touching the Squarespace subscription. Never cancel on import day.
Thousands of “new order” emails flood your inbox mid-migration
Why: Each imported historical order fires a new-order notification to every subscribed staff member.
Avoid it: Turn off order notifications in Settings → Notifications before the order import, and back on after.
Product redirects are rejected and catalogue SEO equity is at risk
Why: Squarespace’s default store slug is /shop, and Shopify documents /shop as a prefix it will not redirect from.
Avoid it: Test a single /shop/p/ redirect end to end before building the map — if it fails, plan an edge-level redirect layer instead.
Category landing pages 404 despite being in the redirect CSV
Why: Squarespace category and tag pages are query-string URLs, which Shopify redirects handle unreliably.
Avoid it: Find which category URLs actually carry traffic, give those real collection pages, and verify each one by hand.
The site goes offline mid-migration
Why: Cancelling an annual Squarespace plan ends service immediately — it does not run to the end of the term the way monthly plans do.
Avoid it: Transfer or repoint the domain first, verify Shopify is live, and only then cancel — domain and email subscriptions separately.
Variants vanish from products after a corrective import
Why: A SKU column without option columns deletes existing variants, and blank cells overwrite live data when overwrite is enabled.
Avoid it: Import to a development store first and never re-import a partial CSV against live products with overwrite on.
Every product weight is wrong by a factor of ~2.2
Why: Shopify’s guide says multiply weights by 453.6, which is only right if the store’s unit was pounds — most non-US stores are in kilograms.
Avoid it: Check the Squarespace measurement setting first: ×1,000 for kg, ×453.6 for lb, then spot-check three real products.
An expected Squarespace refund never comes
Why: Only annual plans are refundable, only within 14 days, and a bundled free domain’s cost is deducted.
Avoid it: Check the renewal date at the start — finish before it or accept the sunk cost. Never promise a refund.
Or hand the whole list to someone who has done it.
Send your store URL and you get back a fixed price and a plan for your store specifically: SKU count, which extensions have Shopify equivalents, the redirect plan, and the risks we can see.
Get my free migration plan