Technical Guide

Squarespace to Cloudflare Migration — Complete Guide

A step-by-step guide to migrating your website from Squarespace to Cloudflare Pages. Improve performance, reduce costs, and preserve your SEO rankings.

Why migrate from Squarespace?

Squarespace is excellent for getting started, but growing businesses often hit limitations:

  • Performance: Static files served from a CDN edge network are structurally faster than Squarespace's server-rendered pages — no server-side rendering overhead, no database queries on each request
  • Cost: Cloudflare is free for most sites; Squarespace starts at $16/month
  • Flexibility: Full control over code, integrations, and custom functionality
  • SEO: Better Core Web Vitals scores improve search rankings
  • Scale: Handle traffic spikes without performance degradation — static assets are cached at edge locations globally

Migration Overview

  1. Audit current site and document all pages
  2. Export content from Squarespace
  3. Set up new site on Cloudflare Pages
  4. Implement redirects for SEO preservation
  5. Test thoroughly before cutover
  6. Update DNS and monitor

Step 1: Pre-Migration Audit

Document your current site

Before touching anything, create a complete inventory:

  • All pages and their URLs
  • Blog posts and their publication dates
  • Images and assets
  • Forms and their destinations
  • Custom CSS/JavaScript
  • Third-party integrations (analytics, chat, etc.)
  • SEO metadata (titles, descriptions)

Identify SEO-critical pages

Use Google Analytics and Search Console to identify:

  • Top 20 pages by traffic
  • Pages with external backlinks
  • High-ranking landing pages

These pages need special attention during migration to preserve rankings.

Step 2: Content Export

Export from Squarespace

  1. Go to Settings → Advanced → Import/Export
  2. Click Export → WordPress format
  3. Download the .xml file

Extract images

Squarespace exports don't include images. You'll need to:

  • Download all images manually or use a scraping tool
  • Optimise images (WebP format, appropriate sizes)
  • Upload to your new asset hosting

Handle blog posts

The WordPress export format preserves:

  • Post titles and content
  • Publication dates
  • Categories and tags
  • Author information

You'll need to convert this to your new platform's format (Markdown, HTML, etc.).

Step 3: Build on Cloudflare Pages

Choose your approach

Option A: Static site generator (recommended)

  • Next.js, Hugo, Jekyll, or 11ty
  • Best performance and flexibility
  • Requires development knowledge

Option B: Pure HTML/CSS

  • Simple and fast
  • No build process
  • Manual updates required

Set up Cloudflare Pages

  1. Log into Cloudflare dashboard
  2. Go to Pages → Create a project
  3. Connect your Git repository (GitHub/GitLab)
  4. Configure build settings
  5. Deploy

Build configuration

For Next.js sites on Cloudflare Pages:

  • Build command: npm run build
  • Build output directory: out
  • Root directory: / (or your project root)

Step 4: SEO Preservation

Maintain URL structure

Keep URLs identical where possible. If you must change them, implement 301 redirects:

  • Squarespace: /blog/post-title
  • New site: /blog/post-title (same)

Implement 301 redirects

In Cloudflare Pages, create a _redirects file:

/old-page /new-page 301
/blog/old-post /blog/new-post 301
/legacy-url /current-url 301

Preserve metadata

Ensure each page maintains:

  • Title tags (identical or improved)
  • Meta descriptions
  • Canonical URLs
  • Open Graph tags
  • Structured data (Schema.org)

Step 5: Testing

Pre-launch checklist

  • ☐ All pages render correctly
  • ☐ Images load properly
  • ☐ Links work (internal and external)
  • ☐ Forms submit correctly
  • ☐ Mobile responsiveness verified
  • ☐ 301 redirects tested
  • ☐ SSL certificate active
  • ☐ Analytics tracking installed
  • ☐ Core Web Vitals checked

Test redirects

Use tools to verify redirects:

  • curl: curl -I https://yoursite.com/old-page
  • Browser dev tools Network tab
  • Online redirect checkers

Performance testing

Before and after comparison:

  • PageSpeed Insights
  • GTmetrix
  • WebPageTest

Step 6: Go Live

DNS cutover

  1. Lower TTL on your DNS records (300 seconds) 24 hours before
  2. Update A/AAAA or CNAME records to point to Cloudflare
  3. Wait for propagation (usually minutes, up to 48 hours)
  4. Test from multiple locations

Post-launch monitoring

  • Monitor Google Search Console for 404 errors
  • Check analytics for traffic drops
  • Verify search rankings (give it 1-2 weeks)
  • Monitor Core Web Vitals in Search Console

Submit updated sitemap

In Google Search Console:

  1. Submit new sitemap.xml
  2. Request reindexing of key pages
  3. Monitor for crawl errors

What to expect

Why static sites tend to perform better

The performance advantage of static hosting is architectural, not magic:

  • No server-side rendering: Squarespace generates each page on request; a static site serves pre-built HTML instantly
  • Edge caching: Static files are cached at CDN edge nodes close to the visitor — TTFB drops dramatically compared to a centralised origin server
  • No database queries: Each Squarespace page load can trigger multiple database and template-engine operations; static pages have none
  • Smaller payload control: You control exactly what JavaScript and CSS ships — no platform overhead

Your actual Lighthouse and Core Web Vitals scores will depend heavily on your images, third-party scripts, and font loading strategy — not just the hosting platform. Run PageSpeed Insights on your current and new site to measure real improvement.

Cost comparison

  • Squarespace: $16-49/month (check current pricing on their site)
  • Cloudflare Pages: Free tier covers most small sites; paid plans start at $20/month for teams

Note: Cloudflare Pages free tier has limits on build minutes and bandwidth. Review the current limits before assuming zero cost at scale.

Common Issues and Solutions

Issue: Images not displaying

Solution: Check image paths and ensure proper optimisation. For image optimisation, your options depend on your stack:

  • Next.js built-in: Use the <Image> component for automatic resizing and WebP conversion — no extra cost, works well for most sites
  • Cloudflare Images: Cloudflare's paid image transformation service — useful if you're already on Cloudflare and want URL-based resizing
  • Imgix / Cloudinary: Third-party image CDNs with more features — worth it for media-heavy sites or if you need advanced transformations
  • sharp (build-time): Process images at build time for zero runtime cost — good for sites with a fixed asset library

Issue: Forms not working

Solution: Static sites need form handling services. Use Formspree, Netlify Forms, or Cloudflare Workers.

Issue: Search rankings dropped

Solution: Temporary drops are normal (1-2 weeks). Ensure all redirects are 301s, not 302s. Submit updated sitemap.

Issue: Blog comments lost

Solution: Export comments separately or use Disqus (exports with site). Consider Giscus (GitHub Discussions) for new comments.

When Cloudflare Pages is NOT the right choice

Cloudflare Pages is a good fit for many sites, but it is not the right answer for everyone. Be honest with yourself before committing to this path:

You need server-side rendering or dynamic logic

Cloudflare Pages is a static hosting platform. If your site generates personalised pages per user, runs complex server-side logic on each request, or needs a traditional backend, you are looking at the wrong tool. Cloudflare Workers can add edge compute, but that is a meaningfully different architecture to build and maintain.

You are invested in another ecosystem

Vercel, Netlify, and Render all offer competing static/edge hosting with their own ecosystems. If your team already uses Vercel's preview deployments, Netlify's form handling, or Render's background workers, migrating to Cloudflare Pages means rebuilding those workflows. The grass is not always greener.

Your site is heavily dynamic or has e-commerce

Squarespace Commerce, WooCommerce, or Shopify handle cart state, inventory, orders, and payments in ways that a static site cannot replicate without significant custom development. A platform built for e-commerce will be cheaper and faster to maintain than a bespoke static site trying to reinvent that wheel.

Your team cannot maintain the new stack

Squarespace lets non-technical staff update content through a visual interface. A static site built with Next.js or Hugo requires either a CMS layer (Contentful, Sanity, Decap) or a developer for every content change. If your team does not have that capacity, you are trading platform cost for ongoing maintenance cost.

SEO risk is unacceptable right now

Migrations always carry SEO risk, even well-executed ones. If your business is in a critical growth phase and organic traffic is a primary revenue channel, the timing may be wrong — not the destination. A botched redirect mapping or missed canonical tag can cost months of ranking recovery.

DIY vs Professional Migration

DIY is suitable if:

  • You have technical experience (HTML/CSS/JavaScript)
  • Your site is small (< 20 pages)
  • No complex integrations or e-commerce
  • SEO is not business-critical

Professional help recommended if:

  • Large site (> 50 pages) or extensive blog
  • Business depends on search rankings
  • E-commerce functionality required
  • Complex integrations (CRM, booking systems)
  • No in-house technical resources

Need help with your migration?

We have hands-on experience migrating legacy systems — including a 20-year-old PHP application for a pharmaceutical client — to modern infrastructure. If your situation is complex, has SEO risk, or involves regulated data, we can help you plan and execute the migration properly.

Discuss your migration