Astro vs Next.js for Marketing Sites: Comparison + Decision Guide

Astro for content-led marketing sites, Next.js when the site needs app logic, logins or personalization. Comparison table, 5 questions and where each breaks.

Astro for content-led marketing sites, Next.js when the site needs app logic, logins or personalization. Comparison table, 5 questions and where each breaks.

Harish Malhi - founder of Goodspeed

Harish Malhi

•

•

•

•

Calculating...

Short answer

Astro for content-led marketing sites (pages, landing pages, blog, docs): it ships little JavaScript by default and stays fast. Next.js when the site needs app logic, logins, gated content, heavy personalization, or your engineers already run Next.js. If nobody on the team writes code, stay on Framer.

Key takeaways

Astro for content-led marketing sites, Next.js when the site needs app logic or lives inside your product.

Table of Contents

Astro vs Next.js for Marketing Sites: Comparison + Decision Guide – Goodspeed Studio blog

For a marketing site, Astro is the better default. It renders pages to plain HTML, ships JavaScript only where you ask for it, and has first-class tools for blogs and docs. Choose Next.js when the site behaves like part of your product: logins, gated content, personalization, or an engineering team that already runs Next.js everywhere.

Most Astro vs Next.js comparisons are written by developers, for developers building apps. This one is for the person who has to live with the marketing site after launch: the marketing or comms lead, or the founder, who needs pages shipped fast and a site that does not slow down every quarter.

The short version

Both frameworks are good. Both can produce a fast, well-ranked marketing site. The difference is what each one assumes you are building.

Astro assumes you are publishing content. Every page is HTML first, and interactivity is something you add in small, deliberate pieces. Next.js assumes you are building an application. It is built on React, and the marketing pages share a runtime with whatever product logic sits next to them.

That one assumption drives almost every other difference below.

Astro vs Next.js: side by side


Astro

Next.js

Rendering model

Static HTML by default. Server rendering per page when needed. "Islands" hydrate only the interactive parts.

React Server Components in the App Router. Static, cached and dynamic content can be mixed in one route.

JavaScript shipped

None by default. You opt in per component.

Some React runtime on every page, plus whatever Client Components you add.

Content handling

Built-in content collections with schema validation for Markdown, MDX and CMS data. Live collections for request-time content.

No content layer built in. You fetch from a CMS or files yourself.

CMS options

Any headless CMS: Sanity, Storyblok, Contentful, Payload, Keystatic and more.

Same headless CMS options, with deep integrations for Sanity and others (including visual editing and draft previews).

Hosting

Static files anywhere, or server adapters for Cloudflare, Netlify, Vercel and Node.

Best on Vercel. Works elsewhere, but some features need extra setup off-platform. Static export works for simple sites.

Team skills

HTML, CSS and any UI framework (React, Vue, Svelte) or none. Easier for a generalist developer or agency to own.

React and Next.js-specific patterns (server vs client components, caching). Easier if your product team already uses it.

Best for

Content-led marketing sites, blogs, docs, landing pages at volume.

Sites that are part of a product: logins, gated content, personalization, dashboards next to marketing pages.

How each one renders pages (in plain terms)

Astro: HTML first, JavaScript by exception

Astro strips client-side JavaScript from components by default. A pricing table, a hero, a blog post: all of it becomes static HTML and CSS. When something needs to be interactive, like a calculator or a demo widget, a developer marks that one component as an "island" and chooses when it loads. It can load immediately, when the browser is idle, or only when it scrolls into view.

Astro also has server islands. These let a mostly static page defer one personalized piece, such as a logged-in avatar or a geo-specific banner, so the rest of the page is not held up waiting for it. Pages can be fully static, server-rendered on request, or a mix, page by page.

For content, Astro's content collections give your blog posts, case studies and docs a typed schema. If a writer forgets a required field, the build tells you before the page goes live. Live content collections, stable since Astro 6, fetch content at request time, so CMS updates can appear without a full rebuild.

Astro also supports view transitions through its client router, so page changes can animate smoothly without turning the whole site into a single-page app.

Next.js: a React app that can also be a website

Next.js uses the App Router and React Server Components. Server Components render on the server and send HTML, which keeps a lot of code out of the browser. Interactive parts become Client Components, and those ship React to the browser.

The current caching model (Cache Components, with the use cache directive) lets one route mix static, cached and fully dynamic content. Incremental Static Regeneration lets pages refresh in the background after publish. This is powerful. It is also the part of Next.js that most often confuses teams, because "why is this page showing old content?" becomes a caching question.

Next.js can export a fully static site, but you give up a lot to do it. According to the Next.js docs, static export does not support ISR, redirects, rewrites, headers, cookies, Draft Mode, Server Actions or the default image optimization. For a marketing team, losing redirects and draft previews is a real cost.

Performance, SEO and Core Web Vitals

Here is the honest version: either framework can pass Core Web Vitals. Search engines do not rank a framework. They rank pages that load fast, render content as HTML, and respond quickly when someone taps.

The difference is the default and how easy it is to drift.

  • Astro's default is lean. Because no JavaScript ships unless someone adds it, a page full of text and images starts fast and tends to stay fast. Interaction to Next Paint (INP) is rarely a problem when there is little JavaScript competing for the main thread.

  • Next.js's default is good, but heavier. Server Components help a lot, and a well-built Next.js site performs well. But every page carries a React runtime, and it is easy for Client Components, analytics tags and third-party widgets to pile up. Keeping it fast takes ongoing discipline.

Both render real HTML on the server, so crawlers and AI answer engines can read your content without running JavaScript. Both handle metadata, sitemaps and structured data well. In practice, what wrecks marketing site performance is usually the same on either stack: oversized images, too many third-party scripts, and heavy embeds. Neither framework saves you from a tag manager with 30 tags in it.

We have not included benchmark numbers here on purpose. Framework benchmarks mostly measure demo sites. Your real numbers depend on your images, scripts and hosting. Test your own pages in PageSpeed Insights and your Search Console Core Web Vitals report.

Editor experience is a CMS decision, not a framework decision

This is the point most comparisons miss. Your marketing lead will never open Astro or Next.js. They will open the CMS.

Whether editors get visual previews, reusable page sections, scheduled publishing and sensible roles depends on the headless CMS and on how well it is set up. Sanity, Storyblok, Contentful and Payload all work with both frameworks. Choose the CMS for the people who will write in it, then pick the framework for what the site needs to do.

Two practical notes. Next.js has mature draft-preview and visual-editing patterns, especially with Sanity on Vercel. Astro can do previews too, usually through server-rendered preview routes or the CMS's own tooling, but it takes a bit more setup. If live visual editing is a hard requirement for your team, raise it before you choose. We compare the options in detail in our guide to choosing a CMS for Astro, and in our Sanity CMS breakdown.

Which to pick in 5 questions

Answer these in order. The first "yes" usually decides it.

  1. Does the site need logins, gated content or per-user pages? Customer portals, member-only resources, account areas. Yes: Next.js.

  2. Does your engineering team already run Next.js and plan to own the site? If they will maintain it alongside the product, shared tooling matters more than the last bit of speed. Yes: Next.js.

  3. Is most of the site content: pages, landing pages, a blog, docs, case studies? Yes: Astro.

  4. Will marketing ship many landing pages and posts without engineering help? Then the CMS matters most, and Astro's lean pages and typed content collections make it hard to break things. Lean Astro.

  5. Is personalization light (a banner, a region switch) rather than heavy (every page different per visitor)? Light: Astro, with server islands. Heavy: Next.js.

If you are still undecided after five questions, choose Astro. It is easier to add a dynamic piece to a content site than to strip an app framework back down to a content site.

What we recommend, by situation

You are leaving Framer because you need custom logic. Typed data models, protected routes, product integrations, gated resources. We recommend Next.js with Sanity on Vercel, as we explain in moving a Framer site to code. That stack is built for logic.

You are leaving Framer because you outgrew it on content and speed. Hundreds of posts, docs, many landing pages, stricter performance targets, and no app features. Astro is the better default here. You get the speed without taking on a React application you do not need. See how we handle a Framer to Astro migration.

A funding round, launch or rebrand is about to send traffic to the site. Pick based on what the site must do in the next 12 months, not what it might do in three years. Most of these sites are content. That points to Astro.

If you want a team that builds both and will tell you which one fits, our Astro agency service covers strategy, build, CMS setup and migration. Goodspeed is an AI-native website studio that builds with the best tool for the job: Framer (we are a Framer Enterprise Partner), Astro or Next.js. 300+ products shipped, 5.0 on Clutch, 90% client retention.

Where each one breaks

Where Astro breaks

  • App-like features pile up. If the "marketing site" grows into accounts, dashboards and complex forms with state, you end up building lots of islands and server logic. At that point you are fighting the framework's content-first design.

  • Heavy, site-wide interactivity. If almost every section is an interactive React component, you lose most of Astro's JavaScript advantage.

  • Live visual editing out of the box. Possible, but expect more setup than the Next.js plus Sanity path.

Where Next.js breaks

  • Caching confusion. Stale pages after publish, or pages that are dynamic when they should be static, are common pain points. Someone on the team needs to understand the caching model.

  • Performance drift. Client Components and scripts creep in over time. Without discipline, a fast launch site gets slower every quarter.

  • Hosting lock-in pressure. Next.js runs best on Vercel. Self-hosting is possible, but features like image optimization and ISR need more work off-platform.

  • Marketing depends on engineering. If only React developers can safely change templates, every new page type becomes a ticket.

Who is behind each framework

Ownership matters when you are betting a site on a tool for years. In January 2026, Cloudflare announced it had acquired the team behind Astro and said Astro will remain open source. Next.js is built and maintained by Vercel. Both are well funded and actively developed. Practically, expect each framework to work best on its owner's platform, while still running elsewhere.

Or stay on Framer

If you do not have developers, and do not want to hire or retain them, a coded site may be the wrong move. Astro and Next.js both need a developer to change templates, update dependencies and fix builds. Framer lets a marketing team design, edit and publish without anyone touching code, and it handles hosting, performance basics and CMS in one place.

Many funded teams are better served by a well-built Framer site than by a framework they cannot maintain. If that sounds like you, talk to our Framer developers before you commit to a rebuild.

Pick the stack for the site you actually have

If your site is content, choose Astro. If your site is part of your product, choose Next.js. If nobody on the team writes code, stay on Framer and build it properly. The wrong choice is the one picked for a site you might have someday instead of the one about to get traffic next quarter.

Not sure which side you are on? We will look at your current site, your team and what is coming up, and give you a straight recommendation.

Book a 30-minute project evaluation →

Frequently asked questions

Is Astro faster than Next.js?
For content-heavy marketing pages, Astro is usually faster by default because it ships no JavaScript unless you add it. A carefully built Next.js site can also pass Core Web Vitals, but it takes more discipline to keep it there.
Is Astro or Next.js better for SEO?
Both render real HTML on the server, handle metadata well and can rank. The bigger SEO differences come from page speed, content quality and site structure, where Astro's lean default helps content sites.
Can Astro handle a blog with hundreds of posts?
Yes. Content collections give each post a typed schema, and live content collections can pull from a CMS at request time so updates appear without a full rebuild.
When should a marketing site use Next.js instead of Astro?
When it needs logins, gated content, heavy per-visitor personalization, or sits inside a product your engineers already build in Next.js. Shared tooling and app logic outweigh the speed advantage then.
Which CMS works with Astro and Next.js?
Most headless CMSs work with both, including Sanity, Storyblok, Contentful and Payload. Choose the CMS based on what your editors need, then pick the framework.
Do I need Vercel to run Next.js?
No, but Next.js runs best on Vercel. Self-hosting or using other platforms works, though features like ISR and image optimization take more setup.
Who owns Astro now?
Cloudflare announced in January 2026 that it had acquired the team behind Astro and committed to keeping Astro open source.
Should we leave Framer for Astro or Next.js?
Only if you have developers to maintain it and a real reason to move. Choose Astro if you outgrew Framer on content and speed, and Next.js with Sanity if you need custom logic or protected routes.

About the Author

About the Author

Harish Malhi - founder of Goodspeed

Harish Malhi

Founder of Goodspeed

Harish Malhi is the founder of Goodspeed. He left Google in 2019 to build his own product, and started Goodspeed to give other founders the same head start. Today the studio designs and builds websites and the whole digital experience around them for funded tech companies, at the moments that matter: a raise, a launch, a press cycle. Goodspeed is a Framer Enterprise Expert, was Bubble’s Agency of the Year in 2024, and has shipped 300+ products, including launch pages for an NVIDIA-backed AI lab and a Webby-nominated site for a Boeing-backed aviation company. It holds a 5.0 rating from 46 reviews on Clutch.