Astro Web Development for Fast, Search-Ready Websites
Astro web development is RAIN Design Studio's default way to build marketing and content websites: static HTML first, JavaScript only where a component needs it. The Casablanca studio runs four of its six portfolio projects on the Astro framework, from a 33-page agency site to a 215-page IT integrator site with 155 city pages.
Portfolio projects on Astro
Pages in the shi Astro build
Media Progetti pages with JSON-LD
Typical marketing site timeline
Astro web development gives you a website that is fast because there is little to slow it down. Pages are rendered to plain HTML when the site is built, served as static files, and only the components that truly need interactivity load JavaScript. RAIN Design Studio has made Astro its standard for marketing and content sites, and the site you are reading is an Astro build with English and French content.
What an Astro website is, and why we build on it
The Astro framework is an open-source JavaScript framework designed for content-driven websites. You write pages and components in .astro files, Markdown or MDX, and Astro outputs HTML and CSS. JavaScript is opt-in, per component.
For a studio that builds sites meant to be found, read and trusted, three things make an Astro website the right default:
- HTML first. Crawlers, AI answer engines and slow phones all receive complete content in the first response.
- Framework freedom. We can use React, Vue or Svelte where they help, without committing the whole site to a single-page app.
- Static hosting. A finished build is a folder of files that runs on Apache, Netlify, Vercel or Cloudflare, with no database to patch.
New to the framework? Our guide What is Astro? covers the basics without the sales pitch.
Astro web development in our portfolio
Four of RAIN’s six portfolio projects run on Astro. Together they account for 358 pages, all built and maintained by the studio.
| Project | Pages | What Astro does there |
|---|---|---|
| Origin Element | 42 | 36 SEO and GEO content pages from one content collection; build-time Open Graph cards with Satori and Sharp; llms.txt generated from site data |
| Media Progetti | 68 | 16 product pages, 11 city pages, 4 buying guides and 19 articles; Pagefind search; JSON-LD on 66 of 69 pages |
| MField & Data Insight | 33 | 4 services, 5 methodologies, 6 case studies; an interactive fieldwork cost calculator; images optimized through astro:assets |
| shi — Smart & High IT | 215 | 155 city pages across 9 Moroccan cities; React 19 islands, including a WebGL2 liquid-metal logo |
These are different businesses: an AI consultancy in London, a kitchen importer, a market-research agency and an IT integrator, all in Casablanca except the first. The common thread is a large, structured content set that has to stay fast and consistent.
Islands architecture: interactivity without the JavaScript bill
Astro is built around the islands architecture. The page is static HTML, and each interactive component is an “island” that hydrates on its own. You choose when:
client:loadhydrates immediately, for a navigation menuclient:idlewaits until the browser is idle, for a chat widgetclient:visiblewaits until the component scrolls into view, for a calculator lower down the pageclient:mediahydrates only at a given screen size, for a mobile-only drawer
On shi, the WebGL2 logo, navigation and contact form are React islands; the 215 pages around them are plain HTML. The result is a site that feels like an app where it matters and loads like a document everywhere else.
Content collections: typed content that scales
Content collections are how Astro keeps hundreds of pages consistent. Each collection has a schema written with Zod, and every Markdown entry is validated at build time. A missing meta description, a malformed date or an unknown related page fails the build instead of reaching production.
That is what makes programmatic SEO safe. Origin Element’s services, regions, industries and guides all come from one seo collection rendered by a single route. The page you are reading comes from a landing collection with a typed frontmatter for titles, FAQs and related projects, which also generates its FAQPage schema.
Static output, image optimization and Core Web Vitals
With output: 'static', every route becomes an HTML file at build time. That removes server render time from the critical path and makes Core Web Vitals easier to hold:
- LCP improves because the main content is in the HTML, and hero images can be preloaded.
- INP stays low because there is little JavaScript competing for the main thread.
- CLS stays near zero because Astro’s
<Image />and<Picture />components write width and height for every image.
astro:assets uses Sharp to resize images and output modern formats such as WebP and AVIF at build time. On MField, client logos went from 124 KB to 30 KB after conversion to WebP. On shi, all CSS is inlined in each page, so there is no render-blocking stylesheet.
On Origin Element, Lighthouse targets are enforced in CI as budgets; we report them as targets, not as marketing numbers.
Multilingual Astro sites: i18n and hreflang
Astro has built-in i18n routing: you declare a default locale and the others, and Astro helps generate localized URLs. We complete it with the parts search engines need:
hreflangalternates in the<head>and in the sitemap- one canonical per language version
- translated metadata, structured data and llms.txt entries
- language-specific content, not machine copies; shi, for example, targets
fr-MA
This studio site pairs English service pages with French pages such as our création de site web au Maroc service, linked through hreflang.
Why the Astro framework suits SEO and GEO
Search engines and AI answer engines both reward pages that are fast, clear and easy to parse. Astro makes the technical side straightforward, so the effort goes into content:
| Requirement | How we meet it in Astro |
|---|---|
| Complete HTML for crawlers | Static output, no client-side rendering of content |
| Structured data | JSON-LD generated from the same typed content as the page |
| Freshness signals | updated dates in frontmatter, shown on the page and in dateModified and sitemap lastmod |
| AI discoverability | llms.txt and llms-full.txt built from site data; AI-crawler-friendly robots.txt |
| Internal linking | Related pages declared in frontmatter and checked at build time |
That is the foundation of our generative engine optimization work. It improves eligibility; it does not guarantee rankings or citations.
How we deliver an Astro website
- Content model first. We define the collections, fields and page types before design, so the structure can carry 30 pages or 300.
- Design in Figma. One senior designer owns the system: type, color tokens, components and light and dark themes.
- Build with checks. Schemas, internal links, metadata and structured data are validated at build time, and every site ships with a sitemap, llms.txt and robots.txt.
- Launch and migrate. We deploy the static build to your host and map legacy URLs with 301 redirects, as we did when moving Media Progetti and MField off their previous sites.
Astro is not the answer for everything. A logged-in product such as an ERP or a customer portal needs an application stack; for that work we use Laravel and Vue 3.
Start your Astro website project
Whether you need a ten-page brand site or a few hundred structured pages, a free 15-minute call is the fastest way to scope it. Custom fixed-scope projects start at $10,000, a typical marketing site takes 3 to 6 weeks, and kick-off happens within 3 to 5 business days. If you also need brand and design, see our web design agency in Morocco page.
Related work
Frequently asked questions
Astro is an open-source web framework for content-driven websites such as marketing sites, documentation, blogs and catalogs. It renders pages to HTML at build time and ships no client-side JavaScript unless a component needs it. RAIN uses it for client sites ranging from 33 to 215 pages.
Astro gives search engines what they need by default: complete HTML in the first response, fast pages and full control over meta tags, canonicals and structured data. It does not rank a site by itself; content, links and technical hygiene still decide that. RAIN pairs every Astro build with JSON-LD, a sitemap and llms.txt.
Custom fixed-scope projects at RAIN Design Studio start at $10,000, which covers design and build of a marketing site. Larger programmatic builds with hundreds of pages, several languages or custom tools cost more and are quoted after discovery. A typical marketing site takes 3 to 6 weeks.
Yes. Content lives in Markdown or MDX files inside typed content collections, so anyone comfortable with a text editor can update it and the build rejects invalid entries. If your team prefers a visual editor, Astro can also load content from a headless CMS at build time.
Yes. Astro supports React, Vue, Svelte, Solid and Preact components as islands. On shi, RAIN used six React 19 islands, including a WebGL2 logo and a contact form, inside otherwise static pages.
Choose WordPress if non-technical editors need a familiar admin panel every day and plugins cover your needs. Choose Astro if speed, security and precise control over HTML and structured data matter more, and content changes are planned rather than hourly. A static Astro site has no database or admin login to attack.
Related pages
Let's build what's next.
Custom projects from $10,000, monthly plans from $7,500. Kickoff within 3–5 business days.