Skip to content
Sahil Durgia/ full-stack
2 min readNext.js

Why SEO Basically Requires Next.js (or Something Like It)

Google can execute JavaScript — that is not the real argument for server rendering. The real reasons are speed, reliability, and every non-Google crawler.

Next.jsSEOSSR

"Google can render JavaScript, so client-side rendering is fine for SEO" is technically true and a genuinely bad reason to skip server rendering. The real argument is more specific than that.

The actual problems with CSR-only for SEO

  • Google's JS-rendering pipeline is a separate, delayed second pass — pages can get indexed based on their initial (empty) HTML first, and re-crawled for the rendered version later, meaning a real, measurable indexing delay compared to HTML that's already complete on first response.
  • Not every crawler executes JavaScript at all — Bing's crawler has historically had weaker JS support than Google's, and this site's own /llms.txt strategy exists specifically because AI-driven search and answer engines frequently work from crawlable text, not a rendered browser session.
  • Every social platform's link-preview bot (LinkedIn, Twitter/X, Slack) reads Open Graph tags from the initial HTML response — a client-rendered page with an empty initial `<head>` frequently shows a broken or missing preview card, directly hurting the actual LinkedIn-traffic strategy this site's content plan depends on.

Why this is a Next.js post, not just an "SSR" post

The problem is real regardless of framework — plenty of tools solve it (Remix, Astro, plain server-rendered PHP). Next.js is the specific, dominant answer in the React ecosystem: SSG and SSR are first-class, built-in rendering strategies rather than something bolted on with a separate server-rendering library layered over a CSR-first React app.

What this actually looks like on this site

Every case study and blog post here is statically generated (SSG, per the previous post in this series) — complete, crawlable HTML with real content, unique metadata, and a generated Open Graph image, all present in the very first response, with zero dependency on a crawler executing JavaScript. That's not a theoretical best practice; it's the literal mechanism behind why this specific site is built the way it is.

Keep reading
Next: API routes in Next.js

Part 5 of the why-Next.js series.