---
title: "Astro Development Agency for Content Sites & Migrations"
description: "Astro development for marketing, docs and multilingual sites: pre-rendered pages, islands, a headless CMS and migrations. Our own site runs on it."
url: "https://dardo.studio/en/services/astro-development/"
language: "en"
translations: {"es":"https://dardo.studio/es/servicios/desarrollo-astro/","pt":"https://dardo.studio/pt/servicos/desenvolvimento-astro/"}
updated: "2026-10-14"
---

# Astro development: fast content sites and migrations

Astro development means building content-led websites on Astro, the open-source framework that renders pages to HTML ahead of time and sends JavaScript only to the components that need it. Dardo builds marketing, documentation and multilingual sites in Astro and moves sites to it from WordPress, Webflow and Framer. We run our own site on it, in English, Spanish and Portuguese.

By Dardo editorial team · Updated Oct 14, 2026 · 8 min read

[Get a proposal](https://dardo.studio/en/contact/?service=astro-development) · [Message us on WhatsApp](https://wa.me/573163373216?text=Hi%20Dardo%2C%20I%27d%20like%20a%20proposal%20for%3A%20Astro%20development%3A%20fast%20content%20sites%20and%20migrations)

## What an Astro project with Dardo includes

An Astro project covers everything between approved designs, ours or your team's, and a live site your editors can publish to; the proposal states which parts are included and how each is accepted.

- A content model in typed collections, read from Markdown files or a headless CMS
- Astro components for every agreed template, with no browser JavaScript unless a part needs it
- A rendering decision for each route: built ahead, rendered on request or a server island
- Responsive images, metadata, structured data, a sitemap and hreflang for each language
- Forms, draft previews and other server routes on Cloudflare Workers, Vercel, Netlify or Node
- Build checks that stop a release with broken links or invalid content

## How dardo.studio runs on Astro

We build client sites on the stack we run ourselves. dardo.studio is an Astro 7 site: every page is rendered at build time and served as static files from Cloudflare Workers, in English, Spanish and Portuguese, each with its own URLs and hreflang links. Content lives in a headless CMS, EmDash, and a published article is live two to three minutes later.

Only the draft preview renders on request: when an editor presses Preview, a Worker renders the draft in the site's design behind a signed link that expires, and never caches or indexes it. The build fails when a page links to an address that wasn't built or a required field is empty, and it writes a Markdown copy of every page for AI agents. No UI framework ships to the browser: even the WebGL artwork on the home page is plain TypeScript.

Astro also runs products that need a server on every request: [Superame](https://dardo.studio/en/work/superame/), a public ranking with verified payments that we designed and built, runs on Astro 7 in server mode on Vercel with a Postgres database.

## Static, on-demand or island: how we choose per route

Astro pre-renders every page by default and lets each route opt out, so we choose rendering route by route. Components ship as HTML without their JavaScript unless they're marked as client islands, which load on their own: at once, when the browser is idle or when they scroll into view. Islands can be React, Preact, Svelte, Vue or Solid components, so existing ones can often be reused.

__Static, on-demand or island: how we choose per route__
| Rendering choice      | What happens                                                        | When we use it                                                 |
| --------------------- | ------------------------------------------------------------------- | -------------------------------------------------------------- |
| Built ahead (default) | HTML is generated during the build and served as files              | Marketing pages, articles, case studies, documentation         |
| Client island         | One component loads its JavaScript and becomes interactive          | A calculator, a filtered directory, a map or a 3D scene        |
| Server island         | A fragment renders on the server after the rest of the page arrives | A signed-in avatar or a cart count on an otherwise static page |
| On-demand route       | The whole page renders per request through an adapter               | Draft previews, search results, account pages, payment returns |
| Live collection       | Content is fetched from its source at request time                  | Data that changes faster than the site can rebuild             |

For pages rendered on request, Astro 7's stable route caching lets a rendered page be served from cache instead of rendered again for every visitor.

## Content collections, images and page transitions

Content collections give every content type a schema, so a missing title or a malformed date stops the build instead of reaching a visitor. Entries come from Markdown in the repository or from a CMS through a loader, and Astro recommends loading them at build time whenever possible. Choosing the CMS is covered in [headless CMS development](https://dardo.studio/en/services/headless-cms-development/).

Astro's Image and Picture components generate resized versions in formats such as AVIF and WebP and set dimensions so images don't shift the layout. They only process images in the project's source folder or from domains we authorize; files in the public folder ship as they are.

For page transitions we start with the browser's native cross-document view transitions, which add animation without changing how the site works. Astro's ClientRouter turns the site into a single-page app, and page scripts then have to re-run their setup after every navigation, so we keep it for elements that must survive a page change, such as an audio player. Speed work on an existing site is scoped in [website speed optimization](https://dardo.studio/en/services/website-speed-optimization/).

## When Astro is the wrong choice

Astro is built for content-driven websites. When most screens sit behind a login and keep a lot of state in the browser, or when the editing model matters more than the code, another base fits better:

Across the web, Astro sites ship less JavaScript than most platforms; our [website platform speed report](https://dardo.studio/en/tools/website-platform-speed-report/) has the real-user numbers by country.

- A logged-in product, dashboard or editor: [Next.js development](https://dardo.studio/en/services/nextjs-development/) or [web app development](https://dardo.studio/en/services/web-app-development/)
- A marketing team that wants to lay out new pages visually without a developer: [Webflow development](https://dardo.studio/en/services/webflow-development/) or [Framer development](https://dardo.studio/en/services/framer-development/)
- A store built around Shopify's checkout and apps: [ecommerce development](https://dardo.studio/en/services/ecommerce-development/)
- A small site whose editors are productive in WordPress: our [WordPress vs custom website comparison](https://dardo.studio/en/blog/wordpress-vs-custom-website/) explains when to stay

Every pre-rendered site also carries one trade-off: content goes live after a rebuild. Minutes are fine for articles; prices that change by the minute need on-demand routes with caching.

## Moving a WordPress, Webflow or Framer site to Astro

A move to Astro is a rebuild: design and content travel, but each platform exports content its own way. Our guides cover [WordPress to Astro](https://dardo.studio/en/blog/wordpress-to-astro/), including when to keep WordPress as a headless CMS, [Webflow to Astro](https://dardo.studio/en/blog/webflow-to-astro/), including what Webflow's code export leaves out, and [Framer to Astro](https://dardo.studio/en/blog/framer-to-astro/).

The URL inventory, redirect map and search checks after launch belong to our [website migration service](https://dardo.studio/en/services/website-migration/), which runs alongside the build.

## Who owns Astro, and is it safe to build on?

Astro is open source under the MIT license, and since January 2026 the company behind it has been part of Cloudflare, with its full-time staff still working on Astro. Announcing the move on 16 January 2026, The Astro Technology Company said Astro keeps its license, open governance, roadmap and support for hosts beyond Cloudflare; official adapters cover Cloudflare, Netlify, Vercel and Node.

As of October 2026 the current major version is Astro 7, released on 22 June 2026 with a compiler rewritten in Rust and Vite 8, and the latest release is 7.3.8, from 8 October. Major versions change some behavior and come with an upgrade guide, so a [maintenance plan](https://dardo.studio/en/services/website-maintenance/) that includes dependency upgrades keeps an Astro site current.

## What does an Astro project cost?

We don't publish a price for Astro development because the framework doesn't drive the cost; templates, content and server work do. Our inquiry form offers budget ranges from under USD 5,000 to over USD 60,000, and our [pricing page](https://dardo.studio/en/pricing/) lists the starting prices we do publish. The estimate moves most with:

- Unique templates and components, which matter more than the page count
- The content source: Markdown, an existing CMS or a new one to model and set up
- Languages, each with its own URLs, metadata and reviewer
- Interactive islands, motion or 3D, each with its own performance budget
- Server work: forms, previews, search, accounts or payments
- Content and URLs to move from the current platform

At handover the repository, hosting, domain and CMS accounts are in your name, with Dardo invited as a user, so another developer or host can take over without asking us.

## Questions before you choose

**Is Astro good for SEO?**

Astro gives search engines complete HTML for every page without waiting for JavaScript, which makes a site easy to crawl and quick to load. It doesn't rank pages by itself: titles, structured data, hreflang, internal links and content still decide that. We build those into every template; keyword research and content plans belong to our SEO service.

**Can our marketing team edit an Astro site without a developer?**

Yes, through a headless CMS: editors write and publish entries, preview drafts in the site's design and add pages from existing templates. New layouts or components still need a developer, which is the main difference from Webflow or Framer, where marketers lay out pages visually.

**Can we reuse our React components in Astro?**

Usually. Astro renders React, Preact, Svelte, Vue and Solid components as plain HTML or as interactive islands. Components tied to a client-side router or to global app state need rework, so we check each one during discovery before promising reuse.

**Does Astro's move to Cloudflare lock us into Cloudflare hosting?**

No. A pre-rendered Astro site is a folder of files any static host can serve, and routes rendered on request run through official adapters for Cloudflare, Netlify, Vercel or Node. When its team joined Cloudflare, Astro said it would keep supporting other hosts. We usually deploy to Cloudflare Workers, under your account.

**Should we choose Astro or Next.js?**

Astro, when most pages are the same for every visitor: marketing pages, articles, documentation. Next.js, when one codebase must serve a logged-in product with a lot of browser state alongside its marketing pages. Astro can render on request and take payments, as Superame does, but it isn't designed around long-lived app state.

**How long does an Astro build or migration take?**

It depends on templates, content and integrations, so the proposal sets the schedule once we know them. Content readiness is usually the biggest variable: a site whose content exports cleanly moves faster than one whose pages have to be rebuilt by hand from a visual builder.

## From the blog

- [Webflow alternatives in 2026: what each one costs to run, and what it takes to move off Webflow](https://dardo.studio/en/blog/webflow-alternatives/)  
Framer, WordPress, a coded site, Wix Studio, Squarespace or HubSpot: what each costs to run a 20-page site with a blog, and what leaving Webflow takes.
- [How much does a website migration cost in 2026? Published prices by platform, site size and migration type](https://dardo.studio/en/blog/website-migration-cost/)  
What website migrations cost in 2026 from providers that publish prices, by type and site size, plus what drives a quote and what a botched move risks.
- [Webflow pricing 2026: what changes at renewal, what you'll pay and when to leave](https://dardo.studio/en/blog/webflow-pricing-2026/)  
Webflow merged its CMS and Business plans into Premium. What your site pays at renewal, with the math, and when staying beats moving to Framer or Astro.
- [Sanity vs Contentful vs Payload: the best headless CMS for your team in 2026](https://dardo.studio/en/blog/sanity-vs-contentful-vs-payload/)  
Sanity, Contentful, Payload, Strapi and Storyblok compared on hosting, previews, translations, export and real monthly cost for 5- and 12-person teams.
- [Astro vs Next.js: which to choose for a marketing site or a product in 2026](https://dardo.studio/en/blog/astro-vs-nextjs/)  
Astro for sites that look the same to every visitor, Next.js for signed-in products: rendering, JavaScript, hosting and support compared.
- [Webflow vs Framer: which to choose for a marketing site in 2026, with real costs](https://dardo.studio/en/blog/webflow-vs-framer/)  
Webflow vs Framer in 2026: who should pick which, what a 20-page site with a 300-post blog in two languages costs on each, and when to pick neither.

## Sources & further reading

Sources behind this page, with further detail from the original publishers.

- [Astro: Astro 7](https://astro.build/blog/astro-7/) · astro.build
- [GitHub, withastro/astro: astro@7.3.8 release](https://github.com/withastro/astro/releases/tag/astro%407.3.8) · github.com
- [Astro: The Astro Technology Company joins Cloudflare](https://astro.build/blog/joining-cloudflare/) · astro.build
- [Astro Docs: Islands architecture](https://docs.astro.build/en/concepts/islands/) · docs.astro.build
- [Astro Docs: On-demand rendering](https://docs.astro.build/en/guides/on-demand-rendering/) · docs.astro.build
- [Astro Docs: Content collections](https://docs.astro.build/en/guides/content-collections/) · docs.astro.build
- [Astro Docs: Images](https://docs.astro.build/en/guides/images/) · docs.astro.build
- [Astro Docs: View transitions](https://docs.astro.build/en/guides/view-transitions/) · docs.astro.build

[Dardo](https://dardo.studio/) · [Services](https://dardo.studio/en/services/) · Astro development

## Related work

[![Superame public ranking product built with Astro by Dardo](https://dardo.studio/work/superame-1.webp?v=34a51b35f537) · Delivered product / Astro · **Superame** · A public ranking with verified payments, built with Astro in server mode: every new entry can change the order. · See the project](https://dardo.studio/en/work/superame/)

## From your current site to an Astro proposal

Send the current site's address, what it runs on, its languages and who edits it. We reply with a rendering plan and what the proposal would cover.

[01 · **Read the migration guide** · WordPress to Astro, step by step](https://dardo.studio/en/blog/wordpress-to-astro/) · [02 · **See Astro in production** · Superame, on Astro 7 in server mode](https://dardo.studio/en/work/superame/) · [03 · **Request a proposal** · Send your brief directly to Dardo](https://dardo.studio/en/contact/?service=astro-development)

## Keep exploring.

- [![superame.lol — website preview](https://dardo.studio/_astro/01M4H711Q11QCMQDA10WE4A1K7_ZrTSRU.webp) · Case study · **superame.lol — web design case study**](https://dardo.studio/en/work/superame/)
- [Service · **Website migration services without losing SEO**](https://dardo.studio/en/services/website-migration/)
- [Service · **Headless CMS development: Sanity, Payload, Contentful and more**](https://dardo.studio/en/services/headless-cms-development/)

- [Service · **Website speed and Core Web Vitals optimization**](https://dardo.studio/en/services/website-speed-optimization/)
