Next.js vs Astro for Marketing Websites in 2026
Table of contents
For a marketing website, Astro is usually the better default, and Next.js is the better choice when the site shares code with a React product or needs logged-in, per-user pages. That’s the short version of an answer we give most weeks, usually to a startup leaving Framer, Webflow or WordPress whose engineers already build the product in Next.js.
We build in both at DesignMe. Here’s how we decide, with the trade-offs that matter for a marketing site rather than an app.

The short answer
Pick Astro when most pages are the same for every visitor: home, product, pricing, case studies, comparisons, blog, docs. Pick Next.js when the site is really part of the product: shared React components, logged-in pages, personalisation, or a lot of per-user or per-request content.
If you’re not sure, look at who will change the site most often. If it’s the marketing team, Astro plus a CMS is simpler to run. If it’s the product engineers, Next.js keeps them in the stack they already know.
How each one builds a page
Astro renders every component to HTML and CSS at build time or on the server and strips client-side JavaScript by default. A component becomes interactive only when you add a client: directive, which Astro calls an island. Server islands (server:defer) let a static page load one dynamic piece, such as a pricing widget, separately. You can still use React, Vue or Svelte for the interactive parts.
Next.js is React end to end. Next.js 16, released in October 2025, made caching explicit with Cache Components and the "use cache" directive, so pages can mix static and dynamic parts. It can also export a fully static site, but static export drops features that need a server, including redirects, rewrites, headers, Incremental Static Regeneration, Server Actions and the default image optimisation.
The practical difference: with Astro, JavaScript is something you add. With Next.js, it’s something you manage.
Performance
Both can produce fast pages. The difference is how much effort it takes to keep them fast as marketing adds sections, embeds and experiments.
For context, the median mobile page shipped 558KB of JavaScript in 2024, according to the HTTP Archive’s Web Almanac, and only 48% of mobile sites passed all three Core Web Vitals in July 2025. Astro starts from zero JavaScript and grows only where you add islands. A Next.js marketing site needs a team that keeps an eye on client components and third-party scripts.
On our own site, the homepage’s first load went from 54MB on Framer to 2.67MB on the Astro staging build. That compares Framer with Astro, not Next.js with Astro, but it shows how much a content-first build can strip out.
Light HTML also helps with answer engines, since many AI crawlers don’t run JavaScript. Our AEO score tool checks how your current site reads to them.
Security and maintenance
A marketing site that is static HTML on a CDN has very little server code to attack or patch. A server-rendered site has more.
In March 2025, Next.js disclosed CVE-2025-29927, a flaw that let attackers bypass middleware, for example to reach protected routes. Self-hosted apps were affected, while static exports and sites on Vercel were not. In December 2025, the React team disclosed CVE-2025-55182, an unauthenticated remote code execution flaw in React Server Components rated 10.0 out of 10, which affected Next.js 15 and 16 apps until they were patched.
Both were patched quickly, and Next.js is still a sound choice for products. The point for a marketing site is simpler: if it doesn’t need a server, don’t give it one. Whichever you choose, someone has to own dependency updates.
Editing and CMS
Neither framework is an editor. Marketers work in a headless CMS. Sanity is our usual pick, with next-sanity on Next.js and the official @sanity/astro integration on Astro, and editors can run Sanity Studio on your own domain.
The difference is how a publish reaches the site. On Next.js, published changes can appear without a rebuild. On a static Astro site, a publish triggers a rebuild that usually takes a minute or two. Astro 6 added live content collections for pages that must update the moment content changes, so you can choose per page.
Both are also good for AI coding agents. The site is plain files, so Claude Code or Cursor can make a change and open a pull request with a preview. Astro has an official docs MCP server, and Next.js 16 added a DevTools MCP server for agents.
Hosting and running costs
Astro builds to static files that run on any host, and adapters cover server rendering on Cloudflare, Netlify, Vercel and Node. Cloudflare acquired the Astro team in January 2026 and said Astro stays open source and works with any host.
Next.js fits Vercel best and runs elsewhere too. Vercel’s Hobby plan is for personal, non-commercial use, and Pro costs $20 a month per developer seat, so a company site needs a paid plan or another host. Cloudflare Pages’ free plan includes 500 builds a month, which covers most marketing sites that rebuild on publish.
For most marketing sites, hosting is small next to the build.
| Topic | Astro | Next.js |
|---|---|---|
| How pages build | HTML and CSS, JavaScript only in islands | React end to end, static and dynamic parts mixed |
| JavaScript | Something you add | Something you manage |
| Publishing from a CMS | Rebuild in a minute or two, or live collections per page | Changes appear without a rebuild |
| Hosting | Static files on any host | Fits Vercel best, runs elsewhere |
| Server code to patch | Very little on a static site | More on a server-rendered site |
| Build with us | From $15k, 4 weeks or more | From $15k, 4 weeks or more |
When to pick Next.js
- The marketing site and the product share components, a design system or authentication.
- There are logged-in areas, account pages or gated content.
- Pages are personalised per visitor, or there are thousands of pages generated per request.
- Your engineers will own the site and already ship Next.js every day.
When to pick Astro
- Most pages are the same for every visitor.
- The marketing team publishes often through a CMS and wants pages to stay fast as they add to them.
- You want programmatic pages from data files: integrations, comparisons, industries, locations.
- You want the lowest running cost and the least server code to maintain.
This also holds outside SaaS. A hardware or industrial company with a catalogue of product and spec pages, or a DTC brand whose marketing site sits next to a store, usually wants static pages that load fast on a phone, which is where Astro is strongest.
Running both
Some teams run both, and it’s often the cleanest setup. Astro runs the main domain for marketing, blog and docs, and Next.js runs the app subdomain. They share design tokens, so visitors see one company, and the marketing site ships on its own schedule without waiting for an app release.
What we build
We build on both, and the framework doesn’t change our starting price. Coded builds on Astro or Next.js with a headless CMS start from $15k and usually take 4 weeks or more, from content model to launch, with a redirect map, a performance check and docs for your team and agents. See Astro development, Next.js development and the full ranges on our pricing page.
If you’re coming from a builder, our comparisons of Framer vs Next.js and Webflow vs Next.js cover that step, and Framer vs Astro for startups covers when to make the move. Leaving WordPress? Start with our headless migration guide and the migration paths.
DesignMe designs and builds marketing sites in Astro and Next.js for funded startups and B2B companies. If you’re choosing between them, send us your site and your product stack and we’ll reply within one business day, or book a 30-minute call with Adrian:
Sources
- Astro docs, Islands architecture (accessed 10 October 2026) (opens in a new tab)docs.astro.build
- Astro, "Astro 6" (10 March 2026) (opens in a new tab)astro.build
- Cloudflare, "Cloudflare acquires Astro to accelerate the future of high-performance web development" (16 January 2026) (opens in a new tab)cloudflare.com
- Next.js, "Next.js 16" (21 October 2025) (opens in a new tab)nextjs.org
- Next.js docs, Static exports (updated 9 August 2026) (opens in a new tab)nextjs.org
- Vercel, "Postmortem on Next.js middleware bypass" (25 March 2025) (opens in a new tab)vercel.com
- React, "Critical security vulnerability in React Server Components" (3 December 2025) (opens in a new tab)react.dev
- HTTP Archive, Web Almanac 2024, JavaScript chapter (2024) (opens in a new tab)almanac.httparchive.org
- HTTP Archive, Web Almanac 2025, Performance chapter (CrUX data from July 2025) (opens in a new tab)almanac.httparchive.org
- Vercel, Pricing (accessed 10 October 2026) (opens in a new tab)vercel.com
- Cloudflare Pages docs, Limits (accessed 10 October 2026) (opens in a new tab)developers.cloudflare.com
Press Escape to close.


