astrojekyllmigration

Migrating the blog from Jekyll to Astro

After more than a decade on Jekyll, Bedrock’s tech blog had become difficult to maintain. Ruby was no longer part of our teams’ daily work, writing locally required Docker and devcontainers, and the theme and hundreds of inconsistent tags needed a cleanup. Astro offered a more familiar JavaScript-based workflow, build-time metadata validation, and the same static HTML for readers.

But choosing a framework was not enough. Two attempts to migrate the whole blog in one pull request stalled: without reliable previews, the changes were hard to review, and keeping a separate migration up to date while people continued publishing was difficult.

What finally worked was applying the way we handle migrations at Bedrock: an RFC with a plan someone else could pick up, a cleanup of the live site, and a stack of small, reversible changes. We bootstrapped Astro alongside Jekyll, made previews work first, switched production in a contained step, and only then removed Jekyll.

Read the full article on Bedrock’s tech blog →