Squarespace is easy to set up but hard to leave. It exports your blog posts. It doesn't export your design, your pages, your forms, or your navigation. So most migrations end up with agencies rebuilding the entire site from scratch in WordPress. Here's a faster path that actually works.
Why people migrate from Squarespace to WordPress
Squarespace is polished. But it has real limits that push people toward WordPress over time.
- Plugin ecosystem. WordPress has WooCommerce, ACF, WPML, membership plugins, and thousands more. Squarespace's built-in features cover the basics but stop there.
- Cost. Squarespace Business runs $33/month. WordPress on shared hosting runs $5 to $10/month. The savings add up fast, especially for clients with multiple sites.
- Content ownership. Squarespace controls the platform. If they change pricing or terms, your options are limited. With WordPress, you own the files, the database, and the hosting relationship.
- Developer control. Squarespace templates are locked. You can't edit the underlying PHP or add arbitrary server-side logic. WordPress is fully open.
If you're coming from another platform, the decision process is similar to a Wix to WordPress migration. The core problem is the same: you built on a closed platform and now you want out.
What Squarespace actually exports
Squarespace has an XML export tool. Go to Settings, then Advanced, then Export. You'll get a WordPress-compatible XML file. But it's not a full site export. Here's exactly what you get and what you don't.
What comes out
- Blog posts: Yes. All content, images (as external URLs), tags, categories, author, and publish date.
- Gallery images: Yes, exported as a separate gallery page.
- Products (Squarespace Commerce): Yes, included in the XML with basic product data.
What stays behind
- Regular pages: No. Your About page, Contact page, Services page: none of it exports.
- Design and templates: No. Squarespace keeps your design on their servers.
- Forms: No. Form structure and submissions don't export.
- Navigation structure: No. You rebuild your menus in WordPress.
- SEO meta tags: No. Your custom titles and descriptions aren't in the XML.
This is the core problem with a Squarespace migration. The export covers maybe 20% of your site if you're blog-heavy, less if you're not.
Migrating your Squarespace content
Blog posts
This part is straightforward. In Squarespace, go to Settings, then Advanced, then Export. Download the WordPress XML file. In WordPress, go to Tools, then Import, then WordPress. Install the WordPress importer if you haven't already. Upload the XML.
What comes over: posts, categories, tags, authors, and publish dates. Images import as external URLs pointing to Squarespace's CDN. They're not yet in your WordPress media library.
To pull those images into WordPress, install the Auto Upload Images plugin. It scans your posts for external image URLs and downloads them to your media library automatically. Run it once after the import.
Products
Squarespace exports products in the same XML file. The WordPress importer can read them. But WooCommerce has a different product structure than Squarespace Commerce. After import, check each product for correct variations, inventory levels, and pricing. Don't assume the import is perfect.
Images
Images from the XML import point back to Squarespace's CDN. They'll keep working until you cancel your Squarespace account. But once you cancel, those URLs break. Use Auto Upload Images plugin before you cancel your Squarespace subscription. Or download your media files from Squarespace (Files and Assets section) and upload them to WordPress manually before switching.
Migrating your Squarespace design to WordPress
Squarespace has no design export. Zero. There's no way to download your template, your CSS, or your layout files.
The traditional approach: pick a WordPress theme that's vaguely similar to your Squarespace design, then spend 15 or more hours customizing it to match. For most sites, it never really matches. You end up with a different site.
The better approach: capture the live Squarespace site before you cancel it.
Your Squarespace site is publicly accessible at yoursite.squarespace.com even before you connect a custom domain. Take that URL and paste it into StaticToWP. The tool renders your Squarespace site in a real browser. It captures all computed styles, layout, fonts, colors, spacing, and responsive breakpoints. Then it packages everything as a downloadable WordPress theme zip.
What you keep exactly: your layout, fonts (Google Fonts referenced by URL or bundled locally), colors, spacing, responsive breakpoints, and CSS animations. What needs extra wiring: dynamic content areas, like your blog loop and single post template, get wired to WordPress's post system. Those templates are included in the theme zip.
This is a different approach than Webflow to WordPress migration or convert a static site to WordPress, but the core idea is the same: capture the rendered output and turn it into a real theme.
Step-by-step migration
- Export the Squarespace XML. Settings, then Advanced, then Export. Save the file.
- Download your media. Either grab URLs from the XML file, or download files from Squarespace's Files and Assets section. Keep a copy before you cancel.
- Capture your design. Paste your live Squarespace URL into StaticToWP. Download the theme zip.
- Install WordPress. Set it up at a staging URL so your live Squarespace site stays up during migration.
- Upload and activate the theme. Go to Appearance, then Themes, then Add New, then Upload Theme. Activate it.
- Import the Squarespace XML. Go to Tools, then Import, then WordPress. Upload your XML file and assign imported authors.
- Fix your images. Install Auto Upload Images plugin. Run it to pull all external images into WordPress media library.
- Set up SEO. Install Yoast SEO or Rank Math. Re-enter your meta titles and descriptions. They didn't come over in the XML.
- Check permalink structure. Go to Settings, then Permalinks. Set to Post name. This matches Squarespace's clean URL pattern.
- Set up 301 redirects. Install Redirection plugin. Map any URLs that didn't match perfectly.
- Point your domain. Once you've tested everything at the staging URL, update your DNS to point to WordPress hosting. Cancel Squarespace after confirming the site is live.
SEO preservation
Squarespace uses clean URLs. Blog posts live at /blog/post-slug. Product pages live at /products/product-name. Regular pages live at /slug with no prefix.
WordPress defaults to ugly URLs like /?p=123. Change that first. Go to Settings, then Permalinks, then Post name. Do this before you import content.
Blog posts in Squarespace are at /blog/post-slug. WordPress with Post name permalinks defaults to /post-slug (no /blog/ prefix). You have two options: use a custom permalink structure like /blog/%postname%/ to match Squarespace exactly, or keep WordPress defaults and set 301 redirects from the old /blog/post-slug URLs.
Product pages in WooCommerce default to /product/slug. Squarespace uses /products/slug (plural). That's close but not identical. Use the Redirection plugin to redirect /products/slug to /product/slug, or change WooCommerce's product base in Settings, then Permalinks, then change Product base to "products."
After going live, re-submit your sitemap to Google Search Console. WordPress generates a sitemap automatically if you're using Yoast or Rank Math. Submit it and monitor for crawl errors in the first few weeks.
FAQ
Does the Squarespace XML import work with the default WordPress importer?
Yes. Squarespace exports a WordPress-compatible XML file. The standard WordPress importer (found under Tools, then Import) reads it directly. You don't need a special plugin for this step.
Will my Squarespace images transfer to WordPress?
They import as external URLs pointing to Squarespace's CDN. They work fine as long as your Squarespace account is active. Once you cancel, those URLs break. Use the Auto Upload Images plugin immediately after the XML import to copy all images to your WordPress media library. Do this before canceling Squarespace.
Can I keep my Squarespace site live while I migrate?
Yes. Set up WordPress at a staging URL first. Your Squarespace site stays live at your current domain while you build and test. Once WordPress is ready, update your DNS. Keep Squarespace active for at least a few days after the DNS change in case you need to pull anything you missed.
What about Squarespace Member Areas?
Squarespace Member Areas have no export. Member accounts and their data don't transfer in the XML. You'd need to contact your members directly and have them create new accounts in WordPress. For membership functionality, WooCommerce Memberships or MemberPress are the standard WordPress options. It's a manual process, and there's no shortcut.