NEXT.JS, ASTRO, OR WORDPRESS IN 2026
A working agency decision tree across React, content-first frameworks, and the still-dominant CMS. From shipping all three every week.
The decision most teams get wrong
Next.js, Astro, or WordPress is the question I get asked most often by founders and agency clients. The answer is almost never the one they expect. The decision is not framework versus framework. The decision is intent: what are you actually building, who maintains it after launch, and what is the failure mode you can least afford. Once those three are honest, the framework choice usually picks itself.
What follows is the operator view from twelve years of shipping all three. We run WordPress, Next.js, and Astro every week at Seahawk Media, often on the same client engagement at different lifecycle stages. Each one is genuinely good software. Each one is the wrong answer for specific situations. This guide is the decision tree I actually use, not the marketing-page tour.
What each platform actually is in 2026
Next.js
Next.js is a React framework with a server-rendering layer, file-system routing, and a build system that produces static HTML, server-rendered HTML, or anything in between. The App Router model has stabilised since version 15, React Server Components are the default, and the framework is the dominant choice for greenfield React projects. Vercel ships it, Netlify and Cloudflare run it, and the ecosystem is vast.
Astro
Astro is a content-first framework that ships zero JavaScript by default and lets you sprinkle React, Vue, Svelte, or Solid components only where you need interactivity. Its sweet spot is content sites: marketing pages, blogs, documentation, brochure sites. The mental model is "HTML by default, JS where needed", which inverts the React assumption that everything is JavaScript until proven otherwise.
WordPress (classic and headless)
WordPress runs on PHP, lives in a MySQL database, and has the largest plugin ecosystem on the web. In 2026 it has two operating modes: classic (WordPress renders both backend and frontend) and headless (WordPress is the API and CMS, while Next.js, Astro, or Nuxt handle rendering). Headless WordPress is what bridges the WordPress-with-editors world and the Next.js-with-engineers world.
When Next.js is the right answer
Next.js wins for product-shaped sites. Specifically: the team is React-fluent, the product has stateful interactivity beyond a typical marketing site, the data model is custom (not a generic blog or CMS), and the engineering team will own the codebase for years.
Concrete examples from work I have shipped: a SaaS dashboard with a marketing front-door, a marketplace with login and personalised content, a developer-tools company site with deeply customised demos, a multi-tenant directory platform like HostList.io. Every one of these benefits from React Server Components, the Next.js data-fetching primitives, and the seamless transition between static marketing pages and authenticated app surfaces under the same framework.
Where Next.js gets expensive fast is content-heavy sites with non-technical editors. The CMS integration is always custom, the editorial workflow is always rebuilt, and the team that maintains it has to be permanently engineering-staffed. If your editorial team is three writers and you want them to publish without engineering involvement, Next.js is fighting the wrong fight.
When Astro is the right answer
Astro wins for content-led sites with strong design language and engineering capacity to ship clean components. Specifically: a marketing site, a documentation hub, a brochure site, a portfolio, an agency site, a blog where performance is part of the brand. The kind of site where the visitor experience is reading or scanning content, not interacting with stateful flows.
This site, gautamkhorana.com, is built on Astro. So is the marketing site for many design-led agencies and indie product launches in 2026. The argument is simple: zero default JavaScript means Lighthouse scores hit 100 effortlessly, the content model is plain markdown or Sanity or Supabase, and the build pipeline produces static HTML that survives infinite traffic on any CDN. The sites I have shipped on Astro have collectively had zero performance regressions since launch. Not few. Zero.
Where Astro is the wrong call: anything with significant authenticated user state, anything where the frontend complexity dwarfs the content complexity, anything where the team needs to be moving in React idioms across the whole codebase. Astro is excellent at being lightweight; it is the wrong tool for building a heavy product.
When WordPress is still the right answer
WordPress wins for content-led sites where editor experience matters more than rendering performance, where the plugin ecosystem solves a real problem, and where the team will not staff ongoing engineering capacity. The /guides/wordpress/ pillar covers this in full detail; the short version: if you have non-technical editors, plugin leverage matters, and total cost of ownership over three years is the deciding metric, WordPress remains the right answer for a majority of content-led sites.
Specifically: brochure sites with regular editorial updates, ecommerce sites where WooCommerce solves real regional tax complexity, membership sites where MemberPress or Restrict Content Pro provides the workflow out of the box, real estate or job board sites where a niche plugin handles ninety percent of the model, sites where the client explicitly does not want to staff a developer for ongoing changes.
When headless WordPress is the right call
Headless WordPress is the bridge architecture: keep WordPress for the editor experience and plugin ecosystem, but render the frontend with Next.js or Astro for performance and design control. It pays in a narrow but real set of cases.
It pays when: the editorial team is committed to WordPress and will not move, but the marketing site is performance-critical (high traffic, expensive ads, brand-sensitive Lighthouse scores). It pays when the design language is unusual enough that the WordPress theme layer cannot deliver, but the content model is genuinely WordPress-shaped (posts, pages, custom post types, ACF fields). It pays when the company has both editorial maturity and engineering maturity and can afford to staff both.
It does not pay when: the team has neither editorial maturity nor engineering capacity (you end up paying twice), the project is genuinely a brochure site that gets edited monthly, the budget is small enough that double-stack maintenance is unaffordable. The honest cost of running headless WordPress in 2026 is roughly 1.5x to 2x the cost of running classic WordPress over twelve months. Make sure the performance and design wins justify it.
The rendering strategy decision
Within Next.js specifically, the rendering strategy choice has more cost implications than the framework choice itself. The four options:
Static Site Generation (SSG)
All pages built at build time, served as plain HTML from the CDN. Cheapest, fastest, most secure. The right default for marketing sites and blogs. The constraint is that content changes require a full rebuild and redeploy. For sites with under a few thousand pages, this is fine. For sites with tens of thousands of pages, build times become the bottleneck.
Incremental Static Regeneration (ISR)
Pages are statically generated at build time, then revalidated on demand or on a schedule. The middle ground for content sites at scale. The catch most teams hit: ISR billing on Vercel is per-invocation, and at 91,000 pages with frequent revalidation we have seen multi-million-event months. We have an explicit "two production merges per week" rule on the Deluxe Astrology site precisely because each merge fires roughly six million ISR write events. ISR is excellent technology with a real cost curve at scale.
Server-Side Rendering (SSR)
Pages rendered on every request. The right answer for authenticated dashboards, personalised content, and anything where the page contents depend on the requesting user. The cost model is per-request CPU, which gets expensive fast on high-traffic public pages. Avoid SSR for marketing pages.
React Server Components (RSC)
The Next.js 15 default, often used in combination with the above. RSC pushes data fetching to the server and ships less JavaScript to the client. The mental model takes some adjustment but the performance and DX wins are real. Most new Next.js work in 2026 should use RSC by default.
The CMS layer decision (for headless)
If you are going headless on Next.js or Astro, the CMS layer decision is the second most consequential after the framework. The five viable options I evaluate on every project:
Sanity
My default recommendation for new headless projects. The schema-as-code approach is the cleanest content model on the market, the editor experience is genuinely good for non-technical editors, and the GROQ query language is more flexible than GraphQL for most content shapes. Pricing scales reasonably. Trade-off: less plugin ecosystem than WordPress, occasional friction on bespoke editorial workflows.
Headless WordPress (via WPGraphQL or REST)
The right answer when editor familiarity with WordPress is the primary constraint. WPGraphQL is mature in 2026 and the Faust.js stack makes Next.js integration straightforward. Cost: you maintain WordPress AND the frontend, which is the inherent overhead of bridging the two worlds.
Supabase
My choice when the content model is structured data more than long-form prose: directories, listings, programmatic-SEO sites, anything table-shaped. HostList.io runs on Supabase. Cost: Supabase is a database with content layer affordances, not a CMS in the editorial sense. Editors do not love it.
Contentful
Enterprise-tier choice with strong workflow features and locale support. Pricing scales fast at the higher tiers. Right when the team has formal content governance and budget to match.
Payload, Strapi
Self-hosted options when data residency or cost control is the primary concern. Both have meaningfully matured in 2025. Right for teams with engineering capacity who want to own the CMS layer.
Hosting and pricing reality
Where you deploy is the third decision that compounds over time. The three viable hosts:
Vercel
First-party Next.js host, smoothest developer experience, the highest pricing tier. Bandwidth and ISR invocations are the cost levers most teams miss until the bill arrives. We genuinely run sites on Vercel because the DX wins, but the cost curve is steeper than people expect. Budget for at least two times your initial estimate at any scale where ISR is in heavy use.
Netlify
Excellent for Astro and static-rendered Next.js, slightly less polished for Next.js App Router with full RSC. Pricing is more predictable than Vercel. The build minute pricing model is the lever to watch. This site runs on Netlify.
Cloudflare Pages and Workers
Best price-performance in 2026, materially cheaper than the other two at scale, the underlying network is unrivalled for global delivery. Trade-off: the deployment model and Next.js integration is less polished than Vercel. Worth choosing for cost-sensitive projects with engineering capacity to navigate the rougher edges.
The team-fit question
Pick the framework that matches the team that will maintain it. This sounds obvious. It is the single most-violated rule in framework decisions I see at Seahawk.
A team of three React engineers should not build on WordPress. A team of one PHP engineer plus three writers should not build on Next.js. A team of zero engineers and one freelance designer should not build on either: Webflow, Framer, or hosted WordPress is the right answer.
The cost of mismatched framework and team is not paid on day one. It is paid for years afterwards as the team works against the framework rather than with it. Match the technology to the operational reality.
Performance: what each platform actually delivers
Real numbers from sites I have shipped or audited in 2026, all measured at 75th percentile field data:
Static-rendered Astro
LCP under 1.0 second consistently. Initial JavaScript under 30KB on most pages. Lighthouse 100 across the board is the default outcome, not the optimisation target. The hardest tier to beat for content sites.
Static-rendered Next.js (App Router, RSC)
LCP 1.0 to 1.5 seconds on optimised sites. Initial JavaScript 80 to 150KB depending on how many client components ship. Lighthouse 90+ achievable but takes deliberate optimisation work.
ISR or SSR Next.js
LCP 1.5 to 2.5 seconds depending on cache hit rate and origin response time. Performance falls off a cliff on cold cache misses. Excellent technology for the right use case but requires active monitoring.
WordPress on managed hosting (Kinsta, WP Engine) plus Cloudflare
LCP 1.8 to 3.0 seconds typical. Lighthouse 70 to 85 with effort. Acceptable for most content sites but materially worse than the static options. The performance ceiling is real.
WordPress on shared hosting
LCP 3.5 seconds or worse. Avoid for any site where performance is part of the brief.
SEO posture across the three
All three can rank at the highest level. The 2026 SEO conversation is no longer about which framework is "more SEO friendly". It is about implementation quality.
Static rendering on Astro or Next.js gives you the cleanest indexable HTML and the fastest Core Web Vitals, both of which are ranking factors. WordPress with Yoast or Rank Math gives you the most comprehensive in-editor SEO tooling, which materially helps non-technical editors ship clean meta. Headless WordPress gives you both, at the cost of double-stack maintenance.
Where I see SEO disasters: client JavaScript-heavy Next.js sites that render core content in the browser rather than the server. Google can technically index JavaScript-rendered content but the latency, completeness, and consistency are all worse than HTML-rendered content. If SEO matters, render server-side or statically. Always.
Migration economics
Most clients ask the wrong migration question. The right one is not "can we migrate from WordPress to Next.js" but "what is the total three-year cost of each option, including the team needed to maintain it, and which delivers the metrics we actually care about".
A typical WordPress to headless Next.js migration we run at Seahawk is 25,000 to 90,000 USD depending on scope. That migration usually pays for itself within twelve months on traffic where Lighthouse scores influence ad costs or conversion rates. It does not pay for itself on a brochure site that gets two thousand monthly visitors.
The migration that more often makes sense is from WordPress on shared hosting to WordPress on Kinsta, plus a Cloudflare layer, plus a tighter plugin diet. Same platform, different operational reality, materially better performance and security at one tenth the cost of a re-platform. The right answer for most clients is not "rebuild on Next.js" but "fix the WordPress install you already have".
My honest decision tree
Here is the actual decision tree I run on every new client conversation in 2026:
If the team has zero engineering capacity and editorial is the only function: Webflow or hosted WordPress.
If the team is editorial-led with light technical support, content-heavy with plugin ecosystem needs: classic WordPress on managed hosting. Default answer.
If the team is editorial-led but performance and design are part of the brief: headless WordPress with an Astro or Next.js frontend.
If the team is engineering-led, the product is content-heavy, design language is unusual, and there is little user state: Astro with Sanity or Supabase.
If the team is engineering-led, the product has authenticated user state and stateful interactivity: Next.js with Sanity or Supabase, deployed on Vercel or Cloudflare Pages depending on cost sensitivity.
If the data model is genuinely table-shaped at scale (directories, listings, programmatic SEO): Next.js or Astro with Supabase. HostList.io is the case study here.
The bottom line
There is no single "best" framework in 2026. There is a best framework for each combination of team, content shape, and operational reality. The teams that ship well are the ones that match those three honestly. The teams that struggle are the ones that picked the framework first and tried to make their reality fit it.
Three honest tells that you are about to pick the wrong framework: you are choosing it because it is what your friends use, you are choosing it because it is on the trending list this quarter, you are choosing it because the demo on the marketing page made you feel something. None of those are good reasons. The right reason is: this matches my team, this matches my content, this matches my budget over three years.
If you want a second opinion on which is right for what you are building, we run consults at Seahawk Media. The conversation is free, the recommendation is honest, and we will sometimes tell you that the right answer is to keep your current WordPress site and fix the hosting layer because that is what the math actually says.
WHEN YOU ARE READY TO TALK
If you are mid-build on something this guide touches and want a second pair of eyes, the fastest path is a 30-minute call.
BOOK YOUR 30-MIN CALL