
Building with Astro
We build with Astro when a content-led site needs more than a site builder: its own repository, its own hosting or a headless CMS shared with other channels. Pages render to static HTML, JavaScript ships only where something is interactive, and editors keep working in a CMS such as Sanity.
- TypeScript and typed content
- A headless CMS, usually Sanity
- Zero JavaScript by default
- Static hosting with real redirects
- Images through astro:assets
Trusted by B2B and premium service brands in 17+ countries.
Proof
Our own site is the case study
urest.agency moved from Framer to Astro, with Tailwind CSS, Sanity as the CMS and Cloudflare hosting. These are the checks from the move, taken from the parity report in our repository.
Live on the new stack since 21 October 2026.
97
Old URLs checked
97 found on the new site, 0 missing
23
Served through a 301
The other 74 kept their exact path
94
Meta descriptions unchanged
Out of 97, carried over word for word
64
Blog posts carried over
Every published post, with the same slug
Built during the move: the first programmatic pages were committed on 21 October 2026, two days after the first commit of the new site.
26
Programmatic pages built
10 migration guides, 6 comparisons, 6 technology guides, 4 location pages
26
Pass the quality gate
Checked on every build; a page that fails stays noindex
262
Official sources on file
The documentation behind each claim, kept in the CMS for review
Real-user performance data needs a full 28-day Chrome UX Report window. We will add it once it exists.
When we use it
When Astro is the right choice, and when it is not
We choose Astro when
- Content-led sites that outgrew a builderMarketing sites, guides and blogs that need a code workflow, their own hosting or a headless CMS, but are still mostly pages people read rather than an application.
- Performance is a hard requirementAstro renders to static HTML by default and strips client-side JavaScript unless a component asks for it, which keeps pages light without a constant fight against the framework.
- Several sources of contentContent collections with custom loaders can read a headless CMS, files in the repository and an API in the same build, typed and validated with schemas.
We choose something else when
A marketing site your team edits visuallyIf marketers need to build and rearrange layouts themselves, a visual builder such as Framer is faster to work in.
Astro puts layout changes in the hands of developers.
- Application-heavy productsDashboards, logged-in areas and real-time features are better served by Next.js, where server logic, auth and data fetching are the core of the framework.
- No one to own the codeAn Astro site is a codebase. If there is no developer on your side and no maintenance arrangement with us, a hosted builder is the more responsible choice.
How we build
How we build with Astro
Step 01
TypeScript and typed content
Strict TypeScript throughout, with content collections validated by schemas, so a missing field fails the build instead of breaking a page in production.
Step 02
A headless CMS, usually Sanity
Editors work in Sanity Studio; Astro reads the published content at build time, and a webhook can trigger a rebuild when something is published.
Step 03
Zero JavaScript by default
Components render to HTML on the server. Interactive parts become islands with a client directive, each added for a stated reason.
Step 04
Static hosting with real redirects
We deploy static builds to hosts such as Cloudflare Pages and keep redirects in the host's own rules file, not as meta refresh pages.
Step 05
Images through astro:assets
Images go through Astro's Image and Picture components, which output modern formats in the right sizes with explicit dimensions to avoid layout shift.
Ownership
What your team owns afterwards
You own the repository, the hosting account and the CMS project. Editors change copy, images, posts and SEO fields in the CMS without touching code; new page types or layout changes go through a developer, on your team or ours. Everything is in version control, so every change is reviewable and reversible, and there is no platform you are locked into.
Performance and SEO
Pages ship as HTML with only the scripts their interactive parts need, which keeps them fast on mobile. Metadata, canonical URLs, structured data and the sitemap are generated from the content at build time, using the official @astrojs/sitemap integration. Because those are code, we check them in the build itself rather than trusting a setting.
Pairs well with
What we pair Astro with
Sanity
A headless CMS with a customisable Studio and structured content, read by Astro at build time.The official @sanity/astro integration is maintained by the Sanity team.
React
For the interactive pieces of a mostly static site, such as a configurator or a filterable list, React components run as Astro islands.
Common questions
Astro development questions
Is Astro good for SEO?
It gives you good foundations: static HTML, fast pages and full control of metadata and structured data. Rankings still depend on content, links and getting canonicals and redirects right, which become your code's responsibility.
Can editors update an Astro site without a developer?
Yes, for content. With a headless CMS such as Sanity, editors change text, images and posts and publish, and the site rebuilds. New layouts and page types still need a developer.
Why not build everything in Framer?
For most marketing sites we do, and we say so. Astro is for sites that need a code workflow, their own hosting or a shared content model, which a builder does not give you.
Where is an Astro site hosted?
Anywhere that serves static files, or on Node, Netlify, Vercel or Cloudflare through official adapters when pages render on demand. The right host depends on what else your team already runs.
Next step
Considering Astro? We will tell you honestly whether it fits.
We agree the architecture before any code is written, build in reviewable stages on staging, then test, deploy and hand over with the documentation your team needs.
- Architecture firstScope and structure agreed before any code.
- Built in reviewable stagesWorking pages on staging as the build moves.
- Handed over properlyDeployment, documentation and handover notes.

Considering Astro for your next build?
Tell us what the site or product needs to do, and we will tell you honestly whether Astro fits, before anything starts.