React Server Components (RSC) — components that render exclusively on the server with zero JS bundle on the client. Direct DB, filesystem, secrets access in the component (no API layer). Next.js App Router (2023+) is the flagship implementation. Async by default: you can await fetch(...) right in the component. Client components are marked with a "use client" directive.
Below: details, example, related terms, FAQ.
async function UserCard({ id }) {
const user = await db.users.findById(id);
return <div>{user.name}</div>;
}Page load speed directly impacts conversion, SEO rankings, and user satisfaction. Google uses Core Web Vitals as a ranking factor. Every extra second of load time cancost up to 7% in conversions.
Google Lighthouse-based analysis: Performance, Accessibility, Best Practices, SEO.
LCP (rendering), FID (interactivity), CLS (visual stability) — key Google metrics.
Breakdown by type: HTML, CSS, JavaScript, images, fonts. Size, request count, blocking resources.
Specific recommendations with savings estimates: image compression, caching, minification, etc.
Core Web Vitals for rankings
performance optimization
speed = conversions
performance regression
async/defer block rendering. Move to end or add attribute.Cache-Control, the browser reloads CSS/JS on every visit.loading="lazy" for images below the fold.brotli on;Cache-Control: max-age=31536000, immutable. HTML: max-age=0, s-maxage=60.<link rel="preload"> for fonts and CSS. Reduces LCP by 200-500ms.Speed check history, competitor comparison and PageSpeed monitoring.
Sign up freeSSR — HTML rendered on server, then full JS bundle hydrates. RSC — component code stays on server; client gets only a payload without JS.
Next.js (App Router) — first. Remix, TanStack Start follow. Vanilla React does not support it without a framework.
In Server Components — no (no state). In Client Components — yes (useState, useEffect, etc.).