Astro Showcase · What CMS? · How Fast?

What happens to performance when a site leaves Astro?

Five sites in the showcase were re-scanned and came back as plain JS frameworks (Next.js, SvelteKit) instead of Astro. Two had never had PageSpeed or CrUX data collected, but three did — so we could compare their scores from when they were still Astro against fresh scores on whatever they show now.

Caveat on github.github.com/gh-stack/: this one wasn’t a clean migration, and we don’t scan often enough to date it precisely — this project doesn’t run on a fixed schedule, just whenever someone kicks off a scan. It showed as Starlight (Astro’s docs framework) on every scan we have between 2026-05-27 and its last Starlight sighting on 2026-07-30. The next scan after that, on 2026-08-02, showed cms: Forwarded, cmsType: parked instead — so the actual change happened sometime in that ~3-day gap, not necessarily on 2026-08-02 itself. The scanner is now fingerprinting whatever that URL redirects to, not necessarily an intentional Next.js rebuild of the same docs. Treat its numbers below as “old Starlight docs vs. wherever this URL currently forwards,” not a like-for-like framework swap.

PageSpeed (lab data)

“Astro” scores below are from our last PSI run while each site still detected as Astro — the 2026-07-16 scan. “Now” is a fresh PSI run on 2026-08-14. Note the ~4-week gap: we don’t have data from in between, so this is “last known Astro score” vs. “current score,” not a tightly-bounded before/after. Lighthouse always audits the exact page URL, so this data isn’t affected by the CrUX issue below.

Site Mobile: Astro → now Desktop: Astro → now
github.github.com/gh-stack/ (Starlight → forwarded/parked, Next.js signal) 99 → 77 100 → 90
lorenzofiori.art (Next.js) 82 → 79 99 → 99
typable.studio (Next.js) 87 → 90 100 → 100

Two of three dropped in mobile performance after leaving Astro. github.github.com/gh-stack/ took the clearest hit — mobile down 22 points, desktop down 10 — but per the caveat above, that may reflect a redirect target rather than a genuine rebuild. The other two are essentially flat.

CrUX (real-user field data) — this section didn’t hold up

Only github.github.com/gh-stack/ had enough real traffic for Chrome to report field data. Comparing our last CrUX snapshot while it was still Astro (2026-07-12) against a fresh pull (2026-08-14), phone INP improved from 200ms (failing) to 130ms (passing) — enough to flip Core Web Vitals. That looked like a genuinely interesting finding: lab score down, real-user score up, same site, same window. It’s what we led with when we first published this.

It doesn’t hold up, and we want to say clearly why. github.github.com is a shared GitHub Pages origin — CrUX only reports data at the origin level, not per page, so every number above was the combined real-user experience across every project hosted on that origin, not /gh-stack/ specifically. Pulling the full weekly trend (via CrUX’s History API, which our regular scanner doesn’t query) makes this obvious: origin-wide mobile INP actually peaks at 233ms on 2026-07-18 — two weeks before the migration, while gh-stack was still Astro, then falls to 147ms by 2026-08-08, before the migration had time to matter. Desktop INP sits flat at 32–42ms across the whole five months we have data for, migration or not. Neither pattern tracks the framework change; it’s noise from whatever else shares that origin, and there’s no way to separate gh-stack’s own real users from the rest.

Lesson for us, not just a caveat for this post: CrUX is only trustworthy at the granularity it’s actually collected at. For a shared origin like github.github.com — many independent projects under one domain — that’s too coarse to say anything about a single page. The field data here isn’t evidence of anything migration-related for this site, in either direction, and we shouldn’t have presented it as if it were.

Takeaway

What actually holds up: lorenzofiori.art and typable.studio are clean, like-for-like Next.js migrations on their own domains (so no shared-origin problem), and both come out roughly flat on PageSpeed. github.github.com/gh-stack/’s PageSpeed drop (mobile −22, desktop −10) is still worth noting, but now carries two independent caveats: the parked/redirect classification uncertainty above, and the fact we have no usable real-user data to corroborate it either way. Not enough here to say Astro is faster or slower than what these sites moved to. The more interesting finding of this post turned out to be about our own data pipeline, not about Astro.

None of this data makes the case either way, but for what it’s worth: we still think Astro is the best platform to build with, and nothing here changes that. Which makes the more interesting question the one this data can’t answer — not “is Astro fast enough,” but why these particular sites left. Was it a specific feature they needed, a team already fluent in another framework, client work forcing the stack, or just where the project happened to end up? If you know the story behind any of the sites in this showcase, we’d like to hear it.