Skip to main content
TIEMAN.IT

Past Squarespace: your own Next.js site

Squarespace looks clean until you want to customise something. I extract your content, build a fully independent site, and make sure no Google ranking is lost in the process.

Where Squarespace hits its limits for growing businesses

Squarespace is built for founders who need a presentable site fast. Fluid Engine is impressive for non-technical users. But the moment you want to go beyond the templates, you hit a wall. Every section is constrained to a fixed grid. Custom fonts outside Squarespace's system require CSS injection in a hidden Code Injection field, with the risk of a platform update overwriting your fix.

For a small portfolio that works fine. For a business seriously investing in SEO, needing a custom checkout flow or multiple language versions, the ceiling arrives quickly. Squarespace offers no server-side rendering, no per-route edge caching and no incremental static regeneration. Lighthouse scores stay structurally below 60 once you load more than ten sections on a page.

What I notice most in Squarespace audits: the owner often does not know what is going wrong technically. The site 'looks good' but does not rank, does not convert and is slow on mobile. These are not random problems. They are the architecture.

Commerce tier, Member Areas and a bill that keeps growing

Squarespace pricing seems reasonable until you need features outside the base tier. Commerce Basic costs €27/month. But for abandoned cart recovery, advanced shipping or customer accounts you need Commerce Advanced at €49/month. Member Areas (for gated content or online courses) are a separate add-on: €7–€38 extra per month depending on member count. Per year this adds up fast:

  • Commerce Advanced + Member Areas Starter: €696/year (before domain and email hosting costs)
  • Squarespace Domains: €20–€40/year per domain, with limited DNS control
  • Squarespace Email Campaigns: €7–€46/month extra if you use their email marketing
  • No ownership: stop paying and your site disappears, including all content

A custom Next.js site runs on hosting you control. Stripe integrated directly, no platform percentage. Member functionality via an open-source auth layer. The subscription that disappears covers my support for multiple years.

What code ownership gives back to you

On a custom Next.js site the codebase is yours. Not Squarespace's. Not a theme developer's. Yours, stored in Git, deployable to any hosting provider you choose. If I stop existing tomorrow, your site keeps running.

That ownership has concrete implications for what is technically possible. A selection:

  • Every design element is custom: no section grid, no Fluid Engine constraints
  • Your CMS of choice: own CMS built into your site, or Markdown files in Git if content rarely changes
  • Server-side rendering and per-route edge caching (not dependent on Squarespace servers)
  • Stripe connected directly without platform fee or Commerce tier requirement
  • Multilingual support without Squarespace workarounds: next-intl with full i18n routing
  • Open Graph tags, structured data and sitemap.xml fully under your own control

How I migrate content and structure from Squarespace

Squarespace provides an XML export of page content and a CSV export of product catalogues. Blog posts come as WordPress-compatible XML. I parse those into Markdown or whichever CMS structure you want. Images live in your Squarespace media library: I export them via the built-in image export or via the Squarespace API depending on volume.

Every URL on your current site gets a 301 redirect on the new Next.js environment. I build a complete URL map of the Squarespace structure first, including blog slugs, product pages and any Member Area paths, before a single redirect is set. A missed redirect costs you a Google ranking. I never skip that step.

Custom CSS you have in Squarespace's Code Injection field I translate into proper component-level styling in the Next.js codebase. Nothing is lost, but nothing is copied blindly either. The chance is high that some hacks are simply no longer needed on the new architecture.

-- Client case

Twente photographer: from €384/year Squarespace Commerce to own platform

A freelance photographer from Hengelo sold prints via Squarespace Commerce Advanced. She paid €384 per year to the platform, plus €40 for her domain via Squarespace Domains. Her main frustration: she could not build customisable package pages without technical knowledge. Fluid Engine would not let her place free text blocks next to product photos without a Custom CSS workaround.

In the Lighthouse audit I ran, the following measurements surfaced:

38
Lighthouse Performance (Squarespace)
100
Lighthouse Performance (Next.js)
€384
Platform subscription saved per year

After migration she hosts her site on a VPS where the domain DNS is fully under her control, including email on her own domain, no longer via Squarespace Email Campaigns. Product pages are built as dynamic Next.js routes with Stripe checkout connected directly. Blog posts (she had written dozens of articles on location photography) now live as Markdown files in Git. She manages them via a lightweight CMS interface with no monthly subscription.

SEO control that Squarespace does not give you

Squarespace auto-generates a sitemap.xml and lets you fill in meta titles and descriptions per page. That is it. Structured data (Schema.org) has to be injected manually via Code Injection as JSON-LD, and Squarespace offers no verification or validation. Hreflang tags for multilingual sites are not built in: you are stuck with DNS workarounds or manual injection.

On a custom Next.js site the SEO foundations are in the codebase. generateMetadata() per route, next-sitemap as a post-build step, JSON-LD as a React component per page type. Canonical URLs per locale via next-intl. This is not a fancy extra. It is what Google expects from a serious site.

What I also see in Search Console for Squarespace sites: crawl errors on internal search pages and Member Area paths that get indexed when they should not. A custom robots.txt and explicit noindex per route fix that immediately.

What I do differently from a Squarespace designer

A Squarespace designer works within the platform. I replace the platform. That is a different approach, and it means I assess for every project whether a migration is genuinely the right choice.

  • I audit your current Squarespace site first: technical, SEO, conversion, before I write a single line
  • I propose a concrete scope based on what there is actually to gain, not based on a standard package
  • The 301 redirect map is part of every project, not an optional extra
  • I use no Squarespace themes or page builders: every component is written in TypeScript/React
  • After go-live I monitor Google Search Console for crawl errors and adjust redirects if needed
  • You receive the Git repository, not an export file that you cannot do anything with

That is why I do not offer fixed template packages for Squarespace migrations. Every site has a different structure, different content and different SEO history. I determine the scope after the audit, not before.

What does this cost?

Every project is different. The price depends on your site, scope and what is needed. No rate without first understanding what you need.

Squarespace migration Basic
On request
Up to 10 pages. Content migration, design translated to Next.js, 301-redirect map for all indexed URLs. No e-commerce.
Squarespace migration Extended
On request
Up to 50 pages. Commerce migration from Squarespace to Stripe or WooCommerce. Member Areas export. CMS choice (my own CMS built into your site).
Squarespace migration Custom
On request
100 or more pages, custom layouts, multiple locales or integrations with external systems. Price after scoping.

Book a short call. I look at your situation and give you an honest proposal.

Read more

-- Veelgestelde vragen

Heb je een vraag?

Yes. Member Areas are replaced by a custom auth layer. Depending on complexity I use NextAuth.js with a lightweight database, or an existing auth service. Existing member email addresses are exported from Squarespace and imported into the new environment. The Squarespace Member Areas subscription is cancelled entirely.
Products are exported via the Squarespace CSV product export and imported into the new shop structure. Historical orders are archived as CSV. They are not in the new checkout, but remain accessible. New orders go directly via Stripe with no platform percentage.
Squarespace exports blog posts as WordPress-compatible XML. I parse those into Markdown files or whichever CMS structure you want. Each blog URL gets a 301 redirect to the corresponding slug on the new site. Publication date, author and categories are preserved.
Squarespace Domains are transferable to any registrar (Namecheap, TransIP, Cloudflare Registrar). I guide the transfer. During the DNS migration I ensure minimal downtime via a controlled TTL reduction and a parallel staging environment that is already live.
No. I inventory all Custom CSS and Code Injection you use. What is needed I translate into component-level styling in the Next.js codebase. What becomes unnecessary with the new architecture (many Squarespace hacks are workarounds for platform limitations) I explain to you with context.
With a correct 301 redirect map permanent loss is preventable. I build the complete URL map before the migration, set all redirects and monitor Google Search Console after go-live for crawl errors. Temporary fluctuations are normal with any platform switch. Permanent drops are not, provided the redirects are correct.

Ready to move on from Squarespace?

Tell me about your current site. I will look at what is going wrong technically, which features you are missing and give you an honest picture of what a migration delivers.