appbespoke

Every step cited to the vendor’s own docs

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.

Start the checklist

14 steps · Plan on 15-30 hours of your own time

  • 14

    steps, in the order they have to happen

  • 22

    hours of hands-on work for a mid-sized store

  • 8

    things that do not come with you

  • 8

    URL shapes that need a 301

Phase 01 · 2.5 h

Before you touch anything

  1. 1 hSquarespace docs

    Check your version, record every URL

    Establish whether the site is Squarespace 7.0 or 7.1 (URL shapes differ) and record every live URL to a spreadsheet while the site is still up. This inventory becomes the redirect map and cannot be reconstructed later.

    Where

    Settings → Developer Tools → URL mappings, plus the live sitemap

    The catch

    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 docs ↗

  2. 1.5 hSquarespace docs

    Secure your images while the site is live

    Shopify imports product images by fetching public URLs, which in practice means the Squarespace CDN must still be serving them at import time. Download what matters from the Asset Library as insurance.

    Where

    Squarespace → Asset Library

    The catch

    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.

    Squarespace docs ↗

Phase 02 · 1 h

Get your data out

  1. 20 minSquarespace docs

    Export the products CSV

    Products export in Squarespace’s import format, capped at 10,000 products. Note your product and variant counts: they are the reconciliation baseline for the import.

    Where

    Products & Services → Products → Export all

    The catch

    The export omits reviews, featured images, image alt text and variant images, and download products cannot be represented at all.

    Squarespace docs ↗

  2. 30 minSquarespace docs

    Export contacts and orders

    One contacts export covers customers, subscribers, members and donors; segment later in Shopify. Orders export as a wide CSV with line items; filter by status and date deliberately.

    Where

    Contacts → … → Export all contacts · Products & Services → Orders → Export

    The catch

    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.

    Squarespace docs ↗ · Squarespace docs ↗

  3. 15 minSquarespace docs

    Export the blog as WordPress XML

    The XML export is the only bulk route out for blog posts and basic page text. It feeds a migration app on the Shopify side, since Shopify cannot read it natively.

    Where

    account.squarespace.com → Import & export content → Export → WordPress

    The catch

    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.

    Squarespace docs ↗

Phase 03 · 15 h

Build in parallel

  1. 30 minShopify docs

    Create the Shopify store, password on

    Open the store and leave storefront password protection enabled for the whole build, so search engines index only the password page.

    Where

    Shopify → Online Store → Preferences → Store access

    The catch

    Do not remove the password until redirects and DNS are ready: a half-built store in Google’s index is worse than none.

    Shopify docs ↗

  2. 2 hShopify docs

    Remap the product CSV and import

    Squarespace columns do not match Shopify’s and there is no mapping UI, so rename them by meaning (Product URL→Handle, Categories→Type, Option Name/Value→Option columns, Stock→Inventory Qty). Untick “publish to all sales channels”, import, and reconcile the counts.

    Where

    Shopify → Products → Import

    The catch

    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 docs ↗ · Squarespace docs ↗

  3. 45 minShopify docs

    Rebuild the contacts export and import

    Build against Shopify’s customer template rather than editing the Squarespace file in place: names, emails, consent as yes/no, ISO country and province codes.

    Where

    Shopify → Customers → Import

    The catch

    There is no mapping support for customer CSVs: headers must match Shopify’s template exactly, and duplicate emails are skipped silently.

    Shopify docs ↗

  4. 1.5 hShopify docs

    Silence notifications, then import orders

    Shopify’s native CSV cannot create orders, so use an app (EZ Importer, Matrixify, Migration Pro), importing after products and customers so the records link. Turn notifications back on when done.

    Where

    Settings → Notifications, then the migration app

    The catch

    Every imported historical order fires a new-order email to all subscribed staff unless notifications are off first.

    Shopify docs ↗

  5. 8 hShopify docs

    Rebuild pages, blog and navigation

    Pick a theme and rebuild the pages against screenshots of the old site. The WordPress XML gives you post text; a migration app or paste gets it into Shopify’s blog.

    Where

    Online Store → Themes · Content → Blog posts · Content → Menus

    The catch

    Layouts, blocks and custom CSS have no Shopify counterpart. This rebuild is usually the largest line item in the whole project.

    Shopify docs ↗

  6. 2 hShopify docs

    Configure payments, shipping and tax

    Set the store address, shipping zones and rates, tax regions and the payment provider, then place real test orders end to end before anyone else sees the store.

    Where

    Settings → Payments / Shipping and delivery / Taxes and duties

    The catch

    Deactivate shipping on digital and service products, or they will ask customers for a delivery address.

    Shopify docs ↗

Phase 04 · 2.5 h

Keep your rankings

  1. 2.5 hShopify docs

    Test one /shop redirect, then import the map

    Manually create a single redirect from a real /shop/p/ URL and confirm it fires. Then assemble the full old→new CSV from your URL inventory and bulk-import it, checking the result report row by row.

    Where

    Content → Menus → URL redirects → Import

    The catch

    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.

    Shopify docs ↗

Phase 05 · 45 min

Cut over

  1. 45 minSquarespace docs

    Point DNS at Shopify

    At a quiet hour, set the A record and www CNAME to Shopify’s values and remove the storefront password once the domain resolves. The old site keeps serving until propagation completes.

    Where

    Registrar DNS panel · Shopify → Settings → Domains

    The catch

    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.

    Squarespace docs ↗ · Shopify docs ↗

Phase 06 · 30 min

After the switch

  1. 30 minSquarespace docs

    Cancel Squarespace last, in the right order

    Only after Shopify has served real traffic for a week (orders, images, redirects all verified), cancel the website subscription, keeping the domain and email subscriptions until each has been moved or is no longer needed.

    Where

    Squarespace → Billing → Subscriptions

    The catch

    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.

    Squarespace docs ↗

What does not come with you

Be wary of any guide that says everything moves. These are the things that do not, and what to do about each one.

  • 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, and 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, so 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.

SquarespaceShopify
/shop/p/linen-throw/products/linen-throw
/store/linen-throw/products/linen-throw
/shop/p/linen-throw-x7k2p/products/linen-throw
/shop?category=Bedding/collections/bedding
/blog/how-we-weave/blogs/news/how-we-weave
/blog/2024/3/12/how-we-weave/blogs/news/how-we-weave
/about/pages/about
/events/2024/6/1/summer-fair/pages/events

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, as 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, so 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, so deep trees become navigation plus filters.

What goes wrong.

What catches people on a Squarespace move, why each one happens, and how to get ahead of it.

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