Skip to content

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.

Build pipelineAstro
Ready to ship
  1. TypeScript and typed content
  2. A headless CMS, usually Sanity
  3. Zero JavaScript by default
  4. Static hosting with real redirects
  5. Images through astro:assets
Ready to ship

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.

The move

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

The programmatic pages

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.

Considering Astro? Book a call and we will tell you honestly whether it fits.

Book a call

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.

Tools and workflow

The stack behind the work

The tools this work runs on, grouped by the job they do. Only tools we use, never a partnership.

Framework

Content

Interactive parts

Hosting

  • CloudflarePages

Workflow

  • GitHub
  • Figma

AI

  • Claude
  • Google Gemini

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.