← Beta Society Projects
← Philosophy
Philosophy · Jul 15, 2026

Leaving Squarespace, Part 3: Moving Years of Content

Part 3 of 6.

The part nobody warns you about

Picking a stack is the fun day. Moving years of content is the other twenty days. This is where a migration is actually won or lost, and where most people quit and stay put.

I expected this to be daunting. I spent a lot of time up front just writing back and forth about my goals, asking questions, understanding whether this could be done in phases. Honestly, I assumed it would stretch over a long time, with clear delineation between steps, lots of starts and stops. I wasn’t even sure whether I’d have to build the new site alongside the old one and run two sites in parallel for a while.

Posts: from database rows to files

Every post had to come out of Squarespace and become a Markdown file with proper front-matter: title, date, topic, description. The blog got reorganized by topic in the process (Veeam, Azure, VMware, Kubernetes, Everpure, Philosophy), each with its own section and even pronunciation guides, because why not have a little fun with it.

A couple of things only show up when you do this for real: posts that were quietly set to “no-index” and almost got left behind, and a whole category I nearly missed entirely. Inventory is everything. You can’t migrate what you forgot you had.

This is why staying involved mattered, instead of handing the whole thing over 100%. Because I was in the loop, I caught what was missing: those no-index posts, and nearly an entire category of Veeam posts that almost got left behind. I also saw how my old site was really structured versus how I thought it was, and made on-the-fly decisions about how to structure the new one better. That was only possible because I stayed focused on the design and architecture, the end result, not the minutiae.

Old posts were full of links pointing back at the old wcithipster.com URLs. Leave those and you’ve built a site that constantly tries to send readers back to the place you just left. Every internal link had to be rewritten to the new path structure. There was also one dead link buried in a post pointing at a private Squarespace admin page, the kind of thing that hides for years until you go looking.

The 144 files

Here’s the one that would have bitten me later: every image, logo, and podcast file was still being served from Squarespace’s CDN. The pages looked migrated, but they were quietly leaning on the old host. Cancel the subscription and every image breaks at once.

So I inventoried all of it, 144 assets, about 2 GB, and moved it to R2 with a single bulk upload, then rewrote every URL in the site to point at media.thebetasociety.com. Only after that was the site truly standalone.

My bar for done was simple: I should be able to cancel Squarespace and have nothing break. Not one image, not one link. If the old platform still holds anything up, you haven’t moved, you’ve just forwarded your mail.

Why bother being this thorough

Because the goal was never “looks the same.” It was “owes nothing to the old platform.” Old links keep working through redirects, every asset is on infrastructure I control, and the content is plain files.

The end was completely worth it. I got to reimagine the end result, make changes on the fly, and think about where I want to be in the future, not just replicate the past. And the biggest surprise is how I manage it now: I never log into a web platform. I run the site like a workflow, a pipeline. I ask questions, publish, and change direction as needed. That’s a different relationship with your own website than any admin panel ever gave me.

Next up, Part 4: the podcast feed. Self-hosting RSS, why preserving a tiny invisible ID per episode mattered, and repointing Apple and Spotify without losing a single subscriber.