Next.js gives you SSR for free, but a rendered page is not a ranking page. Search engines reward the details.
The checklist that moves the needle
- Per-route
generateMetadatawith real titles and descriptions - Open Graph + Twitter cards so links look intentional
- JSON-LD structured data for the entity type
- A real
sitemap.tsandrobots.ts
Rendering strategy
Static where you can, incremental where content changes, dynamic only when you must. This portfolio revalidates every couple of minutes — fresh enough for a CMS, cheap enough to stay fast.
export const revalidate = 120;
> Fast HTML is an SEO feature. Core Web Vitals are literally a ranking signal.
Do the boring metadata work and the rankings follow.