The Big Migration

TLDR; I moved this website to WordPress

The story

This blog used be a Tumblr. Moved to Squarespace. Then a WordPress. A Squarespace site again, and now I’m back to WordPress.

Why? Mostly because I don’t like Squarespace’s buggy mobile admin support and lack of an API. But also because WordPress allows me to tinker with code, css, Apple News and other fun integrations.

Hosting

This website now runs on a Google Cloud Compute Engine instance. It’s a free f1-micro instance which should be more than enough to keep this blog and a few side projects online. (You can find out more about the free tiers here.)

Why Google? Mostly because I already pay for my email via Gsuite, I use single sign on via oAuth for my blog and by hosting the blog there also it keeps everything nice and contained. But no Google Analytics, ads or other dirty stuff.

Don’t have a Google GSuite account yet? Give it a try.

Management

Google offers a barebones Linux Server, similar to Linode, Digital Ocean or a Mac mini at MacStadium.

I could have build the entire Nginx and SSL stack myself, but I decided to go the easy and stable route and search for a management layer that configures the webserver part for me and makes managing the databases and certificates a lot easier.

After a week of research and a mailbox that still gets daily offers from all the tools I tested, I ended up with RunCloud.

They allowed me to setup the web environment, add a LetsEncrypt certificate and install WordPress on a Google Cloud in 15 minutes thanks to this handy guide. With the extra benefit that it’s either free if you want to do the SSL part yourself, or just 8$ a month for SSL, Git support,…

And since they also have a good backup option available, a website that works on iOS and offer unlimited sites/apps on one Google Instance I was sold.

Migration

Having a server and a WordPress instance is one thing, but I also had years of content to migrate from Squarespace to WordPress. Luckily, this guide got me 99% there.

  1. Export Squarespace, which only works on macOS.
  2. Import into WordPress.
  3. Use a plugin to also import all images and remap them to a WordPress url.
  4. Fix permalinks.
  5. Find a theme that looks similar to my previous theme.

Finishing touches

Now that the hard work was done, I used Coda to restyle the theme so it’s more similar to what I had on Squarespace. New logo, a few css changes, rewrote the footer and changed a few php functions to show and hide metadata on posts.

I relinked it to Apple News, again via macOS, and used this plugin to redirect my previous RSS feed to the current feed. And I added a JSON feed too, and a web clip icon, Touch Bar icon and basic dark mode support.

Up next

  • Add automated and manual dark mode via Craig Hockenberry (it’s partially working now)
  • Play around with Cloudflare caching
  • Write more blog posts
  • Figure out how I can integrate Gitlab for theme versioning.

One more thing

Did I mention I did it all on an iPad with just Safari, Coda, Prompt, Working Copy and Pixelmator?

(Except for the two steps mentioned above that didn’t support iOS: Apple News (go figure) and Squarespace (as expected).

Affiliate links

  • GSuite – use this link to get a 20% discount for yo first year.
  • RunCloud – use this link and get 15 days of free usage on your plan.