What Squarespace's WordPress importer ports
The importer reads WordPress's WXR XML export — the file WordPress's own Tools > Export feature produces — and creates Squarespace pages, blog posts, and comments from the contents. It maps WordPress posts to Squarespace blog items, WordPress pages to Squarespace pages, and WordPress comments to Squarespace's commenting layer where the platform supports it. Featured images transfer; gallery images transfer; embedded video links transfer (re-rendered with Squarespace's video block). Anything that lived outside the post/page content body — plugin output, theme files, custom fields, shortcodes that depended on a now-missing plugin — does not transfer.
The Yoast / SEOPress structured-data problem
WordPress sites running Yoast SEO or SEOPress automatically emit a comprehensive structured-data graph on every page: Article schema on every blog post (with author, publisher, datePublished, dateModified, image), Organization schema on every page, BreadcrumbList schema on every page, Person schema for author profiles, and FAQPage schema where the operator marked Q&A blocks. Squarespace does not have this automatic emission. After migration, every one of those schema blocks is missing from the Squarespace site, and the operator has to rebuild them via Code Injection. The work is mechanical but it is per-post.
WordPress plugins that do not survive — the replacement map
Plugin functionality has to be replaced with Squarespace native features, third-party embeds, or removed entirely. The common replacement map: Yoast/SEOPress → Code Injection JSON-LD plus the Squarespace SEO panel; Contact Form 7/Gravity Forms → Squarespace Form Block; WooCommerce → Squarespace Commerce (Commerce Basic+ required); Elementor/Divi page builders → Squarespace's section-based editor (rebuild every Elementor template page); WP Rocket cache → not applicable, Squarespace handles caching; Smush/ShortPixel image optimisation → Squarespace's built-in image optimisation toggle; MonsterInsights GA4 → GA4 via Code Injection; Wordfence security → not applicable, Squarespace handles platform security.
The WordPress-to-Squarespace 301 redirect map (sample)
WordPress's default permalink structure varies. The most common patterns: /year/month/day/post-slug/, /year/month/post-slug/, /category/category-slug/post-slug/, /post-slug/ (the post-name-only permalink), and /?p=123 (the default ugly permalink, rare on production sites but common on never-touched-after-install sites). Each pattern requires a different redirect approach. The clean rebuild lands the Squarespace pattern as /blog/post-slug/. The wildcard pattern in URL Mappings compresses the bulk where slugs are preserved.
Rebuilding Yoast schema via Code Injection
The rebuild is per-post for Article schema and once-per-site for Organization and Person. On each blog post, paste the Article JSON-LD block into Page Settings > Advanced > Page Header Code Injection. Update the headline, author URL, datePublished, dateModified, and image fields to match the post. The full block lives in the JSON-LD leaf in the Code Injection cluster. For sites with hundreds of posts, the rebuild is a multi-day project — but the schema layer is what makes the migration recover ranking equity rather than lose it permanently.
The cutover sequence
Cutover day: point the domain at Squarespace, wait for DNS propagation (4 to 24 hours), submit the URL Mappings list (which was authored on the staging site beforehand), submit the new sitemap to Google Search Console, file the change-of-address request if the domain itself changed (e.g. yoursite.wordpress.com to yoursite.com), and monitor intensively for 48 hours. WordPress sites with Yoast were typically running clean sitemaps already, so the new Squarespace sitemap is the only new submission Google needs.
Post-cutover monitoring and the long tail
Watch Search Console daily for the first 14 days. The Coverage report's 'Not found (404)' count should be near zero by day 7. The Performance report's impressions and clicks dip in the first 14 days (normal) and start recovering by day 30 to 45. Top-traffic URLs typically recover their rank position by day 60 to 90; long-tail URLs take 120 to 180 days. The recovery is steeper when the schema rebuild is complete and the heading hierarchy patch is shipped on collection pages.