Gatsby to Astro
migration

We rebuild your site in Astro without changing how it looks, so your design, content, URLs and CMS all stay as they are. What changes is the framework underneath it, and how much work it takes to keep running.

Gatsby's last stable release was in February 2025. Nobody is really building it any more.

Some history

What happened
to Gatsby

Netlify bought Gatsby in February 2023. Within a few months most of the core team had left, and by that September Gatsby Cloud had been shut down, taking incremental builds with it, which was the feature most people were actually paying for. The last stable release was 5.16.1, in February 2025.

Nobody has officially said that Gatsby is finished, which is probably why most people haven't done anything about it. It still installs and it still builds, so there's never an obvious day when you have to act. The problem turns up later, when Node gets upgraded or a plugin stops working, and you find there's nobody left to fix it.

The risk

What staying on
Gatsby costs you

None of this breaks your site tomorrow, it just gets more expensive every year you leave it.

Nobody's shipping fixes

There's been no stable release since February 2025, so any bug you run into is one you either work around yourself or pay someone else to work around.

Every upgrade is a gamble

A new Node version, a new dependency or a security patch used to be routine, and on a framework nobody maintains any more each one of them can turn into a day of work that doesn't necessarily end well.

JavaScript nobody asked for

Gatsby loads the whole React runtime on every page, including the ones where nothing on the screen moves. Astro doesn't load any of it unless a component actually needs it, which your Core Web Vitals will notice.

Fewer and fewer developers

Nobody is starting new Gatsby projects, so finding someone willing to maintain an old one gets harder each year, and the ones who are willing tend to charge for the trouble.

If we do this properly, nobody visiting your site will have any idea it happened.

What doesn't change

What stays
exactly the same

These are the parts we don't touch.

Your design

Your components and your styles come across as they are, and we go through the old site and the new one page by page, at every breakpoint, until they match. If you do want design changes while we're in there, that's a separate conversation and a separate quote.

Your interactive components

Astro runs React, so anything that needs to be interactive stays a React component and keeps working. What changes is that those parts load on their own, instead of the whole page shipping the React runtime in order to show static text.

Your content, and the CMS it lives in

Contentful, WordPress, Prismic, Strapi, Sanity, Storyblok, DatoCMS, or just Markdown files in the repo. Your content doesn't move and your editors carry on as they were. The only thing we replace is the Gatsby source plugin that sits in between.

Your URLs and your SEO

Every page keeps its address. We port the redirects, the canonical tags, the sitemap and the structured data, and check them all before switching anything over, so there shouldn't be anything for Google to relearn.

Your hosting

Astro builds to static files the same way Gatsby does, so wherever you deploy today you can carry on deploying there, on the same plan.

Your ability to change your mind

The Astro app gets built alongside the Gatsby one, in the same repo and on its own branch, so your live site stays untouched until you decide to switch. And if something surprises you afterwards, going back is one deploy.

Our process

From audit
to handover

Six stages, and you get a fixed quote before any code gets written.

Audit and scope

First we read your repo: how many pages and components there are, which plugins you depend on, what talks to your CMS, and how much of it is genuinely custom. You get back a written scope, a fixed price and the earliest we could start, and you decide after that whether to go ahead.

Scaffold

A new Astro app goes into your repo next to the Gatsby one, built from the same template every site we make starts from, and wired up to your CMS and your deployment so both can run side by side while we work.

Port

Components, styles, queries and pages move across, and most of that carries over without much trouble. The Gatsby-specific parts are the ones that take the time, mainly the GraphQL data layer and the image handling, which both have to be rebuilt the Astro way.

Parity check

We go through the new site against the old one, page by page and at every breakpoint, checking how it renders and behaves, along with forms, redirects and metadata. Anything that comes out different either gets fixed or gets flagged to you as deliberate.

Cutover

We switch the build over on a day that suits you, and the Gatsby app stays in the repo until you're comfortable, so going back is never more than one deploy away. For 90 days after that, anything the port got wrong we fix for free.

What we found

Porting a site means reading all of it, so we come out the other side knowing yours well. If we notice things worth improving along the way, we'll tell you. There's no obligation to do any of it, and if you decide you want to, that's a separate quote.

We'll quote your port for free

Send us your repo and we'll come back with what carries over, what has to be rebuilt, and a fixed price for the whole thing. There's no obligation after that, and if we think the port isn't worth doing for you, we'll say so. If you'd rather have an NDA in place before you send anything, ask and we'll sign one.
Why us

Why bring
the port to us

1

We've done this before

We've ported Gatsby sites to Astro on client work and on our own, including the one you're reading right now. So you won't be the one we learn on.

3

AI does the boring half

Most of a port is repetitive work with a known right answer, so we automate a lot of it with Claude. That's the reason porting comes out cheaper than rebuilding, and cheaper than a couple more years of keeping Gatsby alive.

5

Fixed scope

The price comes out of the audit and it doesn't move afterwards. We're not going to get halfway through and decide that what your site really needed was a redesign. If we do end up thinking that, you'll hear it at the end, not in the middle.

2

We've written the process down

The port follows a playbook we've built up over several migrations: what order things move in, the traps that only show up after the framework swap, and the checks that have to pass before we cut over.

4

You end up on our template

The Astro app we build for you isn't a blank one, it's the same template every new site we make starts from. So the port arrives with our SEO setup, performance defaults, redirect handling and CMS patterns already in place, instead of being a straight translation of whatever Gatsby was doing.

The team

Who you'd be
working with

A tight-knit team of spiders that's been stuck with each other for many years and can handle whatever flies their way.

Francisco Vieira

Founder/Senior Developerfrancisco@digitalspiders.io

Neuza LuĂ­s

Web Designer
FAQ

Got more questions?

How long does a port take?

It depends almost entirely on what's in your repo. A straightforward marketing site that stuck to Gatsby's normal patterns is usually one to two weeks from start to handover, which is elapsed time rather than hours of work. One with a lot of custom plugins, unusual data sourcing or heavy client-side code takes longer, and there's no way for us to know which of those yours is until we've read it. That's why the quote is free, and why it's fixed once we've given it.

What does a port cost?

It depends on the site and the real number comes out of the audit, but we can give you the shape of it. A single page site we'd expect to be somewhere around €200 to €300. A marketing site of ten to twenty pages, with nothing unusual in how it sources or renders its content, we'd expect between €500 and €750. Bigger or stranger than that and we honestly don't know until we've read it. Those are estimates based on the ports we've done rather than a price list, and the audit is what turns them into a number that doesn't move afterwards.

Will my search rankings drop?

There shouldn't be any reason for them to. Your URLs stay where they are, your content and metadata are identical (or better), and the pages still ship as static HTML like they did before. The thing that does change is how much JavaScript loads on top of that, and that moves in your favour.

Which CMS do you work with?

Sanity is our go-to and the one we know best, but the port doesn't depend on it. If Gatsby could source from it, Astro can fetch from it, usually with less machinery in between. Contentful, WordPress, Prismic, Strapi, Storyblok, DatoCMS, or Markdown in the repo all work fine. Your content stays where it is.

Why Astro and not Next.js?

It depends on what the site is, rather than on which of them is better. Astro is built for sites where the content is the product: marketing pages, blogs, documentation. It ships almost no JavaScript and hosts anywhere as static files. Next.js is built for sites that behave like applications, with accounts, dashboards, and data that changes while you're looking at it. It's very good at that, and it carries the weight to match.

Your Gatsby site is already the first kind: React components that build to static pages. Astro is that same shape with less machinery in the way, which is why the port is mostly mechanical. If yours is closer to an app than a website, we'll tell you at the audit, before you've paid for anything.

What stops Astro going the same way as Gatsby?

Cloudflare bought the Astro team in January 2026, which is close enough to Netlify buying Gatsby in 2023 that the question deserves an answer. What happened to Gatsby is that most of the core team had left within a few months and the releases stopped not long after. The Astro team went to Cloudflare and is still shipping, and Cloudflare has said publicly that Astro stays open source.

We can't see three years ahead any better than anyone else, but there's less to be stuck with either way. Astro has no GraphQL data layer and no plugin ecosystem holding your build together, so your components and your content aren't tied to it the way they were tied to Gatsby, and moving off it later would be a much smaller job than the one on this page.

Which sites is this a good fit for?

Any Gatsby version from v2 onwards, and any size, there's no minimum. What moves the price isn't the page count, it's how much your site does that Astro has no direct equivalent for. The usual one is a data layer that joins and reshapes your content before the components ever see it, since that has to be rewritten as ordinary code. Custom source plugins are another. So is interactivity that assumes the whole page is a single React tree, because in Astro the interactive parts are separate islands and anything shared between them has to be rewired. None of it stops a port, and you'll know which of it applies to you before you commit to anything.

What happens to my serverless functions and forms?

They come across. Serverless functions belong to your host rather than to Gatsby, so usually it's little more than a path change. Forms get ported and tested end to end during the parity check, submissions included.

Will my content editors need retraining?

No, nothing they see changes.

What if something breaks after you hand it over?

You get 90 days of free support after the cutover, the same as on the sites we build from scratch. If the port got something wrong, we fix it and it doesn't cost you. Things that were already broken on the Gatsby site, and anything new you want adding, are a separate quote.

Where are you based?

Lisbon, on Western European time. Our clients run from Australia to California and it hasn't caused problems, mostly because a port doesn't take much of your time: we read the repo, we ask a handful of questions, and the next thing you need to look at is the finished site. When we do need a call we'll find an hour that works for both of us.

Let's quote
your port

Send us a link to your repo and we'll come back with a scope and a fixed price. If you'd rather not hand over the code before we've spoken, send the address of your site instead and we'll give you an estimate to start from.