Migrating Blogger to Eleventy
Blogging for me has always been one of those background processes that just keeps running – consistently there, reliable, and probably created with a script so many years ago that now slowly gathers dust over time. After 19‼️ years of sheetsj.com running on Blogger, and watching various (👋Wordpress) trends (👋Jekyll) come and go (👋Hugo), I finally jumped to Eleventy.
I don’t know. Maybe it’s time when the blog is as old as your oldest child and she goes off to college. Or maybe when your baseball team is the Twins and they finally win a playoff game after those same 19 years. Or maybe, it’s finally time to continue moving away the shady tracking side of the google-verse.
But in reality? I like things that run forever. With very little thought. I also like free (as in beer and as in money). Blogger might be old but it was always dependable. It’s looked dated for years now though (you can still see my old blog for now at https://uncommentedbytes.blogspot.com). And it comes from a time when server-side database-backed blogs were a thing (i mean i was originally on jroller before blogger came around. And who remembers when blogger was implementation agnostic and FTP’d files around for you??).
You’ll be very unsurprised to hear that there are approximately ZERO blogposts on the internet today describing “how to migrate from Blogger to 11ty”. Plenty of Blogger or Wordpress to Jekyll or Jekyll to 11ty or Wordpress to 11ty though.
I found the Jekyll Importer tool that can transform the Blogger backup xml file into Jekyll HTML files. So I set about to go Blogger -> Jekyll -> 11ty and to my surprise it was quick and relatively painless!
for the super impatient here’s my mastodon post below
- Export Blogger content to the backup xml file
- Run the Jekyll Blogger import script
- Rename all .html to .md files
- Replace all “blogger_orig_url: sheetsj.com/” with "permalink: " to keep blogger URL format
- Copy the posts into your favorite 11ty template posts folder. I like eleventy-excellent
- Push to your github repo
- Deploy to Cloudflare Pages
- Setup Cloudflare DNS and swap to it
- Login to sheetsj.com and see all the beautiful-ness
- pretend you’ll blog more now
I can’t remember all the tiny changes I made. But some little things like:
- disabled the avif image support in the imagePlaceholder js, as it wasn’t working for some reason
breaks: falsein the markdown config
- added pagination to the blog posts page
- Oh, and fixed a weird date issue by specifying the timezone of each post in each file