Blog/Technology

Astro for Marketing Sites in 2026: Speed Gains Worth the Learning Curve?

9 July 20269 min read

Astro has been around since 2021. It's not new. But in 2026, it's become the framework we reach for most often on high-content, performance-critical marketing sites — for reasons that have become clearer as the framework has matured.

Here's our honest assessment after building multiple client sites on Astro in the last 18 months.

What Astro actually is (and isn't)

Astro is a static site generator with a component architecture. Its defining feature is its "islands" architecture: by default, everything renders to plain HTML with zero JavaScript. Components that need interactivity are explicitly opted into — these are the "islands" in an otherwise static ocean.

This is a fundamentally different model than React/Next.js. In Next.js, JavaScript is everywhere by default and you opt into server-only rendering with server components. In Astro, JavaScript is nowhere by default and you opt into interactivity explicitly.

For a marketing site that's primarily text, images, and navigational structure, this distinction produces dramatic performance differences.

The performance numbers

We ran LCP and Lighthouse benchmarks on four similar marketing sites: two in Next.js (App Router, ISR, carefully optimised), two in Astro (content collections, minimal interactivity). Similar content, similar design complexity.

MetricNext.js (optimised)Astro
LCP (mobile, 4G)1.4–2.1s0.7–1.1s
INP (desktop)60–120ms25–55ms
CLS0.01–0.040.00–0.01
Lighthouse (mobile)88–9696–100
JS bundle size85–180kb0–8kb

The JavaScript bundle size difference is the clearest signal. A Next.js marketing site ships React runtime + hydration + component logic. An Astro site ships essentially nothing unless you've explicitly added interactive components.

This matters for two reasons:

Mobile performance. JavaScript parsing is CPU-intensive. On mid-range Android phones (the actual median mobile device, not your iPhone Pro), parsing 150kb of JavaScript takes 3–5 seconds on a cold load. An Astro site with 8kb JavaScript completes parsing in milliseconds.

SEO. Lighthouse scores above 95 are consistently easier to maintain with Astro. The Google crawler sees fully rendered HTML on first request, with no hydration required. This is technically equivalent to Next.js static generation but without the risk of client-side rendering fallback.

Content collections: the feature that changes editorial workflow

Astro's content collections are the main reason we've shifted toward it for content-heavy sites.

Content collections let you define typed schemas for your Markdown/MDX content:

// src/content/config.ts
import { defineCollection, z } from 'astro:content'

const blog = defineCollection({
  type: 'content',
  schema: z.object({
    title: z.string(),
    publishedAt: z.coerce.date(),
    tags: z.array(z.string()),
    category: z.enum(['Technology', 'Process', 'Strategy', 'Design']),
  }),
})

This gives you:

  • TypeScript-typed frontmatter — wrong field types are caught at build time
  • Auto-generated collection APIs for listing, filtering, and sorting
  • Automatic rendering of MDX content with component support
  • Built-in draft/published handling via frontmatter

For a blog like ours, where dozens of posts need consistent frontmatter, this is significantly better than manually importing and parsing Markdown files in Next.js.

When the learning curve is worth it

Astro's main cost is familiarity. Most developers know React. Astro has its own component syntax (.astro files), its own mental model for interactivity, and its own routing conventions. For a team that's never used it, the first project has a 1–2 week learning investment.

That investment pays off when:

The site is content-first. If you're building a site with 20+ pages, a blog, case studies, and documentation — Astro's content-first architecture is a genuine fit. The content collections, the routing, and the MDX support are all designed for this use case.

Performance is the primary brief requirement. When a client explicitly needs 95+ Lighthouse scores, sub-1s LCP, and minimal JavaScript, Astro is the fastest path there. Achieving these scores in Next.js requires significantly more deliberate optimisation.

The site has minimal dynamic features. Login flows, user-specific content, real-time data, and server-side API calls are all possible in Astro but aren't where it shines. If you have more than two or three interactive sections, evaluate carefully.

The team is willing to learn. This sounds obvious, but it's the actual gate. A team that will maintain the site post-handoff needs to be comfortable with Astro. If they're React-only, Next.js is likely the better handoff choice even if Astro would perform better.

When Next.js is still the right call

We reach for Next.js instead of Astro in these cases:

The marketing site shares components with a Next.js product. Sharing a design system, authentication logic, or API clients between a marketing site and an app is only possible if they're in the same framework.

Dynamic features are core to the brief. Personalised content, authenticated pages, real-time data, or complex form logic — these are table stakes in Next.js and add-on complexity in Astro.

The client's team is React-first. Post-launch maintenance matters. A site that the client's team can maintain and extend without hiring specifically for Astro is worth more than marginally better performance.

Timeline is very short. An experienced Next.js developer can ship a marketing site faster than learning Astro alongside building. If you have three weeks, use the stack you know deeply.

Astro in 2026: what's changed

Astro 5 (released late 2025) added several features that change the calculus for some use cases:

Server islands. Previously, mixing server-rendered and static content required careful architecture. Server islands let individual components opt into server-side rendering while the rest of the page remains static. This is the solution for the "mostly static with one dynamic section" problem.

Improved adapter ecosystem. Vercel, Netlify, Cloudflare, and Node.js adapters have all matured significantly. Deployment is no longer a primary consideration — Astro deploys reliably anywhere Next.js does.

Actions. Astro now has a first-party form handling and API action system that reduces the need to reach for Next.js for form-heavy sites.

These additions have expanded Astro's viable use case significantly. Sites that would have needed Next.js for server-side form handling or dynamic content now have a Astro-native path.

Our recommendation in 2026

For pure marketing sites (blog, case studies, static content, minimal dynamic features): Astro is our first consideration. The performance gains are measurable and the content collection system is genuinely superior.

For marketing sites with dynamic features, shared components with a product, or teams that will maintain in React: Next.js. The familiarity and ecosystem advantages outweigh Astro's performance edge.

For sites that are genuinely content-heavy and need maximum SEO performance: Astro, without hesitation.

The learning curve is real but short. If performance is the brief, it's worth it.


Building a marketing site and wondering whether Astro or Next.js is right? Start a conversation — we'll tell you which we'd pick for your specific brief and why.

Ready to start something?

We take on a small number of projects each quarter. Tell us what you're building.

Start a project
— Go further
Explore our servicesEstimate project cost
— More from the blog
Technology7 min read

TypeScript for Marketing Sites: Overkill or Essential?

The common objection is 'it's just a brochure site.' Here's why TypeScript on a marketing site pays off — through CMS integration, team handoffs, and the maintenance reality 12 months after launch.

2 Jul 2026Read
Technology12 min read

Why Isn't My Website Showing Up on Google? 10 Reasons (and How to Fix Each)

Your site isn't on Google for one of two reasons: it's too new, or it's blocked. Here's how to tell which in two minutes, plus 10 causes and fixes.

26 Jun 2026Read